Skip to content

Commit d732eb7

Browse files
committed
added build and release scripts
1 parent 0c0a80e commit d732eb7

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

build/build.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
var fs = require('fs');
2+
var rollup = require('rollup');
3+
var uglify = require('uglify-js');
4+
var babel = require('rollup-plugin-babel');
5+
var package = require('../package.json');
6+
var banner =
7+
"/*!\n" +
8+
" * vue-formly v" + package.version + "\n" +
9+
" * https://github.com/matt-sanders/vue-formly\n" +
10+
" * Released under the MIT License.\n" +
11+
" */\n";
12+
13+
rollup.rollup({
14+
entry: 'src/index.js',
15+
plugins: [
16+
babel({
17+
presets: ['es2015-loose-rollup']
18+
})
19+
]
20+
})
21+
.then(function (bundle) {
22+
return write('dist/vue-formly.js', bundle.generate({
23+
format: 'umd',
24+
banner: banner,
25+
moduleName: 'VueFormly'
26+
}).code, bundle);
27+
})
28+
.then(function (bundle) {
29+
return write('dist/vue-formly.min.js',
30+
banner + '\n' + uglify.minify('dist/vue-formly.js').code,
31+
bundle);
32+
})
33+
.then(function (bundle) {
34+
return write('dist/vue-formly.es2015.js', bundle.generate({
35+
banner: banner,
36+
//footer: 'export { Url, Http, Resource };'
37+
}).code, bundle);
38+
})
39+
.then(function (bundle) {
40+
return write('dist/vue-formly.common.js', bundle.generate({
41+
format: 'cjs',
42+
banner: banner
43+
}).code, bundle);
44+
})
45+
.catch(logError);
46+
47+
function write(dest, code, bundle) {
48+
return new Promise(function (resolve, reject) {
49+
fs.writeFile(dest, code, function (err) {
50+
if (err) return reject(err);
51+
console.log(blue(dest) + ' ' + getSize(code));
52+
resolve(bundle);
53+
});
54+
});
55+
}
56+
57+
function getSize(code) {
58+
return (code.length / 1024).toFixed(2) + 'kb';
59+
}
60+
61+
function logError(e) {
62+
console.log(e);
63+
}
64+
65+
function blue(str) {
66+
return '\x1b[1m\x1b[34m' + str + '\x1b[39m\x1b[22m';
67+
}

build/release.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var replace = require('replace-in-file');
2+
var version = process.argv[2];
3+
4+
replace({
5+
files: "bower.json",
6+
replace: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
7+
with: "$1" + version + "$2"
8+
});
9+
10+
replace({
11+
files: "package.json",
12+
replace: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
13+
with: "$1" + version + "$2"
14+
});
15+
16+
replace({
17+
files: "README.md",
18+
replace: /(\/|@)\d+\.\d+\.\d+/g,
19+
with: "$1" + version
20+
});

0 commit comments

Comments
 (0)