1 |
|
2 |
|
3 |
|
4 | "use strict";
|
5 |
|
6 | const stringcase = require('stringcase'),
|
7 | _tmpl = require('./_tmpl'),
|
8 | pkg = require('../package.json'),
|
9 | path = require('path');
|
10 |
|
11 |
|
12 | function _bud(type, name, params) {
|
13 | let tmpl = _tmpl(type, name);
|
14 | return {
|
15 | force: false,
|
16 | mode: '644',
|
17 | mkdirp: true,
|
18 | path: params.filename || ((dirname, basename)=> {
|
19 | let suffix = params.suffix,
|
20 | prefix = params.prefix,
|
21 | extname = params.extname || '.jsx';
|
22 | if (prefix) {
|
23 | basename = [prefix, basename].join('_');
|
24 | }
|
25 | if (suffix) {
|
26 | basename = [basename, suffix].join('_');
|
27 | }
|
28 | return `${dirname}/${stringcase.snakecase(basename)}${extname}`;
|
29 | })(path.dirname(name), path.basename(name)),
|
30 | tmpl: tmpl,
|
31 | data: {
|
32 | params: params,
|
33 | name: path.basename(name),
|
34 | base: params.base || name.replace(/^\./, '').split('/').map(()=>'..').join('/'),
|
35 | type: type,
|
36 | generator: 'coz',
|
37 | today: new Date().toLocaleDateString(),
|
38 | pkg: pkg
|
39 | }
|
40 | }
|
41 | }
|
42 |
|
43 | module.exports = _bud; |
\ | No newline at end of file |