refactor bundle scripts

master
Evgeny Poberezkin 2016-02-08 20:12:04 +00:00
parent fa6b702db0
commit 56f4ae4406
4 changed files with 44 additions and 13 deletions

View File

@ -16,11 +16,11 @@
"test-fast": "AJV_FAST_TEST=true npm run test-spec",
"test-debug": "mocha spec/*.spec.js --debug-brk -R spec",
"test-cov": "istanbul cover -x '**/spec/**' node_modules/mocha/bin/_mocha -- spec/*.spec.js -R spec",
"bundle": "mkdir -p dist && browserify -r ./lib/ajv.js:ajv -o dist/ajv.bundle.js -s Ajv && uglifyjs dist/ajv.bundle.js -o dist/ajv.min.js -c pure_getters -m --source-map dist/ajv.min.js.map -r Ajv --preamble \"/* Ajv JSON-schema validator $(./scripts/version) */\"",
"bundle-regenerator": "mkdir -p dist && browserify -r ./node_modules/regenerator/main.js:regenerator -o dist/regenerator.bundle.js && uglifyjs dist/regenerator.bundle.js -o dist/regenerator.min.js -c -m --source-map dist/regenerator.min.js.map --preamble \"/* regenerator $(./scripts/version regenerator) */\"",
"bundle-nodent": "mkdir -p dist && browserify -r ./node_modules/nodent/nodent.js:nodent -o dist/nodent.bundle.js && uglifyjs dist/nodent.bundle.js -o dist/nodent.min.js -c -m --source-map dist/nodent.min.js.map --preamble \"/* nodent $(./scripts/version nodent) */\"",
"bundle-beautify": "mkdir -p dist && browserify -r ./node_modules/js-beautify/js/index.js:js-beautify -o dist/js-beautify.bundle.js && uglifyjs dist/js-beautify.bundle.js -o dist/js-beautify.min.js -c -m --source-map dist/js-beautify.min.js.map --preamble \"/* js-beautify $(./scripts/version js-beautify) */\"",
"bundle": "./scripts/bundle . Ajv pure_getters",
"bundle-regenerator": "./scripts/bundle regenerator",
"bundle-nodent": "./scripts/bundle nodent",
"bundle-all": "npm run bundle && npm run bundle-regenerator && npm run bundle-nodent",
"bundle-beautify": "./scripts/bundle js-beautify",
"build": "node scripts/compile-dots.js",
"test-browser": "npm run bundle-all && scripts/prepare-tests && karma start --single-run --browsers PhantomJS",
"test": "npm run jshint && npm run eslint && npm run build && npm run test-cov && npm run test-browser",

30
scripts/bundle Executable file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -e
package=$1
standalone=$2
compress=$3
name=$(./scripts/info $package name)
main=$(./scripts/info $package main)
version=$(./scripts/info $package version)
description=$(./scripts/info $package description)
if [ "$package" != "." ]; then
package="./node_modules/$package"
fi
mkdir -p dist
browserify -r "$package/$main:$name" \
-o "dist/$name.bundle.js" \
$([ -n "$standalone" ] && echo "-s $standalone")
uglifyjs dist/$name.bundle.js \
-o dist/$name.min.js \
-c $compress \
-m \
--source-map dist/$name.min.js.map \
$([ -n "$standalone" ] && echo "-r $standalone") \
--preamble "/* $name $version: $description */"

10
scripts/info Executable file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env node
'use strict';
var fs = require('fs');
var name = process.argv[2] || '.';
var property = process.argv[3] || 'version';
if (name != '.') name = 'node_modules/' + name;
var json = JSON.parse(fs.readFileSync(name + '/package.json', 'utf8'));
console.log(json[property]);

View File

@ -1,9 +0,0 @@
#!/usr/bin/env node
'use strict';
var fs = require('fs');
var name = process.argv[2];
name = name ? 'node_modules/' + name : '.';
var json = JSON.parse(fs.readFileSync(name + '/package.json', 'utf8'));
console.log(json.version);