-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemplate.js
More file actions
53 lines (40 loc) · 1.45 KB
/
template.js
File metadata and controls
53 lines (40 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Grunt template logic
var version = '1.0.0';
var description = exports.description = '一个全新的JavaScript开发流程';
exports.note = '本项目: 1.使用Rollup构建打包模块; 2.使用Uglify生成最终产品代码; 3.使用Qunit测试代码; 4.使用JShint进行代码质量验证';
exports.template = function(grunt, init, done) {
init.process({}, [
init.prompt('name', 'rollup_startkit'),
init.prompt('author', '大神'),
{
name: 'MODULENAME',
message: '你的代码库最终的全局命名空间是(比如jQuery的$)?',
default: '$/n'
},
], function(err, props) {
// processing section
props.MODULENAME = props.MODULENAME.split('/')[0];
var files = init.filesToCopy(props);
props.devDependencies = {
"babel-preset-es2015-rollup": "^1.1.1",
"qunitjs": "^2.0.0",
"rollup-watch": "^2.4.0",
"rollup-plugin-babel": "^2.6.1",
"rollup-plugin-json": "^2.0.1",
"rollup-plugin-uglify": "^1.0.1",
"uglify-js": "^2.7.0",
}
// package.json meta data
props.version = version;
props.description = description;
props.scripts = {
"jshint": "jshint --verbose build/bundle.js --config jshintrc.config.json",
"build": "rollup -c --watch",
"start": "live-server --port=52233 --ignore=\"build, node_modules\""
};
init.copyAndProcess(files, props);
// 生成package.json文件
init.writePackageJSON('package.json', props);
done();
});
};