innetjs 1.8.0 → 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 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['default'].resolve(file);
79
- if (!fs__default['default'].existsSync(file)) {
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['default'].lstatSync(file).isDirectory()) {
82
+ if (fs__default["default"].lstatSync(file).isDirectory()) {
83
83
  let tmpFile = file;
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'))) {
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['default'].existsSync(file)) {
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['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);
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,56 +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['default'].resolve(appName);
117
+ const appPath = path__default["default"].resolve(appName);
118
118
  if (!template) {
119
- console.log(chalk__default['default'].green(`Select one of those templates?`));
120
- const { value } = yield selector__default['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
- readline.moveCursor(process.stdout, 0, -2);
124
+ readline.moveCursor(process.stdout, 0, -1);
125
+ logger__default["default"].log(`Selected ${value} template`);
125
126
  }
126
127
  if (!force) {
127
- yield logger__default['default'].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
128
- if (fs__default['default'].existsSync(appPath)) {
129
- console.log(chalk__default['default'].red(`'${appPath}' already exist, what do you want?`));
130
- const { id: result } = yield selector__default['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"]({
131
132
  values: ['Stop the process', 'Remove the folder', 'Merge with template']
132
133
  });
133
- readline.moveCursor(process.stdout, 0, -2);
134
+ readline.moveCursor(process.stdout, 0, -1);
135
+ logger__default["default"].log(`Already exist, selected: ${value}`);
134
136
  if (!result) {
135
137
  throw Error(`'${appPath}' already exist`);
136
138
  }
137
139
  if (result === 1) {
138
- yield fs__default['default'].remove(appPath);
140
+ yield fs__default["default"].remove(appPath);
139
141
  }
140
142
  }
141
143
  }));
142
144
  }
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', () => {
146
- if (!fs__default['default'].existsSync(templatePath)) {
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)) {
147
149
  throw Error(`The template '${template}' is not exist`);
148
150
  }
149
- });
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`));
151
+ }));
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`));
152
154
  });
153
155
  }
154
156
  build({ node = false } = {}) {
155
157
  return __awaiter(this, void 0, void 0, function* () {
156
158
  const indexExtension = yield this.getProjectExtension();
157
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
159
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
158
160
  const pkg = node && (yield this.getPackage());
159
161
  const inputOptions = {
160
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
162
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
161
163
  plugins: [
162
- commonjs__default['default'](),
164
+ commonjs__default["default"](),
163
165
  pluginNodeResolve.nodeResolve(),
164
- json__default['default'](),
165
- typescript__default['default'](),
166
- jsx__default['default'](),
166
+ json__default["default"](),
167
+ typescript__default["default"](),
168
+ jsx__default["default"](),
167
169
  string({
168
170
  include: '**/*.*',
169
171
  exclude: [
@@ -187,8 +189,8 @@ class InnetJS {
187
189
  outputOptions.format = 'cjs';
188
190
  }
189
191
  else {
190
- inputOptions.plugins.push(postcss__default['default']({
191
- plugins: [autoprefixer__default['default']()],
192
+ inputOptions.plugins.push(postcss__default["default"]({
193
+ plugins: [autoprefixer__default["default"]()],
192
194
  extract: !this.cssInJs,
193
195
  modules: this.cssModules,
194
196
  sourceMap: this.sourcemap,
@@ -197,22 +199,22 @@ class InnetJS {
197
199
  outputOptions.format = 'es';
198
200
  outputOptions.plugins = [rollupPluginTerser.terser()];
199
201
  }
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
+ yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
203
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
202
204
  yield bundle.write(outputOptions);
203
205
  yield bundle.close();
204
206
  }));
205
207
  if (pkg) {
206
- yield logger__default['default'].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
208
+ yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
207
209
  const data = Object.assign({}, pkg);
208
210
  delete data.private;
209
211
  delete data.devDependencies;
210
- yield fs__default['default'].writeFile(path__default['default'].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
212
+ yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
211
213
  }));
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'));
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'));
216
218
  });
217
219
  }
218
220
  }
@@ -222,31 +224,31 @@ class InnetJS {
222
224
  return __awaiter(this, void 0, void 0, function* () {
223
225
  const indexExtension = yield this.getProjectExtension();
224
226
  const pkg = node && (yield this.getPackage());
225
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
227
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
226
228
  const options = {
227
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
229
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
228
230
  output: {
229
231
  dir: this.buildFolder,
230
232
  sourcemap: true
231
233
  },
232
234
  plugins: [
233
- commonjs__default['default'](),
234
- json__default['default'](),
235
- typescript__default['default']({
235
+ commonjs__default["default"](),
236
+ json__default["default"](),
237
+ typescript__default["default"]({
236
238
  tsconfigOverride: {
237
239
  compilerOptions: {
238
240
  sourceMap: true
239
241
  }
240
242
  }
241
243
  }),
242
- jsx__default['default'](),
244
+ jsx__default["default"](),
243
245
  ],
244
246
  };
245
247
  if (node) {
246
248
  options.output.format = 'cjs';
247
249
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
248
250
  options.plugins.push(pluginNodeResolve.nodeResolve({
249
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
251
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
250
252
  }), string({
251
253
  include: '**/*.*',
252
254
  exclude: [
@@ -259,15 +261,15 @@ class InnetJS {
259
261
  }), this.createServer(options.external));
260
262
  }
261
263
  else {
262
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
264
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
263
265
  ? this.sslKey
264
- : fs__default['default'].existsSync(this.sslKey)
265
- ? fs__default['default'].readFileSync(this.sslKey)
266
+ : fs__default["default"].existsSync(this.sslKey)
267
+ ? fs__default["default"].readFileSync(this.sslKey)
266
268
  : undefined;
267
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
269
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
268
270
  ? this.sslCrt
269
- : fs__default['default'].existsSync(this.sslCrt)
270
- ? fs__default['default'].readFileSync(this.sslCrt)
271
+ : fs__default["default"].existsSync(this.sslCrt)
272
+ ? fs__default["default"].readFileSync(this.sslCrt)
271
273
  : undefined;
272
274
  options.output.format = 'es';
273
275
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -281,32 +283,32 @@ class InnetJS {
281
283
  '**/*.css',
282
284
  '**/*.scss',
283
285
  ]
284
- }), postcss__default['default']({
285
- plugins: [autoprefixer__default['default']()],
286
+ }), postcss__default["default"]({
287
+ plugins: [autoprefixer__default["default"]()],
286
288
  modules: this.cssModules,
287
289
  sourceMap: true,
288
290
  extract: !this.cssInJs,
289
291
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
290
292
  }
291
- const watcher = rollup__default['default'].watch(options);
293
+ const watcher = rollup__default["default"].watch(options);
292
294
  watcher.on('event', e => {
293
295
  if (e.code == 'ERROR') {
294
- logger__default['default'].end('Bundling', error ? e.error.stack : e.error.message);
296
+ logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
295
297
  }
296
298
  else if (e.code === 'BUNDLE_START') {
297
- logger__default['default'].start('Bundling');
299
+ logger__default["default"].start('Bundling');
298
300
  }
299
301
  else if (e.code === 'BUNDLE_END') {
300
- logger__default['default'].end('Bundling');
302
+ logger__default["default"].end('Bundling');
301
303
  }
302
304
  });
303
305
  });
304
306
  }
305
307
  run(file) {
306
308
  return __awaiter(this, void 0, void 0, function* () {
307
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
309
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
308
310
  const folder = yield new Promise((resolve, reject) => {
309
- tmp__default['default'].dir((err, folder) => {
311
+ tmp__default["default"].dir((err, folder) => {
310
312
  if (err) {
311
313
  reject(err);
312
314
  }
@@ -316,14 +318,14 @@ class InnetJS {
316
318
  });
317
319
  });
318
320
  const jsFilePath = `${folder}/index.js`;
319
- yield logger__default['default'].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
321
+ yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
320
322
  const inputOptions = {
321
323
  input,
322
324
  plugins: [
323
- commonjs__default['default'](),
325
+ commonjs__default["default"](),
324
326
  pluginNodeResolve.nodeResolve(),
325
- json__default['default'](),
326
- typescript__default['default']({
327
+ json__default["default"](),
328
+ typescript__default["default"]({
327
329
  tsconfigOverride: {
328
330
  compilerOptions: {
329
331
  sourceMap: true
@@ -337,11 +339,11 @@ class InnetJS {
337
339
  file: jsFilePath,
338
340
  sourcemap: true
339
341
  };
340
- const bundle = yield rollup__default['default'].rollup(inputOptions);
342
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
341
343
  yield bundle.write(outputOptions);
342
344
  yield bundle.close();
343
345
  }));
344
- yield logger__default['default'].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
346
+ yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
345
347
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
346
348
  }));
347
349
  });
@@ -352,22 +354,22 @@ class InnetJS {
352
354
  if (this.projectExtension) {
353
355
  return this.projectExtension;
354
356
  }
355
- yield logger__default['default'].start('Check src', () => {
356
- if (!fs__default['default'].existsSync(this.srcFolder)) {
357
+ yield logger__default["default"].start('Check src', () => {
358
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
357
359
  throw Error('src folder is missing');
358
360
  }
359
361
  });
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
+ yield logger__default["default"].start('Detection of index file', () => {
363
+ if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
362
364
  this.projectExtension = 'js';
363
365
  }
364
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.ts'))) {
366
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
365
367
  this.projectExtension = 'ts';
366
368
  }
367
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.tsx'))) {
369
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
368
370
  this.projectExtension = 'tsx';
369
371
  }
370
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.jsx'))) {
372
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
371
373
  this.projectExtension = 'jsx';
372
374
  }
373
375
  else {
@@ -382,10 +384,10 @@ class InnetJS {
382
384
  if (this.package) {
383
385
  return this.package;
384
386
  }
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);
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);
389
391
  }
390
392
  }));
391
393
  return this.package;
@@ -398,10 +400,10 @@ class InnetJS {
398
400
  var _a;
399
401
  if (!app) {
400
402
  const httpsUsing = !!(cert && key);
401
- app = express__default['default']();
402
- app.use(express__default['default'].static(this.publicFolder));
403
+ app = express__default["default"]();
404
+ app.use(express__default["default"].static(this.publicFolder));
403
405
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
404
- app.use(this.api, proxy__default['default'](this.proxy, {
406
+ app.use(this.api, proxy__default["default"](this.proxy, {
405
407
  https: httpsUsing,
406
408
  proxyReqPathResolver: req => req.originalUrl
407
409
  }));
@@ -409,9 +411,9 @@ class InnetJS {
409
411
  app.use(/^[^.]+$/, (req, res) => {
410
412
  res.sendFile(this.publicFolder + '/index.html');
411
413
  });
412
- const server = httpsUsing ? https__default['default'].createServer({ key, cert }, app) : http__default['default'].createServer(app);
414
+ const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
413
415
  server.listen(this.port, () => {
414
- console.log(`${chalk__default['default'].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
416
+ console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
415
417
  });
416
418
  }
417
419
  }
@@ -422,18 +424,18 @@ class InnetJS {
422
424
  return {
423
425
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
424
426
  app === null || app === void 0 ? void 0 : app.kill();
425
- const filePath = path__default['default'].resolve(this.buildFolder, 'index.js');
426
- let data = yield fs__default['default'].readFile(filePath, 'UTF-8');
427
+ const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
428
+ let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
427
429
  const regExp = new RegExp(`require\\('(${external.join('|')})'\\)`, 'g');
428
- data = data.replace(regExp, `require('${path__default['default'].resolve(this.projectFolder, 'node_modules', '$1')}')`);
429
- yield fs__default['default'].writeFile(filePath, data);
430
+ data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
431
+ yield fs__default["default"].writeFile(filePath, data);
430
432
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
431
433
  })
432
434
  };
433
435
  }
434
436
  }
435
437
 
436
- var version = "1.8.0";
438
+ var version = "1.8.3";
437
439
 
438
440
  require('dotenv').config();
439
441
  const innetJS = new InnetJS();
@@ -443,7 +445,7 @@ commander.program
443
445
  .command('init <app-name>')
444
446
  .description('Create innet boilerplate')
445
447
  .option('-e, --error', 'Show error details')
446
- .option('-t, --template', 'Select template')
448
+ .option('-t, --template <template>', 'Select template fe or be')
447
449
  .action((appName, { error, template }) => {
448
450
  innetJS.init(appName, { template }).catch(e => {
449
451
  if (error) {
package/index.es6.js CHANGED
@@ -92,21 +92,23 @@ class InnetJS {
92
92
  return __awaiter(this, void 0, void 0, function* () {
93
93
  const appPath = path.resolve(appName);
94
94
  if (!template) {
95
- console.log(chalk.green(`Select one of those templates?`));
95
+ logger.log(chalk.green(`Select one of those templates`));
96
96
  const { value } = yield selector({
97
97
  values: ['fe', 'be']
98
98
  });
99
99
  template = value;
100
- readline.moveCursor(process.stdout, 0, -2);
100
+ readline.moveCursor(process.stdout, 0, -1);
101
+ logger.log(`Selected ${value} template`);
101
102
  }
102
103
  if (!force) {
103
104
  yield logger.start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
104
105
  if (fs.existsSync(appPath)) {
105
- console.log(chalk.red(`'${appPath}' already exist, what do you want?`));
106
- const { id: result } = yield selector({
106
+ logger.log(chalk.red(`'${appPath}' already exist, what do you want?`));
107
+ const { id: result, value } = yield selector({
107
108
  values: ['Stop the process', 'Remove the folder', 'Merge with template']
108
109
  });
109
- readline.moveCursor(process.stdout, 0, -2);
110
+ readline.moveCursor(process.stdout, 0, -1);
111
+ logger.log(`Already exist, selected: ${value}`);
110
112
  if (!result) {
111
113
  throw Error(`'${appPath}' already exist`);
112
114
  }
@@ -118,11 +120,11 @@ class InnetJS {
118
120
  }
119
121
  const libPath = path.resolve(__dirname, '..');
120
122
  const templatePath = path.resolve(libPath, 'templates', template);
121
- yield logger.start('Check if the template exists', () => {
123
+ yield logger.start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
122
124
  if (!fs.existsSync(templatePath)) {
123
125
  throw Error(`The template '${template}' is not exist`);
124
126
  }
125
- });
127
+ }));
126
128
  yield logger.start('Copy files', () => fs.copy(templatePath, appPath));
127
129
  yield logger.start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
128
130
  });
@@ -409,4 +411,4 @@ class InnetJS {
409
411
  }
410
412
  }
411
413
 
412
- export default InnetJS;
414
+ export { InnetJS as default };
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['default'].resolve(file);
77
- if (!fs__default['default'].existsSync(file)) {
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['default'].lstatSync(file).isDirectory()) {
80
+ if (fs__default["default"].lstatSync(file).isDirectory()) {
81
81
  let tmpFile = file;
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'))) {
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['default'].existsSync(file)) {
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['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);
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,56 +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['default'].resolve(appName);
115
+ const appPath = path__default["default"].resolve(appName);
116
116
  if (!template) {
117
- console.log(chalk__default['default'].green(`Select one of those templates?`));
118
- const { value } = yield selector__default['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
- readline.moveCursor(process.stdout, 0, -2);
122
+ readline.moveCursor(process.stdout, 0, -1);
123
+ logger__default["default"].log(`Selected ${value} template`);
123
124
  }
124
125
  if (!force) {
125
- yield logger__default['default'].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
126
- if (fs__default['default'].existsSync(appPath)) {
127
- console.log(chalk__default['default'].red(`'${appPath}' already exist, what do you want?`));
128
- const { id: result } = yield selector__default['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"]({
129
130
  values: ['Stop the process', 'Remove the folder', 'Merge with template']
130
131
  });
131
- readline.moveCursor(process.stdout, 0, -2);
132
+ readline.moveCursor(process.stdout, 0, -1);
133
+ logger__default["default"].log(`Already exist, selected: ${value}`);
132
134
  if (!result) {
133
135
  throw Error(`'${appPath}' already exist`);
134
136
  }
135
137
  if (result === 1) {
136
- yield fs__default['default'].remove(appPath);
138
+ yield fs__default["default"].remove(appPath);
137
139
  }
138
140
  }
139
141
  }));
140
142
  }
141
- const libPath = path__default['default'].resolve(__dirname, '..');
142
- const templatePath = path__default['default'].resolve(libPath, 'templates', template);
143
- yield logger__default['default'].start('Check if the template exists', () => {
144
- if (!fs__default['default'].existsSync(templatePath)) {
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)) {
145
147
  throw Error(`The template '${template}' is not exist`);
146
148
  }
147
- });
148
- yield logger__default['default'].start('Copy files', () => fs__default['default'].copy(templatePath, appPath));
149
- yield logger__default['default'].start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
149
+ }));
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`));
150
152
  });
151
153
  }
152
154
  build({ node = false } = {}) {
153
155
  return __awaiter(this, void 0, void 0, function* () {
154
156
  const indexExtension = yield this.getProjectExtension();
155
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
157
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
156
158
  const pkg = node && (yield this.getPackage());
157
159
  const inputOptions = {
158
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
160
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
159
161
  plugins: [
160
- commonjs__default['default'](),
162
+ commonjs__default["default"](),
161
163
  pluginNodeResolve.nodeResolve(),
162
- json__default['default'](),
163
- typescript__default['default'](),
164
- jsx__default['default'](),
164
+ json__default["default"](),
165
+ typescript__default["default"](),
166
+ jsx__default["default"](),
165
167
  string({
166
168
  include: '**/*.*',
167
169
  exclude: [
@@ -185,8 +187,8 @@ class InnetJS {
185
187
  outputOptions.format = 'cjs';
186
188
  }
187
189
  else {
188
- inputOptions.plugins.push(postcss__default['default']({
189
- plugins: [autoprefixer__default['default']()],
190
+ inputOptions.plugins.push(postcss__default["default"]({
191
+ plugins: [autoprefixer__default["default"]()],
190
192
  extract: !this.cssInJs,
191
193
  modules: this.cssModules,
192
194
  sourceMap: this.sourcemap,
@@ -195,22 +197,22 @@ class InnetJS {
195
197
  outputOptions.format = 'es';
196
198
  outputOptions.plugins = [rollupPluginTerser.terser()];
197
199
  }
198
- yield logger__default['default'].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
199
- const bundle = yield rollup__default['default'].rollup(inputOptions);
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);
200
202
  yield bundle.write(outputOptions);
201
203
  yield bundle.close();
202
204
  }));
203
205
  if (pkg) {
204
- yield logger__default['default'].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
206
+ yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
205
207
  const data = Object.assign({}, pkg);
206
208
  delete data.private;
207
209
  delete data.devDependencies;
208
- yield fs__default['default'].writeFile(path__default['default'].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
210
+ yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
209
211
  }));
210
- const pkgLockPath = path__default['default'].resolve(this.projectFolder, 'package-lock.json');
211
- if (fs__default['default'].existsSync(pkgLockPath)) {
212
- yield logger__default['default'].start('Copy package-lock.json', () => {
213
- return fs__default['default'].copy(pkgLockPath, path__default['default'].resolve(this.buildFolder, 'package-lock.json'));
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'));
214
216
  });
215
217
  }
216
218
  }
@@ -220,31 +222,31 @@ class InnetJS {
220
222
  return __awaiter(this, void 0, void 0, function* () {
221
223
  const indexExtension = yield this.getProjectExtension();
222
224
  const pkg = node && (yield this.getPackage());
223
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
225
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
224
226
  const options = {
225
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
227
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
226
228
  output: {
227
229
  dir: this.buildFolder,
228
230
  sourcemap: true
229
231
  },
230
232
  plugins: [
231
- commonjs__default['default'](),
232
- json__default['default'](),
233
- typescript__default['default']({
233
+ commonjs__default["default"](),
234
+ json__default["default"](),
235
+ typescript__default["default"]({
234
236
  tsconfigOverride: {
235
237
  compilerOptions: {
236
238
  sourceMap: true
237
239
  }
238
240
  }
239
241
  }),
240
- jsx__default['default'](),
242
+ jsx__default["default"](),
241
243
  ],
242
244
  };
243
245
  if (node) {
244
246
  options.output.format = 'cjs';
245
247
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
246
248
  options.plugins.push(pluginNodeResolve.nodeResolve({
247
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
249
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
248
250
  }), string({
249
251
  include: '**/*.*',
250
252
  exclude: [
@@ -257,15 +259,15 @@ class InnetJS {
257
259
  }), this.createServer(options.external));
258
260
  }
259
261
  else {
260
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
262
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
261
263
  ? this.sslKey
262
- : fs__default['default'].existsSync(this.sslKey)
263
- ? fs__default['default'].readFileSync(this.sslKey)
264
+ : fs__default["default"].existsSync(this.sslKey)
265
+ ? fs__default["default"].readFileSync(this.sslKey)
264
266
  : undefined;
265
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
267
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
266
268
  ? this.sslCrt
267
- : fs__default['default'].existsSync(this.sslCrt)
268
- ? fs__default['default'].readFileSync(this.sslCrt)
269
+ : fs__default["default"].existsSync(this.sslCrt)
270
+ ? fs__default["default"].readFileSync(this.sslCrt)
269
271
  : undefined;
270
272
  options.output.format = 'es';
271
273
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -279,32 +281,32 @@ class InnetJS {
279
281
  '**/*.css',
280
282
  '**/*.scss',
281
283
  ]
282
- }), postcss__default['default']({
283
- plugins: [autoprefixer__default['default']()],
284
+ }), postcss__default["default"]({
285
+ plugins: [autoprefixer__default["default"]()],
284
286
  modules: this.cssModules,
285
287
  sourceMap: true,
286
288
  extract: !this.cssInJs,
287
289
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
288
290
  }
289
- const watcher = rollup__default['default'].watch(options);
291
+ const watcher = rollup__default["default"].watch(options);
290
292
  watcher.on('event', e => {
291
293
  if (e.code == 'ERROR') {
292
- logger__default['default'].end('Bundling', error ? e.error.stack : e.error.message);
294
+ logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
293
295
  }
294
296
  else if (e.code === 'BUNDLE_START') {
295
- logger__default['default'].start('Bundling');
297
+ logger__default["default"].start('Bundling');
296
298
  }
297
299
  else if (e.code === 'BUNDLE_END') {
298
- logger__default['default'].end('Bundling');
300
+ logger__default["default"].end('Bundling');
299
301
  }
300
302
  });
301
303
  });
302
304
  }
303
305
  run(file) {
304
306
  return __awaiter(this, void 0, void 0, function* () {
305
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
307
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
306
308
  const folder = yield new Promise((resolve, reject) => {
307
- tmp__default['default'].dir((err, folder) => {
309
+ tmp__default["default"].dir((err, folder) => {
308
310
  if (err) {
309
311
  reject(err);
310
312
  }
@@ -314,14 +316,14 @@ class InnetJS {
314
316
  });
315
317
  });
316
318
  const jsFilePath = `${folder}/index.js`;
317
- yield logger__default['default'].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
319
+ yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
318
320
  const inputOptions = {
319
321
  input,
320
322
  plugins: [
321
- commonjs__default['default'](),
323
+ commonjs__default["default"](),
322
324
  pluginNodeResolve.nodeResolve(),
323
- json__default['default'](),
324
- typescript__default['default']({
325
+ json__default["default"](),
326
+ typescript__default["default"]({
325
327
  tsconfigOverride: {
326
328
  compilerOptions: {
327
329
  sourceMap: true
@@ -335,11 +337,11 @@ class InnetJS {
335
337
  file: jsFilePath,
336
338
  sourcemap: true
337
339
  };
338
- const bundle = yield rollup__default['default'].rollup(inputOptions);
340
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
339
341
  yield bundle.write(outputOptions);
340
342
  yield bundle.close();
341
343
  }));
342
- yield logger__default['default'].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
344
+ yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
343
345
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
344
346
  }));
345
347
  });
@@ -350,22 +352,22 @@ class InnetJS {
350
352
  if (this.projectExtension) {
351
353
  return this.projectExtension;
352
354
  }
353
- yield logger__default['default'].start('Check src', () => {
354
- if (!fs__default['default'].existsSync(this.srcFolder)) {
355
+ yield logger__default["default"].start('Check src', () => {
356
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
355
357
  throw Error('src folder is missing');
356
358
  }
357
359
  });
358
- yield logger__default['default'].start('Detection of index file', () => {
359
- if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.js'))) {
360
+ yield logger__default["default"].start('Detection of index file', () => {
361
+ if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
360
362
  this.projectExtension = 'js';
361
363
  }
362
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.ts'))) {
364
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
363
365
  this.projectExtension = 'ts';
364
366
  }
365
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.tsx'))) {
367
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
366
368
  this.projectExtension = 'tsx';
367
369
  }
368
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.jsx'))) {
370
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
369
371
  this.projectExtension = 'jsx';
370
372
  }
371
373
  else {
@@ -380,10 +382,10 @@ class InnetJS {
380
382
  if (this.package) {
381
383
  return this.package;
382
384
  }
383
- const packageFolder = path__default['default'].resolve(this.projectFolder, 'package.json');
384
- yield logger__default['default'].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
385
- if (fs__default['default'].existsSync(packageFolder)) {
386
- this.package = yield fs__default['default'].readJson(packageFolder);
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);
387
389
  }
388
390
  }));
389
391
  return this.package;
@@ -396,10 +398,10 @@ class InnetJS {
396
398
  var _a;
397
399
  if (!app) {
398
400
  const httpsUsing = !!(cert && key);
399
- app = express__default['default']();
400
- app.use(express__default['default'].static(this.publicFolder));
401
+ app = express__default["default"]();
402
+ app.use(express__default["default"].static(this.publicFolder));
401
403
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
402
- app.use(this.api, proxy__default['default'](this.proxy, {
404
+ app.use(this.api, proxy__default["default"](this.proxy, {
403
405
  https: httpsUsing,
404
406
  proxyReqPathResolver: req => req.originalUrl
405
407
  }));
@@ -407,9 +409,9 @@ class InnetJS {
407
409
  app.use(/^[^.]+$/, (req, res) => {
408
410
  res.sendFile(this.publicFolder + '/index.html');
409
411
  });
410
- const server = httpsUsing ? https__default['default'].createServer({ key, cert }, app) : http__default['default'].createServer(app);
412
+ const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
411
413
  server.listen(this.port, () => {
412
- console.log(`${chalk__default['default'].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
414
+ console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
413
415
  });
414
416
  }
415
417
  }
@@ -420,11 +422,11 @@ class InnetJS {
420
422
  return {
421
423
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
422
424
  app === null || app === void 0 ? void 0 : app.kill();
423
- const filePath = path__default['default'].resolve(this.buildFolder, 'index.js');
424
- let data = yield fs__default['default'].readFile(filePath, 'UTF-8');
425
+ const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
426
+ let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
425
427
  const regExp = new RegExp(`require\\('(${external.join('|')})'\\)`, 'g');
426
- data = data.replace(regExp, `require('${path__default['default'].resolve(this.projectFolder, 'node_modules', '$1')}')`);
427
- yield fs__default['default'].writeFile(filePath, data);
428
+ data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
429
+ yield fs__default["default"].writeFile(filePath, data);
428
430
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
429
431
  })
430
432
  };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "innetjs",
3
- "version": "1.8.0",
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>",
7
7
  "license": "MIT",
8
8
  "bin": {
9
- "innetjs": "./bin/innet"
9
+ "innetjs": "bin/innet"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -31,28 +31,28 @@
31
31
  "url": "https://github.com/d8corp/innetjs/issues"
32
32
  },
33
33
  "dependencies": {
34
- "@cantinc/logger": "^1.0.6",
35
- "@rollup/plugin-commonjs": "^17.0.0",
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": "^11.0.1",
38
- "autoprefixer": "^10.1.0",
39
- "chalk": "^4.1.0",
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": "^6.2.1",
42
- "dotenv": "^8.2.0",
43
- "express": "^4.17.1",
44
- "express-http-proxy": "^1.6.2",
45
- "fs-extra": "^9.0.1",
46
- "node-sass": "^5.0.0",
47
- "postcss": "^8.2.1",
48
- "rollup": "^2.35.1",
49
- "rollup-plugin-innet-jsx": "^1.1.2",
50
- "rollup-plugin-livereload": "^2.0.0",
51
- "rollup-plugin-postcss": "^4.0.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.29.0",
54
+ "rollup-plugin-typescript2": "^0.31.2",
55
55
  "tmp": "^0.2.1",
56
- "typescript": "^4.1.3"
56
+ "typescript": "^4.6.2"
57
57
  }
58
58
  }
@@ -7,7 +7,7 @@ To start development run:
7
7
  npm start
8
8
  ```
9
9
 
10
- To build the project run:
10
+ To build the application run:
11
11
  ```shell
12
12
  npm run build
13
13
  ```
@@ -4,10 +4,10 @@
4
4
  "build": "innetjs build -n"
5
5
  },
6
6
  "dependencies": {
7
- "@innet/server": "^1.0.2",
7
+ "@innet/server": "^1.1.0",
8
8
  "innet": "^1.0.0"
9
9
  },
10
10
  "devDependencies": {
11
- "innetjs": "^1.8.0"
11
+ "innetjs": "^1.8.3"
12
12
  }
13
13
  }
@@ -0,0 +1,7 @@
1
+ import { App } from '/view'
2
+
3
+ export default (
4
+ <server onStart={url => console.log(`open: ${url}`)}>
5
+ <App />
6
+ </server>
7
+ )
@@ -0,0 +1,4 @@
1
+ declare module '*.css' {
2
+ const content: Record<string, string>
3
+ export default content
4
+ }
@@ -1,6 +1,6 @@
1
1
  import innet from 'innet'
2
2
  import server from '@innet/server'
3
3
 
4
- import App from './App'
4
+ import app from '/controller'
5
5
 
6
- innet(<App />, server)
6
+ innet(app, server)
@@ -0,0 +1,12 @@
1
+ .root {
2
+ position: absolute;
3
+ top: 50%;
4
+ left: 50%;
5
+ transform: translate(-50%, -50%);
6
+ }
7
+
8
+ .header {
9
+ text-align: center;
10
+ font-family: sans-serif;
11
+ font-size: 40px;
12
+ }
@@ -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,7 @@
1
+ html, body {
2
+ margin: 0;
3
+ padding: 0;
4
+ height: 100vh;
5
+ background: #2B2B2B;
6
+ color: #F7B756;
7
+ }
@@ -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'
@@ -0,0 +1,2 @@
1
+ export * from './App'
2
+ export * from './Page'
@@ -4,10 +4,6 @@
4
4
  "paths": {
5
5
  "/": ["src"],
6
6
  "/*": ["src/*"],
7
- "@cantinc/utils": ["src/@cantinc/utils"],
8
- "@innet/*": ["src/@innet/*"],
9
- "innet/*": ["src/@innet/innet/*"],
10
- "innet": ["src/@innet/innet"],
11
7
  },
12
8
  "target": "ES6",
13
9
  "lib": [
@@ -9,6 +9,6 @@
9
9
  "watch-state": "^3.3.3"
10
10
  },
11
11
  "devDependencies": {
12
- "innetjs": "^1.8.0"
12
+ "innetjs": "^1.8.3"
13
13
  }
14
14
  }
@@ -1,7 +0,0 @@
1
- export default function App () {
2
- return (
3
- <server onStart={url => console.log(`open: ${url}`)}>
4
- Hello World!
5
- </server>
6
- )
7
- }