Reputation: 667
I am developing a reusable component (module) for AngularJS which can be used to enable offline features of applications built with AngularJS.
To achieve client side storage features without re-inventing the wheel, I decided to use this good library provided by Google called Lovefield, which works as,
A cross-browser, SQL-like, relational query engine for Web in pure JavaScript.
I know how to wrap this library with angularjs by creating custom directives, services etc. inside my module. But my question is,
When distributing my module, do I need to include the Javascript code for lovefiled inside my own module code Or Should I ask the developer to include it by himself using <script>
tags inside his html
? What is the recommended way to do this? (It is apparent that both methods can be used)
I went through some of the 3rd party angular modules here, but cannot figure out what is the recommended way of doing this.
Upvotes: 4
Views: 553
Reputation: 734
I know that this is not exactly what you've meant, but.. I've already done the same thing "wrap this library with angularjs by creating custom directives, services etc."
I used bower to distribute the module (called ng-lovefield) and added lovefield as a dependency in the bower.json file, I suggest that if you wish to create a new module you do the same (no matter what kind of package manager you choose - npm \ bower)
Including the actual <script>
in the html
is the task runner responsibility such as grunt or gulp, you can use grunt-wiredep to inject all your bower dependencies automaticly to your html.
If you do not wish to use task runner for some reason I guess that you have to do it manually.
Upvotes: -2
Reputation: 2266
you should ask the developer to add the <script>
tag
you should have a package.json file which indicates what depenedencies you have like that -
{
"name": "angular-lovefield",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "youre-name",
"license": "ISC",
"dependencies": {
"lovefield": 1.0.0.1
}
}
you can create this file using the npm init
command
good luck.
Upvotes: 1