grunt-google-cdn
Advanced tools
Comparing version 0.1.4 to 0.2.0
@@ -14,10 +14,15 @@ 'use strict'; | ||
] | ||
}, | ||
nodeunit: { | ||
tests: ['test/*_test.js'] | ||
} | ||
}); | ||
grunt.loadTasks('tasks'); | ||
grunt.loadNpmTasks('grunt-contrib-jshint'); | ||
grunt.loadNpmTasks('grunt-contrib-nodeunit'); | ||
grunt.loadTasks('tasks'); | ||
grunt.registerTask('default', ['jshint']); | ||
grunt.registerTask('test', ['nodeunit']); | ||
grunt.registerTask('default', ['jshint', 'test']); | ||
}; |
@@ -0,1 +1,2 @@ | ||
'use strict'; | ||
var replacements = exports.replacements = {}; | ||
@@ -22,3 +23,3 @@ var versions = exports.versions = {}; | ||
replacements[item] = { | ||
from: 'components/' + item + '/' + item + '.js', | ||
from: item + '/' + item + '.js', | ||
to: function (version) { | ||
@@ -36,4 +37,4 @@ return '//ajax.googleapis.com/ajax/libs/angularjs/' + version + '/' + item + '.min.js'; | ||
versions.jquery = ['2.0.0', '1.9.1', '1.9.0', '1.8.3', '1.8.2', '1.8.1', '1.8.0', '1.7.2', '1.7.1', '1.7.0', '1.6.4', '1.6.3', '1.6.2', '1.6.1', '1.6.0', '1.5.2', '1.5.1', '1.5.0', '1.4.4', '1.4.3', '1.4.2', '1.4.1', '1.4.0', '1.3.2', '1.3.1', '1.3.0', '1.2.6', '1.2.3']; | ||
replacements['jquery'] = { | ||
from: 'components/jquery/jquery.js', | ||
replacements.jquery = { | ||
from: 'jquery/jquery.js', | ||
to: function (version) { | ||
@@ -40,0 +41,0 @@ return '//ajax.googleapis.com/ajax/libs/jquery/' + version + '/jquery.min.js'; |
{ | ||
"name": "grunt-google-cdn", | ||
"version": "0.1.4", | ||
"version": "0.2.0", | ||
"description": "Grunt task for replacing refs to resources on the Google CDN", | ||
"main": "Gruntfile.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"test": "grunt test" | ||
}, | ||
"devDependencies": { | ||
"grunt": "~0.4.0", | ||
"grunt-contrib-jshint": "~0.1.1" | ||
"grunt-contrib-jshint": "~0.4.3", | ||
"proxyquire": "~0.4.1", | ||
"grunt-contrib-nodeunit": "~0.1.2" | ||
}, | ||
"dependencies": { | ||
"semver": "~1.1.3", | ||
"bower": "~0.9.2" | ||
}, | ||
"repository": { | ||
@@ -23,6 +29,3 @@ "type": "git", | ||
"author": "Brian Ford", | ||
"license": "BSD", | ||
"dependencies": { | ||
"semver": "~1.1.3" | ||
} | ||
"license": "BSD" | ||
} |
@@ -1,5 +0,63 @@ | ||
# grunt-google-cdn | ||
Grunt task for replacing refs to resources on the Google CDN | ||
# grunt-google-cdn [![Build Status](https://travis-ci.org/btford/grunt-google-cdn.png)](https://travis-ci.org/btford/grunt-google-cdn) | ||
Grunt task for replacing refs to resources on the Google CDN | ||
## Getting Started | ||
This plugin requires Grunt `~0.4.0` | ||
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: | ||
```shell | ||
npm install grunt-google-cdn | ||
``` | ||
It manages dependencies using [Bower](http://bower.io/), be sure to have it installed, and a bower.json/component.json in your project. | ||
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: | ||
```js | ||
grunt.loadNpmTasks('grunt-google-cdn'); | ||
``` | ||
Run this task with the `grunt cdnify` command. | ||
### Configuration | ||
Within your Gruntfile.js file, you need to specify the html directory that contains the html referencing your CDN files. | ||
```js | ||
cdnify: { | ||
dist: { | ||
html: ['app/*.html'] | ||
} | ||
} | ||
``` | ||
You will need a valid bower.json/component.json file in your project, that has dependencies and a version listed accordingly | ||
```json | ||
{ | ||
"name": "myAwesomeApp", | ||
"version": "0.0.1", | ||
"dependencies": { | ||
"rsvp": "*", | ||
"carve": ">=0.0.1", | ||
"es5-shim": "~2.0.8", | ||
"optimist" : "0.2.x" | ||
} | ||
``` | ||
If any updates are found, it will go through the files you specified, updating any references to those scripts. | ||
## Release History | ||
* 2013-04-24 v0.1.4 removed the extra s in component.json | ||
* 2013-04-22 v0.1.3 Made 'components.json' configurable via bowerrc, added unstable AngularJS and jQuery 2.0.0 | ||
* 2013-04-07 v0.1.2 update available AngularJS versions, add .jshintrc | ||
* 2013-02-24 v0.1.0 add support for versions, hositing to avoid conflicts with usemin | ||
* 2013-02-18 v0.0.1 Initial Commit | ||
--- | ||
## License | ||
BSD |
'use strict'; | ||
var semver = require('semver'); | ||
var fs = require('fs'); | ||
var hoist = require('../util/hoist.js'); | ||
var hoist = require('../util/hoist'); | ||
var bower = require('../util/bower'); | ||
@@ -16,22 +16,6 @@ | ||
function readBowerJson() { | ||
var bowerrc = {}; | ||
var componentsFilename; | ||
// Read bowerrc first, if present | ||
if (fs.existsSync('.bowerrc')) { | ||
bowerrc = grunt.file.readJSON('.bowerrc'); | ||
} | ||
// If bowerrc defines a 'json' attribute, use that | ||
componentsFilename = bowerrc.json || 'component.json'; | ||
return grunt.file.readJSON(componentsFilename); | ||
} | ||
grunt.registerMultiTask('cdnify', 'replace scripts with refs to the Google CDN', function () { | ||
var options = this.options(); | ||
// collect files | ||
var files = grunt.file.expand({ filter: 'isFile' }, this.data.html); | ||
var dest = options.dest; | ||
var compJson = readBowerJson(); | ||
var compJson = bower.readJson(grunt); | ||
@@ -53,2 +37,3 @@ grunt.log | ||
var versionStr = compJson.dependencies[name] || compJson.devDependencies[name]; | ||
var from; | ||
if (!versionStr) { | ||
@@ -59,3 +44,4 @@ return; | ||
if (version) { | ||
content = content.replace(rep.from, rep.to(version)); | ||
from = bower.joinComponent(rep.from); | ||
content = content.replace(from, rep.to(version)); | ||
} | ||
@@ -62,0 +48,0 @@ }); |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
9670
11
198
2
64
0
2
4
+ Addedbower@~0.9.2
+ Addedabbrev@1.0.9(transitive)
+ Addedajv@6.12.6(transitive)
+ Addedansi@0.3.1(transitive)
+ Addedansi-styles@1.0.0(transitive)
+ Addedarchy@0.0.2(transitive)
+ Addedargparse@1.0.10(transitive)
+ Addedasn1@0.2.6(transitive)
+ Addedassert-plus@1.0.0(transitive)
+ Addedasync@0.2.10(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedaws4@1.13.2(transitive)
+ Addedbcrypt-pbkdf@1.0.2(transitive)
+ Addedbinary@0.3.0(transitive)
+ Addedblock-stream@0.0.9(transitive)
+ Addedbower@0.9.2(transitive)
+ Addedbuffers@0.1.1(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedchainsaw@0.1.0(transitive)
+ Addedchalk@0.4.0(transitive)
+ Addedcolors@0.6.2(transitive)
+ Addedcombined-stream@1.0.8(transitive)
+ Addedconfig-chain@0.3.4(transitive)
+ Addedconfigstore@0.3.2(transitive)
+ Addedcore-util-is@1.0.21.0.3(transitive)
+ Addeddashdash@1.14.1(transitive)
+ Addeddelayed-stream@1.0.0(transitive)
+ Addedecc-jsbn@0.1.2(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedextsprintf@1.3.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedforever-agent@0.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedfstream@0.1.31(transitive)
+ Addedgetpass@0.1.7(transitive)
+ Addedglob@3.1.21(transitive)
+ Addedgraceful-fs@1.1.141.2.33.0.12(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhas-color@0.1.7(transitive)
+ Addedhogan.js@2.0.0(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedinherits@1.0.22.0.4(transitive)
+ Addedini@1.0.5(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedisarray@0.0.1(transitive)
+ Addedisstream@0.1.2(transitive)
+ Addedjs-yaml@3.14.1(transitive)
+ Addedjsbn@0.1.1(transitive)
+ Addedjson-schema@0.4.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsprim@1.4.2(transitive)
+ Addedlodash@1.0.2(transitive)
+ Addedlru-cache@2.0.42.7.3(transitive)
+ Addedmatch-stream@0.0.1(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedminimatch@0.2.14(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.3.50.5.6(transitive)
+ Addedmute-stream@0.0.8(transitive)
+ Addednatives@1.1.6(transitive)
+ Addednopt@2.0.0(transitive)
+ Addednpmlog@0.1.1(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedobject-assign@2.1.1(transitive)
+ Addedoptimist@0.3.7(transitive)
+ Addedos-homedir@1.0.2(transitive)
+ Addedos-tmpdir@1.0.2(transitive)
+ Addedosenv@0.1.5(transitive)
+ Addedover@0.0.5(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpromptly@0.1.0(transitive)
+ Addedproto-list@1.2.4(transitive)
+ Addedpsl@1.15.0(transitive)
+ Addedpullstream@0.4.1(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedrc@0.0.8(transitive)
+ Addedread@1.0.7(transitive)
+ Addedread-package-json@0.1.13(transitive)
+ Addedreadable-stream@1.0.34(transitive)
+ Addedrequest@2.11.42.88.2(transitive)
+ Addedrimraf@2.0.3(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsemver@2.3.2(transitive)
+ Addedsetimmediate@1.0.5(transitive)
+ Addedsigmund@1.0.1(transitive)
+ Addedslice-stream@1.0.0(transitive)
+ Addedslide@1.1.6(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedsshpk@1.18.0(transitive)
+ Addedstable@0.1.8(transitive)
+ Addedstring_decoder@0.10.31(transitive)
+ Addedstrip-ansi@0.1.1(transitive)
+ Addedtar@0.1.20(transitive)
+ Addedtmp@0.0.33(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtraverse@0.3.9(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedtweetnacl@0.14.5(transitive)
+ Addedunzip@0.1.7(transitive)
+ Addedupdate-notifier@0.1.10(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addeduser-home@1.1.1(transitive)
+ Addeduuid@2.0.33.4.0(transitive)
+ Addedverror@1.10.0(transitive)
+ Addedwordwrap@0.0.3(transitive)
+ Addedxdg-basedir@1.0.1(transitive)