Merge pull request #20 from snorpey/npm-scripts

add npm script support
This commit is contained in:
georg fischer 2016-08-30 21:50:26 +02:00 committed by GitHub
commit f77b131ee9
4 changed files with 92 additions and 59 deletions

View File

@ -10,9 +10,9 @@ module.exports = function( grunt ) {
options: {
name: 'lib/almond',
include: 'glitcher',
baseUrl: '../scripts/',
mainConfigFile: '../scripts/glitcher.js',
out: '../production/glitcher.min.js',
baseUrl: 'scripts/',
mainConfigFile: 'scripts/glitcher.js',
out: 'production/glitcher.min.js',
wrap: true
}
}
@ -22,7 +22,7 @@ module.exports = function( grunt ) {
cssmin: {
production: {
files: {
'../production/glitcher.min.css': [ '../styles/glitcher.css' ]
'production/glitcher.min.css': [ 'styles/glitcher.css' ]
}
}
},
@ -37,14 +37,14 @@ module.exports = function( grunt ) {
},
files: [ {
expand: true,
cwd: '../',
cwd: './',
src: 'images/icon/*.svg',
dest: '../production/'
dest: 'production/'
}, {
expand: true,
cwd: '../',
cwd: './',
src: 'images/logos/*.svg',
dest: '../production/'
dest: 'production/'
} ]
}
},
@ -68,17 +68,17 @@ module.exports = function( grunt ) {
},
production: {
files: [
{ src: '../serviceworker.js', dest: '../production/serviceworker.min.js' },
{ src: '../scripts/workers/glitchworker.js', dest: '../production/glitchworker.min.js' },
{ src: 'serviceworker.js', dest: 'production/serviceworker.min.js' },
{ src: 'scripts/workers/glitchworker.js', dest: 'production/glitchworker.min.js' },
{ src: [
'../scripts/lib/localforage.nopromises.js',
'../scripts/lib/md5.js',
'../scripts/workers/storageworker.js'
], dest: '../production/storageworker.min.js' },
'scripts/lib/localforage.nopromises.js',
'scripts/lib/md5.js',
'scripts/workers/storageworker.js'
], dest: 'production/storageworker.min.js' },
{ src: [
'../scripts/lib/localforage.nopromises.js',
'../scripts/workers/settingsworker.js'
], dest: '../production/settingsworker.min.js' }
'scripts/lib/localforage.nopromises.js',
'scripts/workers/settingsworker.js'
], dest: 'production/settingsworker.min.js' }
]
}
},
@ -88,39 +88,39 @@ module.exports = function( grunt ) {
productionTextBasedFiles: {
options: { processContent: updateContent },
files: [
{ src: '../index.html', dest: '../production/index.html' },
{ src: '../manifest.json', dest: '../production/manifest.json' },
{ src: '../.gitignore', dest: '../production/.gitignore' },
{ src: '../LICENSE', dest: '../production/LICENSE' },
{ src: 'index.html', dest: 'production/index.html' },
{ src: 'manifest.json', dest: 'production/manifest.json' },
{ src: '.gitignore', dest: 'production/.gitignore' },
{ src: 'LICENSE', dest: 'production/LICENSE' },
{
expand: true,
cwd: '../',
cwd: './',
src: [ 'lang/*.json' ],
dest: '../production/'
dest: 'production/'
},
// copying these files 'in place' to apply updateContent function
// that updates some of the paths in the minified files
{ src: '../production/glitcher.min.js', dest: '../production/glitcher.min.js' },
{ src: '../production/serviceworker.min.js', dest: '../production/serviceworker.min.js' },
{ src: '../production/storageworker.min.js', dest: '../production/storageworker.min.js' },
{ src: '../production/settingsworker.min.js', dest: '../production/settingsworker.min.js' },
{ src: '../production/glitcher.min.css', dest: '../production/glitcher.min.css' }
{ src: 'production/glitcher.min.js', dest: 'production/glitcher.min.js' },
{ src: 'production/serviceworker.min.js', dest: 'production/serviceworker.min.js' },
{ src: 'production/storageworker.min.js', dest: 'production/storageworker.min.js' },
{ src: 'production/settingsworker.min.js', dest: 'production/settingsworker.min.js' },
{ src: 'production/glitcher.min.css', dest: 'production/glitcher.min.css' }
]
},
productionBinaryFiles: {
files: [ {
expand: true,
cwd: '../',
cwd: './',
src: [ 'images/*.jpg' ],
dest: '../production/'
dest: 'production/'
}, {
expand: true,
cwd: '../',
cwd: './',
src: [ 'images/logos/*.png' ],
dest: '../production/'
dest: 'production/'
},
{ src: '../favicon.ico', dest: '../production/favicon.ico' } ]
{ src: 'favicon.ico', dest: 'production/favicon.ico' } ]
}
},
@ -151,7 +151,7 @@ module.exports = function( grunt ) {
removeScriptTypeAttributes: true
},
files: [ {
src: '../production/index.html', dest: '../production/index.html'
src: 'production/index.html', dest: 'production/index.html'
} ]
}
},
@ -159,7 +159,7 @@ module.exports = function( grunt ) {
// replace javscript and css paths when copying files
function updateContent ( content, path ) {
if ( path === '../index.html' ) {
if ( path === 'index.html' ) {
content = content
.replace( 'styles/glitcher.css', 'glitcher.min.css' )
.replace( 'scripts/lib/require.js', 'glitcher.min.js' )
@ -167,14 +167,14 @@ module.exports = function( grunt ) {
.replace( "scriptEl.setAttribute( 'data-main', 'scripts/glitcher.js' );", '' );
}
if ( path === '../production/glitcher.min.js' ) {
if ( path === 'production/glitcher.min.js' ) {
content = content
.replace( 'scripts/workers/glitchworker.js', 'glitchworker.min.js' )
.replace( 'scripts/workers/storageworker.js', 'storageworker.min.js' )
.replace( 'scripts/workers/settingsworker.js', 'settingsworker.min.js' );
}
if ( path === '../production/serviceworker.min.js' ) {
if ( path === 'production/serviceworker.min.js' ) {
content = content
.replace( /v\d+(.?\d*)+::/g, 'b' + Date.now() + '::' ) // 'v1.0.1::'' -> 'b{timestamp}'
.replace( 'styles/glitcher.css', 'glitcher.min.css' )
@ -184,15 +184,15 @@ module.exports = function( grunt ) {
.replace( 'scripts/workers/settingsworker.js', 'settingsworker.min.js' );
}
if ( path === '../production/storageworker.min.js' || '../production/settingsworker.min.js' ) {
if ( path === 'production/storageworker.min.js' || 'production/settingsworker.min.js' ) {
content = content.replace( /,importScripts\(.*\),/, ',' ); // replaces importScripts
}
if ( path === '../production/glitcher.min.css' ) {
if ( path === 'production/glitcher.min.css' ) {
content = content.replace( /\.\.\/images\//gi, 'images/' ); // replaces importScripts
}
if ( path === '../manifest.json' ) {
if ( path === 'manifest.json' ) {
content = content.replace( 'serviceworker.js', 'serviceworker.min.js' );
}

View File

@ -16,8 +16,8 @@ if you're a developer and just interested in the code for the glitch effect, the
third party code used in this experiment
---
* [localforage](https://github.com/mozilla/localForage) by [mozilla](https://github.com/mozilla), Apache License 2.0
* [requirejs](http://requirejs.org/), by [jrburke](jrburke), BSD & MIT license
* [almond](https://github.com/jrburke/almond), by [jrburke](jrburke), BSD & MIT license
* [requirejs](http://requirejs.org/), by [jrburke](https://github.com/jrburke), BSD & MIT license
* [almond](https://github.com/jrburke/almond), by [jrburke](https://github.com/jrburke), BSD & MIT license
* [javascript-md5](https://blueimp.github.io/JavaScript-MD5/), by [blueimp](https://github.com/blueimp), MIT license
* [reqwest](https://github.com/ded/reqwest/), by [ded](https://github.com/ded), MIT license
* [glitch-canvas](https://github.com/snorpey/glitch-canvas/), by [snorpey](https://github.com/snorpey), MIT license
@ -45,8 +45,19 @@ build script
---
the build script takes care of concatenating and minifying all scripts and styles. it uses [gruntjs](http://gruntjs.com/).
please make sure that both [nodejs](http://nodejs.org/) and grunt-cli are [set up properly](http://gruntjs.com/getting-started) on your machine.
please make sure that both [nodejs](http://nodejs.org/) and [npm](http://npmjs.com) are set up properly] on your machine.
run ```npm install``` from within the ```build/``` folder to install the dependencies of the build script.
run ```npm install``` to install the dependencies of the build script.
to build, run ```npm run build``` the optimized files will get copied to the ```production/``` folder.
missing somehing?
---
found a bug? missing a feature? instructions unclear? are you using this tool in an interesting project? maybe have a look at the [issues](../../issues), open a pull request and let me know. thanks!
most importantly
---
thank you for taking a look at this repo. have a great day :)
to build, run ```grunt production``` from within the ```build/``` folder. the optimized files will get copied to the ```production/``` folder.

View File

@ -1,14 +0,0 @@
{
"name": "distort-grid-build",
"version": "0.0.1",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-cssmin": "~0.6.1",
"grunt-contrib-htmlmin": "~0.6.0",
"grunt-contrib-imagemin": "~0.3.0",
"grunt-contrib-requirejs": "~0.4.1",
"grunt-contrib-uglify": "^0.11.0",
"grunt-svgmin": "^3.1.0"
}
}

36
package.json Normal file
View File

@ -0,0 +1,36 @@
{
"name": "jpg-glitch",
"version": "1.0.1",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "^1.0.1",
"grunt-contrib-htmlmin": "^2.0.0",
"grunt-contrib-imagemin": "^1.0.1",
"grunt-contrib-requirejs": "^1.0.0",
"grunt-contrib-uglify": "^2.0.0",
"grunt-svgmin": "^3.3.0"
},
"scripts": {
"build": "grunt"
},
"description": "glitch images with jpg encoding",
"repository": {
"type": "git",
"url": "git+https://github.com/snorpey/jpg-glitch.git"
},
"keywords": [
"glitch",
"jpg",
"image manipulation",
"image processing",
"image",
"jpeg"
],
"author": "georg fischer",
"license": "MIT",
"bugs": {
"url": "https://github.com/snorpey/jpg-glitch/issues"
},
"homepage": "http://snorpey.github.io/jpg-glitch/"
}