generator-folklore 3.0.3 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/generators/app/index.js +3 -51
- package/lib/generators/babel/index.js +28 -101
- package/lib/generators/babel/templates/config.js +16 -0
- package/lib/generators/browserslist/index.js +4 -9
- package/lib/generators/build/index.js +40 -29
- package/lib/generators/cli/index.js +92 -0
- package/lib/generators/cli/templates/cli.js +22 -0
- package/lib/generators/cli/templates/commands/default.js +16 -0
- package/lib/generators/docs/index.js +1 -2
- package/lib/generators/editorconfig/index.js +12 -22
- package/lib/generators/eslint/index.js +12 -13
- package/lib/generators/{html → html-project}/index.js +60 -73
- package/lib/generators/{html → html-project}/templates/folklore.png +0 -0
- package/lib/generators/{html → html-project}/templates/gitignore +0 -0
- package/lib/generators/{html → html-project}/templates/index.html.ejs +4 -1
- package/lib/generators/laravel/index.js +5 -5
- package/lib/generators/lerna-package/index.js +1 -3
- package/lib/generators/lerna-repository/index.js +1 -3
- package/lib/generators/node-project/index.js +164 -0
- package/lib/generators/{js/templates/src/lib/.gitkeep → node-project/templates/index.js} +0 -0
- package/lib/generators/npm-package/index.js +3 -5
- package/lib/generators/prettier/index.js +19 -6
- package/lib/generators/prettier/templates/prettierrc.json +3 -1
- package/lib/generators/{js → react-app}/index.js +22 -52
- package/lib/generators/{js → react-app}/templates/_package.json +0 -0
- package/lib/generators/react-app/templates/index.js +22 -0
- package/lib/generators/react-app/templates/src/components/App.jsx +42 -0
- package/lib/generators/react-app/templates/src/components/Routes.jsx +43 -0
- package/lib/generators/{js → react-app}/templates/src/components/buttons/Button.jsx +4 -18
- package/lib/generators/react-app/templates/src/components/layouts/Main.jsx +27 -0
- package/lib/generators/react-app/templates/src/components/menus/Menu.jsx +62 -0
- package/lib/generators/{js → react-app}/templates/src/components/pages/Error.jsx +8 -12
- package/lib/generators/react-app/templates/src/components/pages/Home.jsx +32 -0
- package/lib/generators/{js → react-app}/templates/src/components/partials/PageMeta.jsx +11 -11
- package/lib/generators/{js → react-app}/templates/src/contexts/KeysContext.jsx +0 -0
- package/lib/generators/{js/templates/styles → react-app/templates/src/lib}/.gitkeep +0 -0
- package/lib/generators/{js → react-app}/templates/src/lib/PropTypes.js +0 -0
- package/lib/generators/{js → react-app}/templates/src/lib/utils.js +0 -0
- package/lib/generators/react-app/templates/src/polyfills/index.js +6 -0
- package/lib/generators/react-app/templates/src/polyfills/intl-en.js +2 -0
- package/lib/generators/react-app/templates/src/polyfills/intl-fr.js +2 -0
- package/lib/generators/react-app/templates/src/polyfills/should.js +14 -0
- package/lib/generators/react-app/templates/styles/.gitkeep +0 -0
- package/lib/generators/{js/templates/styles/buttons/button.scss → react-app/templates/styles/buttons/button.module.scss} +1 -0
- package/lib/generators/{js/templates/styles/layouts/main.scss → react-app/templates/styles/layouts/main.module.scss} +0 -0
- package/lib/generators/{js/templates/styles/menus/menu.scss → react-app/templates/styles/menus/menu.module.scss} +0 -0
- package/lib/generators/{js/templates/styles/pages/error.scss → react-app/templates/styles/pages/error.module.scss} +0 -0
- package/lib/generators/{js/templates/styles/pages/home.scss → react-app/templates/styles/pages/home.module.scss} +0 -0
- package/lib/generators/rollup/index.js +54 -0
- package/lib/generators/rollup/templates/config.js +47 -0
- package/lib/generators/scss/index.js +3 -16
- package/lib/generators/scss/templates/{main.scss → styles.scss} +0 -0
- package/lib/generators/server/index.js +81 -0
- package/lib/generators/server/templates/server.js +59 -0
- package/lib/generators/storybook/index.js +1 -7
- package/lib/generators/stylelint/index.js +13 -14
- package/lib/lib/utils.js +17 -0
- package/package.json +2 -2
- package/lib/generators/babel/templates/babel-preset-react.js +0 -7
- package/lib/generators/babel/templates/babel-preset.js +0 -57
- package/lib/generators/babel/templates/babelrc +0 -5
- package/lib/generators/babel/templates/utils/processScss.js +0 -10
- package/lib/generators/babel/templates/utils/transformRequireIgnore.js +0 -80
- package/lib/generators/html/templates/index.js +0 -9
- package/lib/generators/html/templates/root.js +0 -23
- package/lib/generators/html/templates/utils.js +0 -7
- package/lib/generators/js/templates/browserslistrc +0 -9
- package/lib/generators/js/templates/config.js +0 -33
- package/lib/generators/js/templates/index.js +0 -41
- package/lib/generators/js/templates/src/actions/LayoutActions.js +0 -12
- package/lib/generators/js/templates/src/actions/SiteActions.js +0 -22
- package/lib/generators/js/templates/src/components/App.jsx +0 -52
- package/lib/generators/js/templates/src/components/Root.jsx +0 -70
- package/lib/generators/js/templates/src/components/layouts/Main.jsx +0 -52
- package/lib/generators/js/templates/src/components/menus/Menu.jsx +0 -60
- package/lib/generators/js/templates/src/components/messages/Success.jsx +0 -36
- package/lib/generators/js/templates/src/components/pages/Home.jsx +0 -32
- package/lib/generators/js/templates/src/components/partials/Label.jsx +0 -32
- package/lib/generators/js/templates/src/reducers/LayoutReducer.js +0 -32
- package/lib/generators/js/templates/src/reducers/SiteReducer.js +0 -36
- package/lib/generators/js/templates/src/reducers/index.js +0 -7
- package/lib/generators/js/templates/src/vendor/polyfills/intl-en.js +0 -2
- package/lib/generators/js/templates/src/vendor/polyfills/intl-fr.js +0 -2
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
4
|
+
|
|
3
5
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
4
6
|
|
|
5
7
|
var _path = _interopRequireDefault(require("path"));
|
|
6
8
|
|
|
7
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
-
|
|
9
9
|
var _generator = _interopRequireDefault(require("../../lib/generator"));
|
|
10
10
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
|
|
13
|
-
module.exports = class
|
|
13
|
+
module.exports = class HTMLProjectGenerator extends _generator.default {
|
|
14
14
|
// The name `constructor` is important here
|
|
15
15
|
constructor(...args) {
|
|
16
16
|
super(...args);
|
|
@@ -18,21 +18,11 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
18
18
|
type: String,
|
|
19
19
|
required: false
|
|
20
20
|
});
|
|
21
|
-
this.option('path', {
|
|
22
|
-
type: String,
|
|
23
|
-
desc: 'Path for the html project',
|
|
24
|
-
defaults: './'
|
|
25
|
-
});
|
|
26
21
|
this.option('src-path', {
|
|
27
22
|
type: String,
|
|
28
23
|
desc: 'Path for source',
|
|
29
24
|
defaults: './src'
|
|
30
25
|
});
|
|
31
|
-
this.option('tmp-path', {
|
|
32
|
-
type: String,
|
|
33
|
-
desc: 'Path for temp files',
|
|
34
|
-
defaults: './.tmp'
|
|
35
|
-
});
|
|
36
26
|
this.option('dest-path', {
|
|
37
27
|
type: String,
|
|
38
28
|
desc: 'Path for build',
|
|
@@ -43,26 +33,11 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
43
33
|
desc: 'Path for the javascript',
|
|
44
34
|
defaults: ''
|
|
45
35
|
});
|
|
46
|
-
this.option('
|
|
47
|
-
type: String,
|
|
48
|
-
desc: 'Path for the css',
|
|
49
|
-
defaults: 'css'
|
|
50
|
-
});
|
|
51
|
-
this.option('scss-path', {
|
|
36
|
+
this.option('styles-path', {
|
|
52
37
|
type: String,
|
|
53
38
|
desc: 'Path for the scss',
|
|
54
39
|
defaults: 'styles'
|
|
55
40
|
});
|
|
56
|
-
this.option('images-path', {
|
|
57
|
-
type: String,
|
|
58
|
-
desc: 'Path for the images',
|
|
59
|
-
defaults: 'img'
|
|
60
|
-
});
|
|
61
|
-
this.option('build-path', {
|
|
62
|
-
type: String,
|
|
63
|
-
desc: 'Path for the build tools',
|
|
64
|
-
defaults: 'build'
|
|
65
|
-
});
|
|
66
41
|
this.option('server', {
|
|
67
42
|
type: Boolean,
|
|
68
43
|
defaults: false,
|
|
@@ -70,7 +45,12 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
70
45
|
});
|
|
71
46
|
this.option('server-path', {
|
|
72
47
|
type: String,
|
|
73
|
-
desc: 'Path for the node.js server'
|
|
48
|
+
desc: 'Path for the node.js server',
|
|
49
|
+
defaults: ''
|
|
50
|
+
});
|
|
51
|
+
this.option('server-filename', {
|
|
52
|
+
type: String,
|
|
53
|
+
desc: 'Filename for the node.js server'
|
|
74
54
|
});
|
|
75
55
|
|
|
76
56
|
this.srcPath = filePath => this.destinationPath(_path.default.join(this.options['src-path'], filePath));
|
|
@@ -84,7 +64,7 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
84
64
|
}
|
|
85
65
|
|
|
86
66
|
console.log(_chalk.default.yellow('\n----------------------'));
|
|
87
|
-
console.log('HTML Generator');
|
|
67
|
+
console.log('HTML Project Generator');
|
|
88
68
|
console.log(_chalk.default.yellow('----------------------\n'));
|
|
89
69
|
},
|
|
90
70
|
|
|
@@ -110,64 +90,75 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
110
90
|
}
|
|
111
91
|
|
|
112
92
|
configuring() {
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const jsPath = _lodash.default.get(this.options, 'js-path');
|
|
124
|
-
|
|
125
|
-
const jsSrcPath = _path.default.join(projectPath, srcPath, jsPath);
|
|
93
|
+
const {
|
|
94
|
+
'project-name': projectName,
|
|
95
|
+
'src-path': srcPath,
|
|
96
|
+
'dest-path': destPath,
|
|
97
|
+
'js-path': jsPath,
|
|
98
|
+
'styles-path': stylesPath,
|
|
99
|
+
'server-path': serverPath,
|
|
100
|
+
'server-filename': serverFilename
|
|
101
|
+
} = this.options;
|
|
126
102
|
|
|
127
|
-
const
|
|
103
|
+
const jsSrcPath = _path.default.join(srcPath, jsPath);
|
|
128
104
|
|
|
129
|
-
const
|
|
105
|
+
const stylesSrcPath = _path.default.join(srcPath, stylesPath);
|
|
130
106
|
|
|
131
|
-
const
|
|
107
|
+
const serverSrcPath = _path.default.join(srcPath, serverPath);
|
|
132
108
|
|
|
133
|
-
this.composeWith('folklore:
|
|
134
|
-
'
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
'skip-install':
|
|
109
|
+
this.composeWith('folklore:prettier', {
|
|
110
|
+
'skip-install': true,
|
|
111
|
+
quiet: true
|
|
112
|
+
});
|
|
113
|
+
this.composeWith('folklore:eslint', {
|
|
114
|
+
'skip-install': true,
|
|
115
|
+
quiet: true
|
|
116
|
+
});
|
|
117
|
+
this.composeWith('folklore:stylelint', {
|
|
118
|
+
'skip-install': true,
|
|
119
|
+
quiet: true
|
|
120
|
+
});
|
|
121
|
+
this.composeWith('folklore:browserslist', {
|
|
122
|
+
'skip-install': true,
|
|
139
123
|
quiet: true
|
|
140
124
|
});
|
|
141
125
|
this.composeWith('folklore:editorconfig', {
|
|
142
126
|
quiet: true
|
|
143
127
|
});
|
|
128
|
+
this.composeWith('folklore:react-app', {
|
|
129
|
+
'project-name': projectName,
|
|
130
|
+
path: jsSrcPath,
|
|
131
|
+
stylesPath: stylesSrcPath,
|
|
132
|
+
'skip-install': true,
|
|
133
|
+
quiet: true
|
|
134
|
+
});
|
|
144
135
|
this.composeWith('folklore:scss', {
|
|
145
136
|
'project-name': projectName,
|
|
146
|
-
path:
|
|
137
|
+
path: stylesSrcPath,
|
|
147
138
|
react: true,
|
|
148
|
-
'skip-install':
|
|
139
|
+
'skip-install': true,
|
|
149
140
|
quiet: true
|
|
150
141
|
});
|
|
151
142
|
|
|
152
143
|
if (this.options.server) {
|
|
153
144
|
this.composeWith('folklore:server', {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
'skip-install':
|
|
145
|
+
path: serverSrcPath,
|
|
146
|
+
filename: serverFilename,
|
|
147
|
+
'skip-install': true,
|
|
157
148
|
quiet: true
|
|
158
149
|
});
|
|
159
150
|
}
|
|
160
151
|
|
|
152
|
+
console.log(srcPath, jsSrcPath, _path.default.join(jsSrcPath, 'index.js'), _path.default.join(srcPath, 'index.html.ejs'));
|
|
161
153
|
this.composeWith('folklore:build', {
|
|
162
|
-
path: buildPath,
|
|
163
154
|
'src-path': srcPath,
|
|
164
|
-
'entry-path': _path.default.join(
|
|
155
|
+
'entry-path': _path.default.join(jsSrcPath, 'index.js'),
|
|
165
156
|
'html-path': _path.default.join(srcPath, 'index.html.ejs'),
|
|
166
157
|
'build-path': destPath,
|
|
167
158
|
'empty-path': destPath,
|
|
168
159
|
copy: true,
|
|
169
160
|
'copy-path': _path.default.join(srcPath, '*.{html,ico,txt,png}'),
|
|
170
|
-
'skip-install':
|
|
161
|
+
'skip-install': true,
|
|
171
162
|
quiet: true
|
|
172
163
|
});
|
|
173
164
|
}
|
|
@@ -196,18 +187,6 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
196
187
|
this.fs.copy(srcPath, destPath);
|
|
197
188
|
},
|
|
198
189
|
|
|
199
|
-
data() {
|
|
200
|
-
const srcPath = this.templatePath('root.js');
|
|
201
|
-
const destPath = this.srcPath('data/root.js');
|
|
202
|
-
this.fs.copy(srcPath, destPath);
|
|
203
|
-
},
|
|
204
|
-
|
|
205
|
-
utils() {
|
|
206
|
-
const srcPath = this.templatePath('utils.js');
|
|
207
|
-
const destPath = this.srcPath('lib/utils.js');
|
|
208
|
-
this.fs.copy(srcPath, destPath);
|
|
209
|
-
},
|
|
210
|
-
|
|
211
190
|
gitignore() {
|
|
212
191
|
const srcPath = this.templatePath('gitignore');
|
|
213
192
|
const destPath = this.destinationPath('.gitignore');
|
|
@@ -217,4 +196,12 @@ module.exports = class HTMLGenerator extends _generator.default {
|
|
|
217
196
|
};
|
|
218
197
|
}
|
|
219
198
|
|
|
199
|
+
async install() {
|
|
200
|
+
if (this.options['skip-install']) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
await this.spawnCommand('npm', ['install']);
|
|
205
|
+
}
|
|
206
|
+
|
|
220
207
|
};
|
|
File without changes
|
|
File without changes
|
|
@@ -250,7 +250,7 @@ module.exports = class LaravelGenerator extends _generator.default {
|
|
|
250
250
|
project_name: this.options['project-name']
|
|
251
251
|
}).replace(/^(http)?(s)?(:\/\/)?/, 'http$2://');
|
|
252
252
|
|
|
253
|
-
this.composeWith('folklore:
|
|
253
|
+
this.composeWith('folklore:react-app', {
|
|
254
254
|
'project-name': this.options['project-name'],
|
|
255
255
|
path: jsSrcPath,
|
|
256
256
|
'styles-path': stylesSrcPath,
|
|
@@ -341,11 +341,11 @@ module.exports = class LaravelGenerator extends _generator.default {
|
|
|
341
341
|
},
|
|
342
342
|
|
|
343
343
|
packageJSON() {
|
|
344
|
-
const jsonPath = this.destinationPath('package.json');
|
|
345
344
|
const packageJSON = this.fs.exists(jsonPath) ? this.fs.readJSON(jsonPath) : {};
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
345
|
+
this.packageJson.merge(_objectSpread(_objectSpread({}, packageJSON), {}, {
|
|
346
|
+
scripts: {},
|
|
347
|
+
devDependencies: {}
|
|
348
|
+
}));
|
|
349
349
|
},
|
|
350
350
|
|
|
351
351
|
composerJSON() {
|
|
@@ -160,7 +160,6 @@ module.exports = class LernaPackageGenerator extends _generator.default {
|
|
|
160
160
|
type
|
|
161
161
|
} = this.options;
|
|
162
162
|
const srcPath = this.templatePath('_package.json');
|
|
163
|
-
const destPath = this.packagePath('package.json');
|
|
164
163
|
const packageJSON = this.fs.readJSON(srcPath);
|
|
165
164
|
packageJSON.name = this.options['package-name'];
|
|
166
165
|
|
|
@@ -177,8 +176,7 @@ module.exports = class LernaPackageGenerator extends _generator.default {
|
|
|
177
176
|
};
|
|
178
177
|
}
|
|
179
178
|
|
|
180
|
-
|
|
181
|
-
this.fs.writeJSON(destPath, _lodash.default.merge(packageJSON, currentPackageJSON));
|
|
179
|
+
this.packageJson.merge(packageJSON);
|
|
182
180
|
},
|
|
183
181
|
|
|
184
182
|
webpackConfig() {
|
|
@@ -164,11 +164,9 @@ module.exports = class LernaRepositoryGenerator extends _generator.default {
|
|
|
164
164
|
|
|
165
165
|
packageJSON() {
|
|
166
166
|
const srcPath = this.templatePath('_package.json');
|
|
167
|
-
const destPath = this.destinationPath('package.json');
|
|
168
167
|
const packageJSON = this.fs.readJSON(srcPath);
|
|
169
168
|
packageJSON.name = this.options['project-name'];
|
|
170
|
-
|
|
171
|
-
this.fs.writeJSON(destPath, _lodash.default.merge(packageJSON, currentPackageJSON));
|
|
169
|
+
this.packageJson.merge(packageJSON);
|
|
172
170
|
},
|
|
173
171
|
|
|
174
172
|
jest() {
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
4
|
+
|
|
5
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
6
|
+
|
|
7
|
+
var _path = _interopRequireDefault(require("path"));
|
|
8
|
+
|
|
9
|
+
var _generator = _interopRequireDefault(require("../../lib/generator"));
|
|
10
|
+
|
|
11
|
+
var _utils = require("../../lib/utils");
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
|
|
15
|
+
module.exports = class NodeProjectGenerator extends _generator.default {
|
|
16
|
+
// The name `constructor` is important here
|
|
17
|
+
constructor(...args) {
|
|
18
|
+
super(...args);
|
|
19
|
+
this.argument('project-name', {
|
|
20
|
+
type: String,
|
|
21
|
+
required: false
|
|
22
|
+
});
|
|
23
|
+
this.option('src-path', {
|
|
24
|
+
type: String,
|
|
25
|
+
desc: 'Path for source',
|
|
26
|
+
defaults: './src'
|
|
27
|
+
});
|
|
28
|
+
this.option('dest-path', {
|
|
29
|
+
type: String,
|
|
30
|
+
desc: 'Path for build',
|
|
31
|
+
defaults: './dist'
|
|
32
|
+
});
|
|
33
|
+
this.option('html-path', {
|
|
34
|
+
type: String,
|
|
35
|
+
desc: 'Path for the HTML',
|
|
36
|
+
defaults: './web'
|
|
37
|
+
});
|
|
38
|
+
this.option('server-path', {
|
|
39
|
+
type: String,
|
|
40
|
+
desc: 'Path for the server',
|
|
41
|
+
defaults: ''
|
|
42
|
+
});
|
|
43
|
+
this.option('cli-path', {
|
|
44
|
+
type: String,
|
|
45
|
+
desc: 'Path for the cli',
|
|
46
|
+
defaults: ''
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
this.srcPath = filePath => this.destinationPath(_path.default.join(this.options['src-path'], filePath));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
get prompting() {
|
|
53
|
+
return {
|
|
54
|
+
welcome() {
|
|
55
|
+
if (this.options.quiet) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
console.log(_chalk.default.yellow('\n----------------------'));
|
|
60
|
+
console.log('Node Project Generator');
|
|
61
|
+
console.log(_chalk.default.yellow('----------------------\n'));
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
prompts() {
|
|
65
|
+
const prompts = [];
|
|
66
|
+
|
|
67
|
+
if (!this.options['project-name']) {
|
|
68
|
+
prompts.push(_generator.default.prompts.project_name);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!prompts.length) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return this.prompt(prompts).then(answers => {
|
|
76
|
+
if (answers['project-name']) {
|
|
77
|
+
this.options['project-name'] = answers['project-name'];
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
configuring() {
|
|
86
|
+
const {
|
|
87
|
+
'project-name': projectName,
|
|
88
|
+
'src-path': srcPath,
|
|
89
|
+
'dest-path': destPath,
|
|
90
|
+
'html-path': htmlPath,
|
|
91
|
+
'server-path': serverPath,
|
|
92
|
+
'cli-path': cliPath
|
|
93
|
+
} = this.options;
|
|
94
|
+
|
|
95
|
+
const htmlSrcPath = _path.default.join(srcPath, htmlPath);
|
|
96
|
+
|
|
97
|
+
const serverSrcPath = _path.default.join(srcPath, serverPath);
|
|
98
|
+
|
|
99
|
+
const cliSrcPath = _path.default.join(srcPath, cliPath);
|
|
100
|
+
|
|
101
|
+
this.composeWith('folklore:html-project', {
|
|
102
|
+
'skip-install': true,
|
|
103
|
+
quiet: true,
|
|
104
|
+
'project-name': projectName,
|
|
105
|
+
'src-path': htmlSrcPath,
|
|
106
|
+
'dest-path': destPath
|
|
107
|
+
});
|
|
108
|
+
this.composeWith('folklore:server', {
|
|
109
|
+
'skip-install': true,
|
|
110
|
+
quiet: true,
|
|
111
|
+
path: serverSrcPath
|
|
112
|
+
});
|
|
113
|
+
this.composeWith('folklore:cli', {
|
|
114
|
+
'skip-install': true,
|
|
115
|
+
quiet: true,
|
|
116
|
+
path: cliSrcPath
|
|
117
|
+
});
|
|
118
|
+
this.composeWith('folklore:rollup', {
|
|
119
|
+
'skip-install': true,
|
|
120
|
+
quiet: true
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
get writing() {
|
|
125
|
+
return {
|
|
126
|
+
index() {
|
|
127
|
+
this.fs.copyTpl(this.templatePath('index.js'), this.srcPath('index.js'));
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
packageJson() {
|
|
131
|
+
const {
|
|
132
|
+
'src-path': srcPath,
|
|
133
|
+
'html-path': htmlPath,
|
|
134
|
+
'server-path': serverPath
|
|
135
|
+
} = this.options;
|
|
136
|
+
|
|
137
|
+
const webEntryPath = _path.default.join(srcPath, htmlPath, 'index.js');
|
|
138
|
+
|
|
139
|
+
const serverEntryPath = _path.default.join(srcPath, serverPath, 'server.js');
|
|
140
|
+
|
|
141
|
+
const scripts = {
|
|
142
|
+
'build:web': `flklr build --load-env ${(0, _utils.ensureLeadingDotSlash)(webEntryPath)}`,
|
|
143
|
+
'build:rollup': `rollup --config rollup.config.js`,
|
|
144
|
+
'build': 'npm run build:web && npm run build:rollup',
|
|
145
|
+
'server': `babel-node ${(0, _utils.ensureLeadingDotSlash)(serverEntryPath)}`,
|
|
146
|
+
'start': `flklr serve --load-env ${(0, _utils.ensureLeadingDotSlash)(webEntryPath)}`
|
|
147
|
+
};
|
|
148
|
+
this.packageJson.merge({
|
|
149
|
+
scripts
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
async install() {
|
|
157
|
+
if (this.options['skip-install']) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
await this.spawnCommand('npm', ['install']);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
};
|
|
File without changes
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
4
|
+
|
|
3
5
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
4
6
|
|
|
5
7
|
var _path = _interopRequireDefault(require("path"));
|
|
6
8
|
|
|
7
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
-
|
|
9
9
|
var _generator = _interopRequireDefault(require("../../lib/generator"));
|
|
10
10
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -225,11 +225,9 @@ module.exports = class NpmPackageGenerator extends _generator.default {
|
|
|
225
225
|
|
|
226
226
|
packageJSON() {
|
|
227
227
|
const srcPath = this.templatePath('_package.json');
|
|
228
|
-
const destPath = this.destinationPath('package.json');
|
|
229
228
|
const packageJSON = this.fs.readJSON(srcPath);
|
|
230
229
|
packageJSON.name = this.options['package-name'];
|
|
231
|
-
|
|
232
|
-
this.fs.writeJSON(destPath, _lodash.default.merge(packageJSON, currentPackageJSON));
|
|
230
|
+
this.packageJson.merge(packageJSON);
|
|
233
231
|
}
|
|
234
232
|
|
|
235
233
|
};
|
|
@@ -22,14 +22,27 @@ module.exports = class PrettierGenerator extends _generator.default {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
writing() {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
get writing() {
|
|
26
|
+
return {
|
|
27
|
+
prettierrc() {
|
|
28
|
+
const srcPath = this.templatePath('prettierrc.json');
|
|
29
|
+
const destPath = this.destinationPath('.prettierrc.json');
|
|
30
|
+
this.fs.copy(srcPath, destPath);
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
dependencies() {
|
|
34
|
+
this.addDevDependencies(['prettier', '@prettier/plugin-php', '@trivago/prettier-plugin-sort-imports']);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
};
|
|
29
38
|
}
|
|
30
39
|
|
|
31
|
-
install() {
|
|
32
|
-
this.
|
|
40
|
+
async install() {
|
|
41
|
+
if (this.options['skip-install']) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
await this.spawnCommand('npm', ['install']);
|
|
33
46
|
}
|
|
34
47
|
|
|
35
48
|
};
|
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
"printWidth": 100,
|
|
3
3
|
"singleQuote": true,
|
|
4
4
|
"trailingComma": "all",
|
|
5
|
-
"tabWidth": 4
|
|
5
|
+
"tabWidth": 4,
|
|
6
|
+
"importOrder": ["<THIRD_PARTY_MODULES>", "^[./](.*)?\/(utils|hooks|lib)", "^[./].*(?<!(\\.[a-z]+))$", "\\.scss$", "\\.[a-z]+$"],
|
|
7
|
+
"importOrderSeparation": true
|
|
6
8
|
}
|