innetjs 1.8.2 → 1.8.3
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/bin/innet +92 -92
- package/index.es6.js +1 -1
- package/index.js +91 -91
- package/package.json +19 -19
- package/templates/be/README.md +1 -1
- package/templates/be/package.json +2 -2
- package/templates/be/src/controller/index.tsx +7 -0
- package/templates/be/src/declaration.d.ts +4 -0
- package/templates/be/src/index.tsx +2 -2
- package/templates/be/src/view/App/App.css +12 -0
- package/templates/be/src/view/App/App.tsx +15 -0
- package/templates/be/src/view/App/index.ts +1 -0
- package/templates/be/src/view/Page/Page.css +7 -0
- package/templates/be/src/view/Page/Page.tsx +24 -0
- package/templates/be/src/view/Page/index.ts +1 -0
- package/templates/be/src/view/index.ts +2 -0
- package/templates/be/tsconfig.json +0 -4
- package/templates/fe/package.json +1 -1
- package/templates/be/src/App.tsx +0 -7
package/bin/innet
CHANGED
|
@@ -75,15 +75,15 @@ const readline = require('readline');
|
|
|
75
75
|
const execAsync = util.promisify(exec);
|
|
76
76
|
require('dotenv').config();
|
|
77
77
|
function getFile(file) {
|
|
78
|
-
file = path__default[
|
|
79
|
-
if (!fs__default[
|
|
78
|
+
file = path__default["default"].resolve(file);
|
|
79
|
+
if (!fs__default["default"].existsSync(file)) {
|
|
80
80
|
throw Error('Cannot find the file: ' + file);
|
|
81
81
|
}
|
|
82
|
-
if (fs__default[
|
|
82
|
+
if (fs__default["default"].lstatSync(file).isDirectory()) {
|
|
83
83
|
let tmpFile = file;
|
|
84
|
-
if (!fs__default[
|
|
85
|
-
!fs__default[
|
|
86
|
-
!fs__default[
|
|
84
|
+
if (!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.ts')) &&
|
|
85
|
+
!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.tsx')) &&
|
|
86
|
+
!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.js'))) {
|
|
87
87
|
throw Error('Cannot find index file in: ' + file);
|
|
88
88
|
}
|
|
89
89
|
file = tmpFile;
|
|
@@ -91,17 +91,17 @@ function getFile(file) {
|
|
|
91
91
|
else if (!file.endsWith('.ts') && !file.endsWith('.tsx') && !file.endsWith('.js')) {
|
|
92
92
|
throw Error('File should has `.ts` or `.tsx` or `.js` extension: ' + file);
|
|
93
93
|
}
|
|
94
|
-
if (!fs__default[
|
|
94
|
+
if (!fs__default["default"].existsSync(file)) {
|
|
95
95
|
throw Error('Cannot find the file: ' + file);
|
|
96
96
|
}
|
|
97
97
|
return file;
|
|
98
98
|
}
|
|
99
99
|
class InnetJS {
|
|
100
|
-
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', publicFolder = process.env.PUBLIC_FOLDER || 'public', buildFolder = process.env.BUILD_FOLDER || path__default[
|
|
101
|
-
this.projectFolder = path__default[
|
|
102
|
-
this.publicFolder = path__default[
|
|
103
|
-
this.buildFolder = path__default[
|
|
104
|
-
this.srcFolder = path__default[
|
|
100
|
+
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', publicFolder = process.env.PUBLIC_FOLDER || 'public', buildFolder = process.env.BUILD_FOLDER || path__default["default"].join('public', 'build'), srcFolder = process.env.SRC_FOLDER || 'src', sourcemap = process.env.SOURCEMAP ? process.env.SOURCEMAP === 'true' : false, cssModules = process.env.CSS_MODULES ? process.env.CSS_MODULES === 'true' : false, cssInJs = process.env.CSS_IN_JS ? process.env.CSS_IN_JS === 'true' : false, sslKey = process.env.SSL_KEY || 'localhost.key', sslCrt = process.env.SSL_CRT || 'localhost.crt', proxy = process.env.PROXY || '', port = process.env.PORT ? +process.env.PORT : 3000, api = process.env.API || '*', } = {}) {
|
|
101
|
+
this.projectFolder = path__default["default"].resolve(projectFolder);
|
|
102
|
+
this.publicFolder = path__default["default"].resolve(publicFolder);
|
|
103
|
+
this.buildFolder = path__default["default"].resolve(buildFolder);
|
|
104
|
+
this.srcFolder = path__default["default"].resolve(srcFolder);
|
|
105
105
|
this.sourcemap = sourcemap;
|
|
106
106
|
this.cssModules = cssModules;
|
|
107
107
|
this.cssInJs = cssInJs;
|
|
@@ -114,58 +114,58 @@ class InnetJS {
|
|
|
114
114
|
// Methods
|
|
115
115
|
init(appName, { template, force = false } = {}) {
|
|
116
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
const appPath = path__default[
|
|
117
|
+
const appPath = path__default["default"].resolve(appName);
|
|
118
118
|
if (!template) {
|
|
119
|
-
logger__default[
|
|
120
|
-
const { value } = yield selector__default[
|
|
119
|
+
logger__default["default"].log(chalk__default["default"].green(`Select one of those templates`));
|
|
120
|
+
const { value } = yield selector__default["default"]({
|
|
121
121
|
values: ['fe', 'be']
|
|
122
122
|
});
|
|
123
123
|
template = value;
|
|
124
124
|
readline.moveCursor(process.stdout, 0, -1);
|
|
125
|
-
logger__default[
|
|
125
|
+
logger__default["default"].log(`Selected ${value} template`);
|
|
126
126
|
}
|
|
127
127
|
if (!force) {
|
|
128
|
-
yield logger__default[
|
|
129
|
-
if (fs__default[
|
|
130
|
-
logger__default[
|
|
131
|
-
const { id: result, value } = yield selector__default[
|
|
128
|
+
yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
if (fs__default["default"].existsSync(appPath)) {
|
|
130
|
+
logger__default["default"].log(chalk__default["default"].red(`'${appPath}' already exist, what do you want?`));
|
|
131
|
+
const { id: result, value } = yield selector__default["default"]({
|
|
132
132
|
values: ['Stop the process', 'Remove the folder', 'Merge with template']
|
|
133
133
|
});
|
|
134
134
|
readline.moveCursor(process.stdout, 0, -1);
|
|
135
|
-
logger__default[
|
|
135
|
+
logger__default["default"].log(`Already exist, selected: ${value}`);
|
|
136
136
|
if (!result) {
|
|
137
137
|
throw Error(`'${appPath}' already exist`);
|
|
138
138
|
}
|
|
139
139
|
if (result === 1) {
|
|
140
|
-
yield fs__default[
|
|
140
|
+
yield fs__default["default"].remove(appPath);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
}));
|
|
144
144
|
}
|
|
145
|
-
const libPath = path__default[
|
|
146
|
-
const templatePath = path__default[
|
|
147
|
-
yield logger__default[
|
|
148
|
-
if (!fs__default[
|
|
145
|
+
const libPath = path__default["default"].resolve(__dirname, '..');
|
|
146
|
+
const templatePath = path__default["default"].resolve(libPath, 'templates', template);
|
|
147
|
+
yield logger__default["default"].start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
if (!fs__default["default"].existsSync(templatePath)) {
|
|
149
149
|
throw Error(`The template '${template}' is not exist`);
|
|
150
150
|
}
|
|
151
151
|
}));
|
|
152
|
-
yield logger__default[
|
|
153
|
-
yield logger__default[
|
|
152
|
+
yield logger__default["default"].start('Copy files', () => fs__default["default"].copy(templatePath, appPath));
|
|
153
|
+
yield logger__default["default"].start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
build({ node = false } = {}) {
|
|
157
157
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
158
|
const indexExtension = yield this.getProjectExtension();
|
|
159
|
-
yield logger__default[
|
|
159
|
+
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
|
|
160
160
|
const pkg = node && (yield this.getPackage());
|
|
161
161
|
const inputOptions = {
|
|
162
|
-
input: path__default[
|
|
162
|
+
input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
|
|
163
163
|
plugins: [
|
|
164
|
-
commonjs__default[
|
|
164
|
+
commonjs__default["default"](),
|
|
165
165
|
pluginNodeResolve.nodeResolve(),
|
|
166
|
-
json__default[
|
|
167
|
-
typescript__default[
|
|
168
|
-
jsx__default[
|
|
166
|
+
json__default["default"](),
|
|
167
|
+
typescript__default["default"](),
|
|
168
|
+
jsx__default["default"](),
|
|
169
169
|
string({
|
|
170
170
|
include: '**/*.*',
|
|
171
171
|
exclude: [
|
|
@@ -189,8 +189,8 @@ class InnetJS {
|
|
|
189
189
|
outputOptions.format = 'cjs';
|
|
190
190
|
}
|
|
191
191
|
else {
|
|
192
|
-
inputOptions.plugins.push(postcss__default[
|
|
193
|
-
plugins: [autoprefixer__default[
|
|
192
|
+
inputOptions.plugins.push(postcss__default["default"]({
|
|
193
|
+
plugins: [autoprefixer__default["default"]()],
|
|
194
194
|
extract: !this.cssInJs,
|
|
195
195
|
modules: this.cssModules,
|
|
196
196
|
sourceMap: this.sourcemap,
|
|
@@ -199,22 +199,22 @@ class InnetJS {
|
|
|
199
199
|
outputOptions.format = 'es';
|
|
200
200
|
outputOptions.plugins = [rollupPluginTerser.terser()];
|
|
201
201
|
}
|
|
202
|
-
yield logger__default[
|
|
203
|
-
const bundle = yield rollup__default[
|
|
202
|
+
yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
204
204
|
yield bundle.write(outputOptions);
|
|
205
205
|
yield bundle.close();
|
|
206
206
|
}));
|
|
207
207
|
if (pkg) {
|
|
208
|
-
yield logger__default[
|
|
208
|
+
yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
209
209
|
const data = Object.assign({}, pkg);
|
|
210
210
|
delete data.private;
|
|
211
211
|
delete data.devDependencies;
|
|
212
|
-
yield fs__default[
|
|
212
|
+
yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
|
|
213
213
|
}));
|
|
214
|
-
const pkgLockPath = path__default[
|
|
215
|
-
if (fs__default[
|
|
216
|
-
yield logger__default[
|
|
217
|
-
return fs__default[
|
|
214
|
+
const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
|
|
215
|
+
if (fs__default["default"].existsSync(pkgLockPath)) {
|
|
216
|
+
yield logger__default["default"].start('Copy package-lock.json', () => {
|
|
217
|
+
return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
220
|
}
|
|
@@ -224,31 +224,31 @@ class InnetJS {
|
|
|
224
224
|
return __awaiter(this, void 0, void 0, function* () {
|
|
225
225
|
const indexExtension = yield this.getProjectExtension();
|
|
226
226
|
const pkg = node && (yield this.getPackage());
|
|
227
|
-
yield logger__default[
|
|
227
|
+
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
|
|
228
228
|
const options = {
|
|
229
|
-
input: path__default[
|
|
229
|
+
input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
|
|
230
230
|
output: {
|
|
231
231
|
dir: this.buildFolder,
|
|
232
232
|
sourcemap: true
|
|
233
233
|
},
|
|
234
234
|
plugins: [
|
|
235
|
-
commonjs__default[
|
|
236
|
-
json__default[
|
|
237
|
-
typescript__default[
|
|
235
|
+
commonjs__default["default"](),
|
|
236
|
+
json__default["default"](),
|
|
237
|
+
typescript__default["default"]({
|
|
238
238
|
tsconfigOverride: {
|
|
239
239
|
compilerOptions: {
|
|
240
240
|
sourceMap: true
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
}),
|
|
244
|
-
jsx__default[
|
|
244
|
+
jsx__default["default"](),
|
|
245
245
|
],
|
|
246
246
|
};
|
|
247
247
|
if (node) {
|
|
248
248
|
options.output.format = 'cjs';
|
|
249
249
|
options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
|
|
250
250
|
options.plugins.push(pluginNodeResolve.nodeResolve({
|
|
251
|
-
moduleDirectories: [path__default[
|
|
251
|
+
moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
|
|
252
252
|
}), string({
|
|
253
253
|
include: '**/*.*',
|
|
254
254
|
exclude: [
|
|
@@ -261,15 +261,15 @@ class InnetJS {
|
|
|
261
261
|
}), this.createServer(options.external));
|
|
262
262
|
}
|
|
263
263
|
else {
|
|
264
|
-
const key = path__default[
|
|
264
|
+
const key = path__default["default"].basename(this.sslKey) !== this.sslKey
|
|
265
265
|
? this.sslKey
|
|
266
|
-
: fs__default[
|
|
267
|
-
? fs__default[
|
|
266
|
+
: fs__default["default"].existsSync(this.sslKey)
|
|
267
|
+
? fs__default["default"].readFileSync(this.sslKey)
|
|
268
268
|
: undefined;
|
|
269
|
-
const cert = path__default[
|
|
269
|
+
const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
|
|
270
270
|
? this.sslCrt
|
|
271
|
-
: fs__default[
|
|
272
|
-
? fs__default[
|
|
271
|
+
: fs__default["default"].existsSync(this.sslCrt)
|
|
272
|
+
? fs__default["default"].readFileSync(this.sslCrt)
|
|
273
273
|
: undefined;
|
|
274
274
|
options.output.format = 'es';
|
|
275
275
|
options.plugins.push(pluginNodeResolve.nodeResolve(), string({
|
|
@@ -283,32 +283,32 @@ class InnetJS {
|
|
|
283
283
|
'**/*.css',
|
|
284
284
|
'**/*.scss',
|
|
285
285
|
]
|
|
286
|
-
}), postcss__default[
|
|
287
|
-
plugins: [autoprefixer__default[
|
|
286
|
+
}), postcss__default["default"]({
|
|
287
|
+
plugins: [autoprefixer__default["default"]()],
|
|
288
288
|
modules: this.cssModules,
|
|
289
289
|
sourceMap: true,
|
|
290
290
|
extract: !this.cssInJs,
|
|
291
291
|
}), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
|
|
292
292
|
}
|
|
293
|
-
const watcher = rollup__default[
|
|
293
|
+
const watcher = rollup__default["default"].watch(options);
|
|
294
294
|
watcher.on('event', e => {
|
|
295
295
|
if (e.code == 'ERROR') {
|
|
296
|
-
logger__default[
|
|
296
|
+
logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
|
|
297
297
|
}
|
|
298
298
|
else if (e.code === 'BUNDLE_START') {
|
|
299
|
-
logger__default[
|
|
299
|
+
logger__default["default"].start('Bundling');
|
|
300
300
|
}
|
|
301
301
|
else if (e.code === 'BUNDLE_END') {
|
|
302
|
-
logger__default[
|
|
302
|
+
logger__default["default"].end('Bundling');
|
|
303
303
|
}
|
|
304
304
|
});
|
|
305
305
|
});
|
|
306
306
|
}
|
|
307
307
|
run(file) {
|
|
308
308
|
return __awaiter(this, void 0, void 0, function* () {
|
|
309
|
-
const input = yield logger__default[
|
|
309
|
+
const input = yield logger__default["default"].start('Check file', () => getFile(file));
|
|
310
310
|
const folder = yield new Promise((resolve, reject) => {
|
|
311
|
-
tmp__default[
|
|
311
|
+
tmp__default["default"].dir((err, folder) => {
|
|
312
312
|
if (err) {
|
|
313
313
|
reject(err);
|
|
314
314
|
}
|
|
@@ -318,14 +318,14 @@ class InnetJS {
|
|
|
318
318
|
});
|
|
319
319
|
});
|
|
320
320
|
const jsFilePath = `${folder}/index.js`;
|
|
321
|
-
yield logger__default[
|
|
321
|
+
yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
322
322
|
const inputOptions = {
|
|
323
323
|
input,
|
|
324
324
|
plugins: [
|
|
325
|
-
commonjs__default[
|
|
325
|
+
commonjs__default["default"](),
|
|
326
326
|
pluginNodeResolve.nodeResolve(),
|
|
327
|
-
json__default[
|
|
328
|
-
typescript__default[
|
|
327
|
+
json__default["default"](),
|
|
328
|
+
typescript__default["default"]({
|
|
329
329
|
tsconfigOverride: {
|
|
330
330
|
compilerOptions: {
|
|
331
331
|
sourceMap: true
|
|
@@ -339,11 +339,11 @@ class InnetJS {
|
|
|
339
339
|
file: jsFilePath,
|
|
340
340
|
sourcemap: true
|
|
341
341
|
};
|
|
342
|
-
const bundle = yield rollup__default[
|
|
342
|
+
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
343
343
|
yield bundle.write(outputOptions);
|
|
344
344
|
yield bundle.close();
|
|
345
345
|
}));
|
|
346
|
-
yield logger__default[
|
|
346
|
+
yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
|
|
347
347
|
spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
|
|
348
348
|
}));
|
|
349
349
|
});
|
|
@@ -354,22 +354,22 @@ class InnetJS {
|
|
|
354
354
|
if (this.projectExtension) {
|
|
355
355
|
return this.projectExtension;
|
|
356
356
|
}
|
|
357
|
-
yield logger__default[
|
|
358
|
-
if (!fs__default[
|
|
357
|
+
yield logger__default["default"].start('Check src', () => {
|
|
358
|
+
if (!fs__default["default"].existsSync(this.srcFolder)) {
|
|
359
359
|
throw Error('src folder is missing');
|
|
360
360
|
}
|
|
361
361
|
});
|
|
362
|
-
yield logger__default[
|
|
363
|
-
if (fs__default[
|
|
362
|
+
yield logger__default["default"].start('Detection of index file', () => {
|
|
363
|
+
if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
|
|
364
364
|
this.projectExtension = 'js';
|
|
365
365
|
}
|
|
366
|
-
else if (fs__default[
|
|
366
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
|
|
367
367
|
this.projectExtension = 'ts';
|
|
368
368
|
}
|
|
369
|
-
else if (fs__default[
|
|
369
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
|
|
370
370
|
this.projectExtension = 'tsx';
|
|
371
371
|
}
|
|
372
|
-
else if (fs__default[
|
|
372
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
|
|
373
373
|
this.projectExtension = 'jsx';
|
|
374
374
|
}
|
|
375
375
|
else {
|
|
@@ -384,10 +384,10 @@ class InnetJS {
|
|
|
384
384
|
if (this.package) {
|
|
385
385
|
return this.package;
|
|
386
386
|
}
|
|
387
|
-
const packageFolder = path__default[
|
|
388
|
-
yield logger__default[
|
|
389
|
-
if (fs__default[
|
|
390
|
-
this.package = yield fs__default[
|
|
387
|
+
const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
|
|
388
|
+
yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
389
|
+
if (fs__default["default"].existsSync(packageFolder)) {
|
|
390
|
+
this.package = yield fs__default["default"].readJson(packageFolder);
|
|
391
391
|
}
|
|
392
392
|
}));
|
|
393
393
|
return this.package;
|
|
@@ -400,10 +400,10 @@ class InnetJS {
|
|
|
400
400
|
var _a;
|
|
401
401
|
if (!app) {
|
|
402
402
|
const httpsUsing = !!(cert && key);
|
|
403
|
-
app = express__default[
|
|
404
|
-
app.use(express__default[
|
|
403
|
+
app = express__default["default"]();
|
|
404
|
+
app.use(express__default["default"].static(this.publicFolder));
|
|
405
405
|
if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
|
|
406
|
-
app.use(this.api, proxy__default[
|
|
406
|
+
app.use(this.api, proxy__default["default"](this.proxy, {
|
|
407
407
|
https: httpsUsing,
|
|
408
408
|
proxyReqPathResolver: req => req.originalUrl
|
|
409
409
|
}));
|
|
@@ -411,9 +411,9 @@ class InnetJS {
|
|
|
411
411
|
app.use(/^[^.]+$/, (req, res) => {
|
|
412
412
|
res.sendFile(this.publicFolder + '/index.html');
|
|
413
413
|
});
|
|
414
|
-
const server = httpsUsing ? https__default[
|
|
414
|
+
const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
|
|
415
415
|
server.listen(this.port, () => {
|
|
416
|
-
console.log(`${chalk__default[
|
|
416
|
+
console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
|
|
417
417
|
});
|
|
418
418
|
}
|
|
419
419
|
}
|
|
@@ -424,18 +424,18 @@ class InnetJS {
|
|
|
424
424
|
return {
|
|
425
425
|
writeBundle: () => __awaiter(this, void 0, void 0, function* () {
|
|
426
426
|
app === null || app === void 0 ? void 0 : app.kill();
|
|
427
|
-
const filePath = path__default[
|
|
428
|
-
let data = yield fs__default[
|
|
427
|
+
const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
|
|
428
|
+
let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
|
|
429
429
|
const regExp = new RegExp(`require\\('(${external.join('|')})'\\)`, 'g');
|
|
430
|
-
data = data.replace(regExp, `require('${path__default[
|
|
431
|
-
yield fs__default[
|
|
430
|
+
data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
|
|
431
|
+
yield fs__default["default"].writeFile(filePath, data);
|
|
432
432
|
app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
|
|
433
433
|
})
|
|
434
434
|
};
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
-
var version = "1.8.
|
|
438
|
+
var version = "1.8.3";
|
|
439
439
|
|
|
440
440
|
require('dotenv').config();
|
|
441
441
|
const innetJS = new InnetJS();
|
package/index.es6.js
CHANGED
package/index.js
CHANGED
|
@@ -73,15 +73,15 @@ const readline = require('readline');
|
|
|
73
73
|
const execAsync = util.promisify(exec);
|
|
74
74
|
require('dotenv').config();
|
|
75
75
|
function getFile(file) {
|
|
76
|
-
file = path__default[
|
|
77
|
-
if (!fs__default[
|
|
76
|
+
file = path__default["default"].resolve(file);
|
|
77
|
+
if (!fs__default["default"].existsSync(file)) {
|
|
78
78
|
throw Error('Cannot find the file: ' + file);
|
|
79
79
|
}
|
|
80
|
-
if (fs__default[
|
|
80
|
+
if (fs__default["default"].lstatSync(file).isDirectory()) {
|
|
81
81
|
let tmpFile = file;
|
|
82
|
-
if (!fs__default[
|
|
83
|
-
!fs__default[
|
|
84
|
-
!fs__default[
|
|
82
|
+
if (!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.ts')) &&
|
|
83
|
+
!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.tsx')) &&
|
|
84
|
+
!fs__default["default"].existsSync(tmpFile = path__default["default"].join(file, 'index.js'))) {
|
|
85
85
|
throw Error('Cannot find index file in: ' + file);
|
|
86
86
|
}
|
|
87
87
|
file = tmpFile;
|
|
@@ -89,17 +89,17 @@ function getFile(file) {
|
|
|
89
89
|
else if (!file.endsWith('.ts') && !file.endsWith('.tsx') && !file.endsWith('.js')) {
|
|
90
90
|
throw Error('File should has `.ts` or `.tsx` or `.js` extension: ' + file);
|
|
91
91
|
}
|
|
92
|
-
if (!fs__default[
|
|
92
|
+
if (!fs__default["default"].existsSync(file)) {
|
|
93
93
|
throw Error('Cannot find the file: ' + file);
|
|
94
94
|
}
|
|
95
95
|
return file;
|
|
96
96
|
}
|
|
97
97
|
class InnetJS {
|
|
98
|
-
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', publicFolder = process.env.PUBLIC_FOLDER || 'public', buildFolder = process.env.BUILD_FOLDER || path__default[
|
|
99
|
-
this.projectFolder = path__default[
|
|
100
|
-
this.publicFolder = path__default[
|
|
101
|
-
this.buildFolder = path__default[
|
|
102
|
-
this.srcFolder = path__default[
|
|
98
|
+
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', publicFolder = process.env.PUBLIC_FOLDER || 'public', buildFolder = process.env.BUILD_FOLDER || path__default["default"].join('public', 'build'), srcFolder = process.env.SRC_FOLDER || 'src', sourcemap = process.env.SOURCEMAP ? process.env.SOURCEMAP === 'true' : false, cssModules = process.env.CSS_MODULES ? process.env.CSS_MODULES === 'true' : false, cssInJs = process.env.CSS_IN_JS ? process.env.CSS_IN_JS === 'true' : false, sslKey = process.env.SSL_KEY || 'localhost.key', sslCrt = process.env.SSL_CRT || 'localhost.crt', proxy = process.env.PROXY || '', port = process.env.PORT ? +process.env.PORT : 3000, api = process.env.API || '*', } = {}) {
|
|
99
|
+
this.projectFolder = path__default["default"].resolve(projectFolder);
|
|
100
|
+
this.publicFolder = path__default["default"].resolve(publicFolder);
|
|
101
|
+
this.buildFolder = path__default["default"].resolve(buildFolder);
|
|
102
|
+
this.srcFolder = path__default["default"].resolve(srcFolder);
|
|
103
103
|
this.sourcemap = sourcemap;
|
|
104
104
|
this.cssModules = cssModules;
|
|
105
105
|
this.cssInJs = cssInJs;
|
|
@@ -112,58 +112,58 @@ class InnetJS {
|
|
|
112
112
|
// Methods
|
|
113
113
|
init(appName, { template, force = false } = {}) {
|
|
114
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
-
const appPath = path__default[
|
|
115
|
+
const appPath = path__default["default"].resolve(appName);
|
|
116
116
|
if (!template) {
|
|
117
|
-
logger__default[
|
|
118
|
-
const { value } = yield selector__default[
|
|
117
|
+
logger__default["default"].log(chalk__default["default"].green(`Select one of those templates`));
|
|
118
|
+
const { value } = yield selector__default["default"]({
|
|
119
119
|
values: ['fe', 'be']
|
|
120
120
|
});
|
|
121
121
|
template = value;
|
|
122
122
|
readline.moveCursor(process.stdout, 0, -1);
|
|
123
|
-
logger__default[
|
|
123
|
+
logger__default["default"].log(`Selected ${value} template`);
|
|
124
124
|
}
|
|
125
125
|
if (!force) {
|
|
126
|
-
yield logger__default[
|
|
127
|
-
if (fs__default[
|
|
128
|
-
logger__default[
|
|
129
|
-
const { id: result, value } = yield selector__default[
|
|
126
|
+
yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
if (fs__default["default"].existsSync(appPath)) {
|
|
128
|
+
logger__default["default"].log(chalk__default["default"].red(`'${appPath}' already exist, what do you want?`));
|
|
129
|
+
const { id: result, value } = yield selector__default["default"]({
|
|
130
130
|
values: ['Stop the process', 'Remove the folder', 'Merge with template']
|
|
131
131
|
});
|
|
132
132
|
readline.moveCursor(process.stdout, 0, -1);
|
|
133
|
-
logger__default[
|
|
133
|
+
logger__default["default"].log(`Already exist, selected: ${value}`);
|
|
134
134
|
if (!result) {
|
|
135
135
|
throw Error(`'${appPath}' already exist`);
|
|
136
136
|
}
|
|
137
137
|
if (result === 1) {
|
|
138
|
-
yield fs__default[
|
|
138
|
+
yield fs__default["default"].remove(appPath);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
}));
|
|
142
142
|
}
|
|
143
|
-
const libPath = path__default[
|
|
144
|
-
const templatePath = path__default[
|
|
145
|
-
yield logger__default[
|
|
146
|
-
if (!fs__default[
|
|
143
|
+
const libPath = path__default["default"].resolve(__dirname, '..');
|
|
144
|
+
const templatePath = path__default["default"].resolve(libPath, 'templates', template);
|
|
145
|
+
yield logger__default["default"].start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
if (!fs__default["default"].existsSync(templatePath)) {
|
|
147
147
|
throw Error(`The template '${template}' is not exist`);
|
|
148
148
|
}
|
|
149
149
|
}));
|
|
150
|
-
yield logger__default[
|
|
151
|
-
yield logger__default[
|
|
150
|
+
yield logger__default["default"].start('Copy files', () => fs__default["default"].copy(templatePath, appPath));
|
|
151
|
+
yield logger__default["default"].start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
build({ node = false } = {}) {
|
|
155
155
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
156
|
const indexExtension = yield this.getProjectExtension();
|
|
157
|
-
yield logger__default[
|
|
157
|
+
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
|
|
158
158
|
const pkg = node && (yield this.getPackage());
|
|
159
159
|
const inputOptions = {
|
|
160
|
-
input: path__default[
|
|
160
|
+
input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
|
|
161
161
|
plugins: [
|
|
162
|
-
commonjs__default[
|
|
162
|
+
commonjs__default["default"](),
|
|
163
163
|
pluginNodeResolve.nodeResolve(),
|
|
164
|
-
json__default[
|
|
165
|
-
typescript__default[
|
|
166
|
-
jsx__default[
|
|
164
|
+
json__default["default"](),
|
|
165
|
+
typescript__default["default"](),
|
|
166
|
+
jsx__default["default"](),
|
|
167
167
|
string({
|
|
168
168
|
include: '**/*.*',
|
|
169
169
|
exclude: [
|
|
@@ -187,8 +187,8 @@ class InnetJS {
|
|
|
187
187
|
outputOptions.format = 'cjs';
|
|
188
188
|
}
|
|
189
189
|
else {
|
|
190
|
-
inputOptions.plugins.push(postcss__default[
|
|
191
|
-
plugins: [autoprefixer__default[
|
|
190
|
+
inputOptions.plugins.push(postcss__default["default"]({
|
|
191
|
+
plugins: [autoprefixer__default["default"]()],
|
|
192
192
|
extract: !this.cssInJs,
|
|
193
193
|
modules: this.cssModules,
|
|
194
194
|
sourceMap: this.sourcemap,
|
|
@@ -197,22 +197,22 @@ class InnetJS {
|
|
|
197
197
|
outputOptions.format = 'es';
|
|
198
198
|
outputOptions.plugins = [rollupPluginTerser.terser()];
|
|
199
199
|
}
|
|
200
|
-
yield logger__default[
|
|
201
|
-
const bundle = yield rollup__default[
|
|
200
|
+
yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
202
202
|
yield bundle.write(outputOptions);
|
|
203
203
|
yield bundle.close();
|
|
204
204
|
}));
|
|
205
205
|
if (pkg) {
|
|
206
|
-
yield logger__default[
|
|
206
|
+
yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
207
207
|
const data = Object.assign({}, pkg);
|
|
208
208
|
delete data.private;
|
|
209
209
|
delete data.devDependencies;
|
|
210
|
-
yield fs__default[
|
|
210
|
+
yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
|
|
211
211
|
}));
|
|
212
|
-
const pkgLockPath = path__default[
|
|
213
|
-
if (fs__default[
|
|
214
|
-
yield logger__default[
|
|
215
|
-
return fs__default[
|
|
212
|
+
const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
|
|
213
|
+
if (fs__default["default"].existsSync(pkgLockPath)) {
|
|
214
|
+
yield logger__default["default"].start('Copy package-lock.json', () => {
|
|
215
|
+
return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
}
|
|
@@ -222,31 +222,31 @@ class InnetJS {
|
|
|
222
222
|
return __awaiter(this, void 0, void 0, function* () {
|
|
223
223
|
const indexExtension = yield this.getProjectExtension();
|
|
224
224
|
const pkg = node && (yield this.getPackage());
|
|
225
|
-
yield logger__default[
|
|
225
|
+
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
|
|
226
226
|
const options = {
|
|
227
|
-
input: path__default[
|
|
227
|
+
input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
|
|
228
228
|
output: {
|
|
229
229
|
dir: this.buildFolder,
|
|
230
230
|
sourcemap: true
|
|
231
231
|
},
|
|
232
232
|
plugins: [
|
|
233
|
-
commonjs__default[
|
|
234
|
-
json__default[
|
|
235
|
-
typescript__default[
|
|
233
|
+
commonjs__default["default"](),
|
|
234
|
+
json__default["default"](),
|
|
235
|
+
typescript__default["default"]({
|
|
236
236
|
tsconfigOverride: {
|
|
237
237
|
compilerOptions: {
|
|
238
238
|
sourceMap: true
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
}),
|
|
242
|
-
jsx__default[
|
|
242
|
+
jsx__default["default"](),
|
|
243
243
|
],
|
|
244
244
|
};
|
|
245
245
|
if (node) {
|
|
246
246
|
options.output.format = 'cjs';
|
|
247
247
|
options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
|
|
248
248
|
options.plugins.push(pluginNodeResolve.nodeResolve({
|
|
249
|
-
moduleDirectories: [path__default[
|
|
249
|
+
moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
|
|
250
250
|
}), string({
|
|
251
251
|
include: '**/*.*',
|
|
252
252
|
exclude: [
|
|
@@ -259,15 +259,15 @@ class InnetJS {
|
|
|
259
259
|
}), this.createServer(options.external));
|
|
260
260
|
}
|
|
261
261
|
else {
|
|
262
|
-
const key = path__default[
|
|
262
|
+
const key = path__default["default"].basename(this.sslKey) !== this.sslKey
|
|
263
263
|
? this.sslKey
|
|
264
|
-
: fs__default[
|
|
265
|
-
? fs__default[
|
|
264
|
+
: fs__default["default"].existsSync(this.sslKey)
|
|
265
|
+
? fs__default["default"].readFileSync(this.sslKey)
|
|
266
266
|
: undefined;
|
|
267
|
-
const cert = path__default[
|
|
267
|
+
const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
|
|
268
268
|
? this.sslCrt
|
|
269
|
-
: fs__default[
|
|
270
|
-
? fs__default[
|
|
269
|
+
: fs__default["default"].existsSync(this.sslCrt)
|
|
270
|
+
? fs__default["default"].readFileSync(this.sslCrt)
|
|
271
271
|
: undefined;
|
|
272
272
|
options.output.format = 'es';
|
|
273
273
|
options.plugins.push(pluginNodeResolve.nodeResolve(), string({
|
|
@@ -281,32 +281,32 @@ class InnetJS {
|
|
|
281
281
|
'**/*.css',
|
|
282
282
|
'**/*.scss',
|
|
283
283
|
]
|
|
284
|
-
}), postcss__default[
|
|
285
|
-
plugins: [autoprefixer__default[
|
|
284
|
+
}), postcss__default["default"]({
|
|
285
|
+
plugins: [autoprefixer__default["default"]()],
|
|
286
286
|
modules: this.cssModules,
|
|
287
287
|
sourceMap: true,
|
|
288
288
|
extract: !this.cssInJs,
|
|
289
289
|
}), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
|
|
290
290
|
}
|
|
291
|
-
const watcher = rollup__default[
|
|
291
|
+
const watcher = rollup__default["default"].watch(options);
|
|
292
292
|
watcher.on('event', e => {
|
|
293
293
|
if (e.code == 'ERROR') {
|
|
294
|
-
logger__default[
|
|
294
|
+
logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
|
|
295
295
|
}
|
|
296
296
|
else if (e.code === 'BUNDLE_START') {
|
|
297
|
-
logger__default[
|
|
297
|
+
logger__default["default"].start('Bundling');
|
|
298
298
|
}
|
|
299
299
|
else if (e.code === 'BUNDLE_END') {
|
|
300
|
-
logger__default[
|
|
300
|
+
logger__default["default"].end('Bundling');
|
|
301
301
|
}
|
|
302
302
|
});
|
|
303
303
|
});
|
|
304
304
|
}
|
|
305
305
|
run(file) {
|
|
306
306
|
return __awaiter(this, void 0, void 0, function* () {
|
|
307
|
-
const input = yield logger__default[
|
|
307
|
+
const input = yield logger__default["default"].start('Check file', () => getFile(file));
|
|
308
308
|
const folder = yield new Promise((resolve, reject) => {
|
|
309
|
-
tmp__default[
|
|
309
|
+
tmp__default["default"].dir((err, folder) => {
|
|
310
310
|
if (err) {
|
|
311
311
|
reject(err);
|
|
312
312
|
}
|
|
@@ -316,14 +316,14 @@ class InnetJS {
|
|
|
316
316
|
});
|
|
317
317
|
});
|
|
318
318
|
const jsFilePath = `${folder}/index.js`;
|
|
319
|
-
yield logger__default[
|
|
319
|
+
yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
320
320
|
const inputOptions = {
|
|
321
321
|
input,
|
|
322
322
|
plugins: [
|
|
323
|
-
commonjs__default[
|
|
323
|
+
commonjs__default["default"](),
|
|
324
324
|
pluginNodeResolve.nodeResolve(),
|
|
325
|
-
json__default[
|
|
326
|
-
typescript__default[
|
|
325
|
+
json__default["default"](),
|
|
326
|
+
typescript__default["default"]({
|
|
327
327
|
tsconfigOverride: {
|
|
328
328
|
compilerOptions: {
|
|
329
329
|
sourceMap: true
|
|
@@ -337,11 +337,11 @@ class InnetJS {
|
|
|
337
337
|
file: jsFilePath,
|
|
338
338
|
sourcemap: true
|
|
339
339
|
};
|
|
340
|
-
const bundle = yield rollup__default[
|
|
340
|
+
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
341
341
|
yield bundle.write(outputOptions);
|
|
342
342
|
yield bundle.close();
|
|
343
343
|
}));
|
|
344
|
-
yield logger__default[
|
|
344
|
+
yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
|
|
345
345
|
spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
|
|
346
346
|
}));
|
|
347
347
|
});
|
|
@@ -352,22 +352,22 @@ class InnetJS {
|
|
|
352
352
|
if (this.projectExtension) {
|
|
353
353
|
return this.projectExtension;
|
|
354
354
|
}
|
|
355
|
-
yield logger__default[
|
|
356
|
-
if (!fs__default[
|
|
355
|
+
yield logger__default["default"].start('Check src', () => {
|
|
356
|
+
if (!fs__default["default"].existsSync(this.srcFolder)) {
|
|
357
357
|
throw Error('src folder is missing');
|
|
358
358
|
}
|
|
359
359
|
});
|
|
360
|
-
yield logger__default[
|
|
361
|
-
if (fs__default[
|
|
360
|
+
yield logger__default["default"].start('Detection of index file', () => {
|
|
361
|
+
if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
|
|
362
362
|
this.projectExtension = 'js';
|
|
363
363
|
}
|
|
364
|
-
else if (fs__default[
|
|
364
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
|
|
365
365
|
this.projectExtension = 'ts';
|
|
366
366
|
}
|
|
367
|
-
else if (fs__default[
|
|
367
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
|
|
368
368
|
this.projectExtension = 'tsx';
|
|
369
369
|
}
|
|
370
|
-
else if (fs__default[
|
|
370
|
+
else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
|
|
371
371
|
this.projectExtension = 'jsx';
|
|
372
372
|
}
|
|
373
373
|
else {
|
|
@@ -382,10 +382,10 @@ class InnetJS {
|
|
|
382
382
|
if (this.package) {
|
|
383
383
|
return this.package;
|
|
384
384
|
}
|
|
385
|
-
const packageFolder = path__default[
|
|
386
|
-
yield logger__default[
|
|
387
|
-
if (fs__default[
|
|
388
|
-
this.package = yield fs__default[
|
|
385
|
+
const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
|
|
386
|
+
yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
387
|
+
if (fs__default["default"].existsSync(packageFolder)) {
|
|
388
|
+
this.package = yield fs__default["default"].readJson(packageFolder);
|
|
389
389
|
}
|
|
390
390
|
}));
|
|
391
391
|
return this.package;
|
|
@@ -398,10 +398,10 @@ class InnetJS {
|
|
|
398
398
|
var _a;
|
|
399
399
|
if (!app) {
|
|
400
400
|
const httpsUsing = !!(cert && key);
|
|
401
|
-
app = express__default[
|
|
402
|
-
app.use(express__default[
|
|
401
|
+
app = express__default["default"]();
|
|
402
|
+
app.use(express__default["default"].static(this.publicFolder));
|
|
403
403
|
if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
|
|
404
|
-
app.use(this.api, proxy__default[
|
|
404
|
+
app.use(this.api, proxy__default["default"](this.proxy, {
|
|
405
405
|
https: httpsUsing,
|
|
406
406
|
proxyReqPathResolver: req => req.originalUrl
|
|
407
407
|
}));
|
|
@@ -409,9 +409,9 @@ class InnetJS {
|
|
|
409
409
|
app.use(/^[^.]+$/, (req, res) => {
|
|
410
410
|
res.sendFile(this.publicFolder + '/index.html');
|
|
411
411
|
});
|
|
412
|
-
const server = httpsUsing ? https__default[
|
|
412
|
+
const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
|
|
413
413
|
server.listen(this.port, () => {
|
|
414
|
-
console.log(`${chalk__default[
|
|
414
|
+
console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
|
|
415
415
|
});
|
|
416
416
|
}
|
|
417
417
|
}
|
|
@@ -422,11 +422,11 @@ class InnetJS {
|
|
|
422
422
|
return {
|
|
423
423
|
writeBundle: () => __awaiter(this, void 0, void 0, function* () {
|
|
424
424
|
app === null || app === void 0 ? void 0 : app.kill();
|
|
425
|
-
const filePath = path__default[
|
|
426
|
-
let data = yield fs__default[
|
|
425
|
+
const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
|
|
426
|
+
let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
|
|
427
427
|
const regExp = new RegExp(`require\\('(${external.join('|')})'\\)`, 'g');
|
|
428
|
-
data = data.replace(regExp, `require('${path__default[
|
|
429
|
-
yield fs__default[
|
|
428
|
+
data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
|
|
429
|
+
yield fs__default["default"].writeFile(filePath, data);
|
|
430
430
|
app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
|
|
431
431
|
})
|
|
432
432
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "innetjs",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3",
|
|
4
4
|
"description": "CLI for innet boilerplate",
|
|
5
5
|
"homepage": "https://github.com/d8corp/innetjs",
|
|
6
6
|
"author": "Mikhail Lysikov <d8corp@mail.ru>",
|
|
@@ -31,28 +31,28 @@
|
|
|
31
31
|
"url": "https://github.com/d8corp/innetjs/issues"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@cantinc/logger": "^1.0
|
|
35
|
-
"@rollup/plugin-commonjs": "^
|
|
34
|
+
"@cantinc/logger": "^1.1.0",
|
|
35
|
+
"@rollup/plugin-commonjs": "^21.0.2",
|
|
36
36
|
"@rollup/plugin-json": "^4.1.0",
|
|
37
|
-
"@rollup/plugin-node-resolve": "^
|
|
38
|
-
"autoprefixer": "^10.
|
|
39
|
-
"chalk": "^4.1.
|
|
37
|
+
"@rollup/plugin-node-resolve": "^13.1.3",
|
|
38
|
+
"autoprefixer": "^10.4.2",
|
|
39
|
+
"chalk": "^4.1.2",
|
|
40
40
|
"cli-select": "^1.1.2",
|
|
41
|
-
"commander": "^
|
|
42
|
-
"dotenv": "^
|
|
43
|
-
"express": "^4.17.
|
|
44
|
-
"express-http-proxy": "^1.6.
|
|
45
|
-
"fs-extra": "^
|
|
46
|
-
"node-sass": "^
|
|
47
|
-
"postcss": "^8.
|
|
48
|
-
"rollup": "^2.
|
|
49
|
-
"rollup-plugin-innet-jsx": "^1.1.
|
|
50
|
-
"rollup-plugin-livereload": "^2.0.
|
|
51
|
-
"rollup-plugin-postcss": "^4.0.
|
|
41
|
+
"commander": "^9.0.0",
|
|
42
|
+
"dotenv": "^16.0.0",
|
|
43
|
+
"express": "^4.17.3",
|
|
44
|
+
"express-http-proxy": "^1.6.3",
|
|
45
|
+
"fs-extra": "^10.0.1",
|
|
46
|
+
"node-sass": "^7.0.1",
|
|
47
|
+
"postcss": "^8.4.7",
|
|
48
|
+
"rollup": "^2.68.0",
|
|
49
|
+
"rollup-plugin-innet-jsx": "^1.1.3",
|
|
50
|
+
"rollup-plugin-livereload": "^2.0.5",
|
|
51
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
52
52
|
"rollup-plugin-string": "^3.0.0",
|
|
53
53
|
"rollup-plugin-terser": "^7.0.2",
|
|
54
|
-
"rollup-plugin-typescript2": "^0.
|
|
54
|
+
"rollup-plugin-typescript2": "^0.31.2",
|
|
55
55
|
"tmp": "^0.2.1",
|
|
56
|
-
"typescript": "^4.
|
|
56
|
+
"typescript": "^4.6.2"
|
|
57
57
|
}
|
|
58
58
|
}
|
package/templates/be/README.md
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Page } from '../Page'
|
|
2
|
+
|
|
3
|
+
import appStyles from './App.css'
|
|
4
|
+
|
|
5
|
+
export function App () {
|
|
6
|
+
return (
|
|
7
|
+
<Page title='innetjs application' styles={appStyles}>
|
|
8
|
+
<div class='root'>
|
|
9
|
+
<h1 class='header'>
|
|
10
|
+
Welcome to the innet application!
|
|
11
|
+
</h1>
|
|
12
|
+
</div>
|
|
13
|
+
</Page>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './App'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import pageStyles from './Page.css'
|
|
2
|
+
|
|
3
|
+
export function Page ({ title, styles }, children) {
|
|
4
|
+
return (
|
|
5
|
+
<header name='content-type' value='text/html; charset=utf-8'>
|
|
6
|
+
<html lang='ru'>
|
|
7
|
+
<head>
|
|
8
|
+
<meta charset="UTF-8"/>
|
|
9
|
+
<meta
|
|
10
|
+
name="viewport"
|
|
11
|
+
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
|
12
|
+
/>
|
|
13
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
|
|
14
|
+
<style>{pageStyles}</style>
|
|
15
|
+
<style>{styles}</style>
|
|
16
|
+
<title>{title}</title>
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
{children}
|
|
20
|
+
</body>
|
|
21
|
+
</html>
|
|
22
|
+
</header>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Page'
|