innetjs 1.8.1 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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', () => __awaiter(this, void 0, void 0, function* () {
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
151
  }));
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
+ 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: [
@@ -185,10 +187,31 @@ class InnetJS {
185
187
  if (node) {
186
188
  inputOptions.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
187
189
  outputOptions.format = 'cjs';
190
+ outputOptions.plugins.push(string({
191
+ include: '**/*.*',
192
+ exclude: [
193
+ '**/*.ts',
194
+ '**/*.tsx',
195
+ '**/*.js',
196
+ '**/*.jsx',
197
+ '**/*.json',
198
+ ]
199
+ }));
188
200
  }
189
201
  else {
190
- inputOptions.plugins.push(postcss__default['default']({
191
- plugins: [autoprefixer__default['default']()],
202
+ inputOptions.plugins.push(string({
203
+ include: '**/*.*',
204
+ exclude: [
205
+ '**/*.ts',
206
+ '**/*.tsx',
207
+ '**/*.js',
208
+ '**/*.jsx',
209
+ '**/*.json',
210
+ '**/*.css',
211
+ '**/*.scss',
212
+ ]
213
+ }), postcss__default["default"]({
214
+ plugins: [autoprefixer__default["default"]()],
192
215
  extract: !this.cssInJs,
193
216
  modules: this.cssModules,
194
217
  sourceMap: this.sourcemap,
@@ -197,22 +220,22 @@ class InnetJS {
197
220
  outputOptions.format = 'es';
198
221
  outputOptions.plugins = [rollupPluginTerser.terser()];
199
222
  }
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);
223
+ yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
224
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
202
225
  yield bundle.write(outputOptions);
203
226
  yield bundle.close();
204
227
  }));
205
228
  if (pkg) {
206
- yield logger__default['default'].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
229
+ yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
207
230
  const data = Object.assign({}, pkg);
208
231
  delete data.private;
209
232
  delete data.devDependencies;
210
- yield fs__default['default'].writeFile(path__default['default'].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
233
+ yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
211
234
  }));
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'));
235
+ const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
236
+ if (fs__default["default"].existsSync(pkgLockPath)) {
237
+ yield logger__default["default"].start('Copy package-lock.json', () => {
238
+ return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
216
239
  });
217
240
  }
218
241
  }
@@ -222,31 +245,31 @@ class InnetJS {
222
245
  return __awaiter(this, void 0, void 0, function* () {
223
246
  const indexExtension = yield this.getProjectExtension();
224
247
  const pkg = node && (yield this.getPackage());
225
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
248
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
226
249
  const options = {
227
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
250
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
228
251
  output: {
229
252
  dir: this.buildFolder,
230
253
  sourcemap: true
231
254
  },
232
255
  plugins: [
233
- commonjs__default['default'](),
234
- json__default['default'](),
235
- typescript__default['default']({
256
+ commonjs__default["default"](),
257
+ json__default["default"](),
258
+ typescript__default["default"]({
236
259
  tsconfigOverride: {
237
260
  compilerOptions: {
238
261
  sourceMap: true
239
262
  }
240
263
  }
241
264
  }),
242
- jsx__default['default'](),
265
+ jsx__default["default"](),
243
266
  ],
244
267
  };
245
268
  if (node) {
246
269
  options.output.format = 'cjs';
247
270
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
248
271
  options.plugins.push(pluginNodeResolve.nodeResolve({
249
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
272
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
250
273
  }), string({
251
274
  include: '**/*.*',
252
275
  exclude: [
@@ -259,15 +282,15 @@ class InnetJS {
259
282
  }), this.createServer(options.external));
260
283
  }
261
284
  else {
262
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
285
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
263
286
  ? this.sslKey
264
- : fs__default['default'].existsSync(this.sslKey)
265
- ? fs__default['default'].readFileSync(this.sslKey)
287
+ : fs__default["default"].existsSync(this.sslKey)
288
+ ? fs__default["default"].readFileSync(this.sslKey)
266
289
  : undefined;
267
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
290
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
268
291
  ? this.sslCrt
269
- : fs__default['default'].existsSync(this.sslCrt)
270
- ? fs__default['default'].readFileSync(this.sslCrt)
292
+ : fs__default["default"].existsSync(this.sslCrt)
293
+ ? fs__default["default"].readFileSync(this.sslCrt)
271
294
  : undefined;
272
295
  options.output.format = 'es';
273
296
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -281,32 +304,32 @@ class InnetJS {
281
304
  '**/*.css',
282
305
  '**/*.scss',
283
306
  ]
284
- }), postcss__default['default']({
285
- plugins: [autoprefixer__default['default']()],
307
+ }), postcss__default["default"]({
308
+ plugins: [autoprefixer__default["default"]()],
286
309
  modules: this.cssModules,
287
310
  sourceMap: true,
288
311
  extract: !this.cssInJs,
289
312
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
290
313
  }
291
- const watcher = rollup__default['default'].watch(options);
314
+ const watcher = rollup__default["default"].watch(options);
292
315
  watcher.on('event', e => {
293
316
  if (e.code == 'ERROR') {
294
- logger__default['default'].end('Bundling', error ? e.error.stack : e.error.message);
317
+ logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
295
318
  }
296
319
  else if (e.code === 'BUNDLE_START') {
297
- logger__default['default'].start('Bundling');
320
+ logger__default["default"].start('Bundling');
298
321
  }
299
322
  else if (e.code === 'BUNDLE_END') {
300
- logger__default['default'].end('Bundling');
323
+ logger__default["default"].end('Bundling');
301
324
  }
302
325
  });
303
326
  });
304
327
  }
305
328
  run(file) {
306
329
  return __awaiter(this, void 0, void 0, function* () {
307
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
330
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
308
331
  const folder = yield new Promise((resolve, reject) => {
309
- tmp__default['default'].dir((err, folder) => {
332
+ tmp__default["default"].dir((err, folder) => {
310
333
  if (err) {
311
334
  reject(err);
312
335
  }
@@ -316,14 +339,14 @@ class InnetJS {
316
339
  });
317
340
  });
318
341
  const jsFilePath = `${folder}/index.js`;
319
- yield logger__default['default'].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
342
+ yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
320
343
  const inputOptions = {
321
344
  input,
322
345
  plugins: [
323
- commonjs__default['default'](),
346
+ commonjs__default["default"](),
324
347
  pluginNodeResolve.nodeResolve(),
325
- json__default['default'](),
326
- typescript__default['default']({
348
+ json__default["default"](),
349
+ typescript__default["default"]({
327
350
  tsconfigOverride: {
328
351
  compilerOptions: {
329
352
  sourceMap: true
@@ -337,11 +360,11 @@ class InnetJS {
337
360
  file: jsFilePath,
338
361
  sourcemap: true
339
362
  };
340
- const bundle = yield rollup__default['default'].rollup(inputOptions);
363
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
341
364
  yield bundle.write(outputOptions);
342
365
  yield bundle.close();
343
366
  }));
344
- yield logger__default['default'].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
367
+ yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
345
368
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
346
369
  }));
347
370
  });
@@ -352,22 +375,22 @@ class InnetJS {
352
375
  if (this.projectExtension) {
353
376
  return this.projectExtension;
354
377
  }
355
- yield logger__default['default'].start('Check src', () => {
356
- if (!fs__default['default'].existsSync(this.srcFolder)) {
378
+ yield logger__default["default"].start('Check src', () => {
379
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
357
380
  throw Error('src folder is missing');
358
381
  }
359
382
  });
360
- yield logger__default['default'].start('Detection of index file', () => {
361
- if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.js'))) {
383
+ yield logger__default["default"].start('Detection of index file', () => {
384
+ if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
362
385
  this.projectExtension = 'js';
363
386
  }
364
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.ts'))) {
387
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
365
388
  this.projectExtension = 'ts';
366
389
  }
367
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.tsx'))) {
390
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
368
391
  this.projectExtension = 'tsx';
369
392
  }
370
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.jsx'))) {
393
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
371
394
  this.projectExtension = 'jsx';
372
395
  }
373
396
  else {
@@ -382,10 +405,10 @@ class InnetJS {
382
405
  if (this.package) {
383
406
  return this.package;
384
407
  }
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);
408
+ const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
409
+ yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
410
+ if (fs__default["default"].existsSync(packageFolder)) {
411
+ this.package = yield fs__default["default"].readJson(packageFolder);
389
412
  }
390
413
  }));
391
414
  return this.package;
@@ -398,10 +421,10 @@ class InnetJS {
398
421
  var _a;
399
422
  if (!app) {
400
423
  const httpsUsing = !!(cert && key);
401
- app = express__default['default']();
402
- app.use(express__default['default'].static(this.publicFolder));
424
+ app = express__default["default"]();
425
+ app.use(express__default["default"].static(this.publicFolder));
403
426
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
404
- app.use(this.api, proxy__default['default'](this.proxy, {
427
+ app.use(this.api, proxy__default["default"](this.proxy, {
405
428
  https: httpsUsing,
406
429
  proxyReqPathResolver: req => req.originalUrl
407
430
  }));
@@ -409,9 +432,9 @@ class InnetJS {
409
432
  app.use(/^[^.]+$/, (req, res) => {
410
433
  res.sendFile(this.publicFolder + '/index.html');
411
434
  });
412
- const server = httpsUsing ? https__default['default'].createServer({ key, cert }, app) : http__default['default'].createServer(app);
435
+ const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
413
436
  server.listen(this.port, () => {
414
- console.log(`${chalk__default['default'].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
437
+ console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
415
438
  });
416
439
  }
417
440
  }
@@ -422,18 +445,18 @@ class InnetJS {
422
445
  return {
423
446
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
424
447
  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');
448
+ const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
449
+ let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
427
450
  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);
451
+ data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
452
+ yield fs__default["default"].writeFile(filePath, data);
430
453
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
431
454
  })
432
455
  };
433
456
  }
434
457
  }
435
458
 
436
- var version = "1.8.1";
459
+ var version = "1.8.4";
437
460
 
438
461
  require('dotenv').config();
439
462
  const innetJS = new InnetJS();
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
  }
@@ -161,9 +163,30 @@ class InnetJS {
161
163
  if (node) {
162
164
  inputOptions.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
163
165
  outputOptions.format = 'cjs';
166
+ outputOptions.plugins.push(string({
167
+ include: '**/*.*',
168
+ exclude: [
169
+ '**/*.ts',
170
+ '**/*.tsx',
171
+ '**/*.js',
172
+ '**/*.jsx',
173
+ '**/*.json',
174
+ ]
175
+ }));
164
176
  }
165
177
  else {
166
- inputOptions.plugins.push(postcss({
178
+ inputOptions.plugins.push(string({
179
+ include: '**/*.*',
180
+ exclude: [
181
+ '**/*.ts',
182
+ '**/*.tsx',
183
+ '**/*.js',
184
+ '**/*.jsx',
185
+ '**/*.json',
186
+ '**/*.css',
187
+ '**/*.scss',
188
+ ]
189
+ }), postcss({
167
190
  plugins: [autoprefixer()],
168
191
  extract: !this.cssInJs,
169
192
  modules: this.cssModules,
@@ -409,4 +432,4 @@ class InnetJS {
409
432
  }
410
433
  }
411
434
 
412
- export default InnetJS;
435
+ 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', () => __awaiter(this, void 0, void 0, function* () {
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
149
  }));
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`));
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: [
@@ -183,10 +185,31 @@ class InnetJS {
183
185
  if (node) {
184
186
  inputOptions.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
185
187
  outputOptions.format = 'cjs';
188
+ outputOptions.plugins.push(string({
189
+ include: '**/*.*',
190
+ exclude: [
191
+ '**/*.ts',
192
+ '**/*.tsx',
193
+ '**/*.js',
194
+ '**/*.jsx',
195
+ '**/*.json',
196
+ ]
197
+ }));
186
198
  }
187
199
  else {
188
- inputOptions.plugins.push(postcss__default['default']({
189
- plugins: [autoprefixer__default['default']()],
200
+ inputOptions.plugins.push(string({
201
+ include: '**/*.*',
202
+ exclude: [
203
+ '**/*.ts',
204
+ '**/*.tsx',
205
+ '**/*.js',
206
+ '**/*.jsx',
207
+ '**/*.json',
208
+ '**/*.css',
209
+ '**/*.scss',
210
+ ]
211
+ }), postcss__default["default"]({
212
+ plugins: [autoprefixer__default["default"]()],
190
213
  extract: !this.cssInJs,
191
214
  modules: this.cssModules,
192
215
  sourceMap: this.sourcemap,
@@ -195,22 +218,22 @@ class InnetJS {
195
218
  outputOptions.format = 'es';
196
219
  outputOptions.plugins = [rollupPluginTerser.terser()];
197
220
  }
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);
221
+ yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
222
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
200
223
  yield bundle.write(outputOptions);
201
224
  yield bundle.close();
202
225
  }));
203
226
  if (pkg) {
204
- yield logger__default['default'].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
227
+ yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
205
228
  const data = Object.assign({}, pkg);
206
229
  delete data.private;
207
230
  delete data.devDependencies;
208
- yield fs__default['default'].writeFile(path__default['default'].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
231
+ yield fs__default["default"].writeFile(path__default["default"].resolve(this.buildFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
209
232
  }));
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'));
233
+ const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
234
+ if (fs__default["default"].existsSync(pkgLockPath)) {
235
+ yield logger__default["default"].start('Copy package-lock.json', () => {
236
+ return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
214
237
  });
215
238
  }
216
239
  }
@@ -220,31 +243,31 @@ class InnetJS {
220
243
  return __awaiter(this, void 0, void 0, function* () {
221
244
  const indexExtension = yield this.getProjectExtension();
222
245
  const pkg = node && (yield this.getPackage());
223
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
246
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
224
247
  const options = {
225
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
248
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
226
249
  output: {
227
250
  dir: this.buildFolder,
228
251
  sourcemap: true
229
252
  },
230
253
  plugins: [
231
- commonjs__default['default'](),
232
- json__default['default'](),
233
- typescript__default['default']({
254
+ commonjs__default["default"](),
255
+ json__default["default"](),
256
+ typescript__default["default"]({
234
257
  tsconfigOverride: {
235
258
  compilerOptions: {
236
259
  sourceMap: true
237
260
  }
238
261
  }
239
262
  }),
240
- jsx__default['default'](),
263
+ jsx__default["default"](),
241
264
  ],
242
265
  };
243
266
  if (node) {
244
267
  options.output.format = 'cjs';
245
268
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
246
269
  options.plugins.push(pluginNodeResolve.nodeResolve({
247
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
270
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
248
271
  }), string({
249
272
  include: '**/*.*',
250
273
  exclude: [
@@ -257,15 +280,15 @@ class InnetJS {
257
280
  }), this.createServer(options.external));
258
281
  }
259
282
  else {
260
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
283
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
261
284
  ? this.sslKey
262
- : fs__default['default'].existsSync(this.sslKey)
263
- ? fs__default['default'].readFileSync(this.sslKey)
285
+ : fs__default["default"].existsSync(this.sslKey)
286
+ ? fs__default["default"].readFileSync(this.sslKey)
264
287
  : undefined;
265
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
288
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
266
289
  ? this.sslCrt
267
- : fs__default['default'].existsSync(this.sslCrt)
268
- ? fs__default['default'].readFileSync(this.sslCrt)
290
+ : fs__default["default"].existsSync(this.sslCrt)
291
+ ? fs__default["default"].readFileSync(this.sslCrt)
269
292
  : undefined;
270
293
  options.output.format = 'es';
271
294
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -279,32 +302,32 @@ class InnetJS {
279
302
  '**/*.css',
280
303
  '**/*.scss',
281
304
  ]
282
- }), postcss__default['default']({
283
- plugins: [autoprefixer__default['default']()],
305
+ }), postcss__default["default"]({
306
+ plugins: [autoprefixer__default["default"]()],
284
307
  modules: this.cssModules,
285
308
  sourceMap: true,
286
309
  extract: !this.cssInJs,
287
310
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
288
311
  }
289
- const watcher = rollup__default['default'].watch(options);
312
+ const watcher = rollup__default["default"].watch(options);
290
313
  watcher.on('event', e => {
291
314
  if (e.code == 'ERROR') {
292
- logger__default['default'].end('Bundling', error ? e.error.stack : e.error.message);
315
+ logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
293
316
  }
294
317
  else if (e.code === 'BUNDLE_START') {
295
- logger__default['default'].start('Bundling');
318
+ logger__default["default"].start('Bundling');
296
319
  }
297
320
  else if (e.code === 'BUNDLE_END') {
298
- logger__default['default'].end('Bundling');
321
+ logger__default["default"].end('Bundling');
299
322
  }
300
323
  });
301
324
  });
302
325
  }
303
326
  run(file) {
304
327
  return __awaiter(this, void 0, void 0, function* () {
305
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
328
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
306
329
  const folder = yield new Promise((resolve, reject) => {
307
- tmp__default['default'].dir((err, folder) => {
330
+ tmp__default["default"].dir((err, folder) => {
308
331
  if (err) {
309
332
  reject(err);
310
333
  }
@@ -314,14 +337,14 @@ class InnetJS {
314
337
  });
315
338
  });
316
339
  const jsFilePath = `${folder}/index.js`;
317
- yield logger__default['default'].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
340
+ yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
318
341
  const inputOptions = {
319
342
  input,
320
343
  plugins: [
321
- commonjs__default['default'](),
344
+ commonjs__default["default"](),
322
345
  pluginNodeResolve.nodeResolve(),
323
- json__default['default'](),
324
- typescript__default['default']({
346
+ json__default["default"](),
347
+ typescript__default["default"]({
325
348
  tsconfigOverride: {
326
349
  compilerOptions: {
327
350
  sourceMap: true
@@ -335,11 +358,11 @@ class InnetJS {
335
358
  file: jsFilePath,
336
359
  sourcemap: true
337
360
  };
338
- const bundle = yield rollup__default['default'].rollup(inputOptions);
361
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
339
362
  yield bundle.write(outputOptions);
340
363
  yield bundle.close();
341
364
  }));
342
- yield logger__default['default'].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
365
+ yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
343
366
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
344
367
  }));
345
368
  });
@@ -350,22 +373,22 @@ class InnetJS {
350
373
  if (this.projectExtension) {
351
374
  return this.projectExtension;
352
375
  }
353
- yield logger__default['default'].start('Check src', () => {
354
- if (!fs__default['default'].existsSync(this.srcFolder)) {
376
+ yield logger__default["default"].start('Check src', () => {
377
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
355
378
  throw Error('src folder is missing');
356
379
  }
357
380
  });
358
- yield logger__default['default'].start('Detection of index file', () => {
359
- if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.js'))) {
381
+ yield logger__default["default"].start('Detection of index file', () => {
382
+ if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.js'))) {
360
383
  this.projectExtension = 'js';
361
384
  }
362
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.ts'))) {
385
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.ts'))) {
363
386
  this.projectExtension = 'ts';
364
387
  }
365
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.tsx'))) {
388
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.tsx'))) {
366
389
  this.projectExtension = 'tsx';
367
390
  }
368
- else if (fs__default['default'].existsSync(path__default['default'].join(this.srcFolder, 'index.jsx'))) {
391
+ else if (fs__default["default"].existsSync(path__default["default"].join(this.srcFolder, 'index.jsx'))) {
369
392
  this.projectExtension = 'jsx';
370
393
  }
371
394
  else {
@@ -380,10 +403,10 @@ class InnetJS {
380
403
  if (this.package) {
381
404
  return this.package;
382
405
  }
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);
406
+ const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
407
+ yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
408
+ if (fs__default["default"].existsSync(packageFolder)) {
409
+ this.package = yield fs__default["default"].readJson(packageFolder);
387
410
  }
388
411
  }));
389
412
  return this.package;
@@ -396,10 +419,10 @@ class InnetJS {
396
419
  var _a;
397
420
  if (!app) {
398
421
  const httpsUsing = !!(cert && key);
399
- app = express__default['default']();
400
- app.use(express__default['default'].static(this.publicFolder));
422
+ app = express__default["default"]();
423
+ app.use(express__default["default"].static(this.publicFolder));
401
424
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
402
- app.use(this.api, proxy__default['default'](this.proxy, {
425
+ app.use(this.api, proxy__default["default"](this.proxy, {
403
426
  https: httpsUsing,
404
427
  proxyReqPathResolver: req => req.originalUrl
405
428
  }));
@@ -407,9 +430,9 @@ class InnetJS {
407
430
  app.use(/^[^.]+$/, (req, res) => {
408
431
  res.sendFile(this.publicFolder + '/index.html');
409
432
  });
410
- const server = httpsUsing ? https__default['default'].createServer({ key, cert }, app) : http__default['default'].createServer(app);
433
+ const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
411
434
  server.listen(this.port, () => {
412
- console.log(`${chalk__default['default'].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
435
+ console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
413
436
  });
414
437
  }
415
438
  }
@@ -420,11 +443,11 @@ class InnetJS {
420
443
  return {
421
444
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
422
445
  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');
446
+ const filePath = path__default["default"].resolve(this.buildFolder, 'index.js');
447
+ let data = yield fs__default["default"].readFile(filePath, 'UTF-8');
425
448
  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);
449
+ data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
450
+ yield fs__default["default"].writeFile(filePath, data);
428
451
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
429
452
  })
430
453
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "innetjs",
3
- "version": "1.8.1",
3
+ "version": "1.8.4",
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.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.1"
11
+ "innetjs": "^1.8.4"
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.1"
12
+ "innetjs": "^1.8.4"
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
- }