innetjs 1.8.2 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/innet 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,58 +114,58 @@ class InnetJS {
114
114
  // Methods
115
115
  init(appName, { template, force = false } = {}) {
116
116
  return __awaiter(this, void 0, void 0, function* () {
117
- const appPath = path__default['default'].resolve(appName);
117
+ const appPath = path__default["default"].resolve(appName);
118
118
  if (!template) {
119
- logger__default['default'].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
124
  readline.moveCursor(process.stdout, 0, -1);
125
- logger__default['default'].log(`Selected ${value} template`);
125
+ logger__default["default"].log(`Selected ${value} template`);
126
126
  }
127
127
  if (!force) {
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']({
128
+ yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
129
+ if (fs__default["default"].existsSync(appPath)) {
130
+ logger__default["default"].log(chalk__default["default"].red(`'${appPath}' already exist, what do you want?`));
131
+ const { id: result, value } = yield selector__default["default"]({
132
132
  values: ['Stop the process', 'Remove the folder', 'Merge with template']
133
133
  });
134
134
  readline.moveCursor(process.stdout, 0, -1);
135
- logger__default['default'].log(`Already exist, selected: ${value}`);
135
+ logger__default["default"].log(`Already exist, selected: ${value}`);
136
136
  if (!result) {
137
137
  throw Error(`'${appPath}' already exist`);
138
138
  }
139
139
  if (result === 1) {
140
- yield fs__default['default'].remove(appPath);
140
+ yield fs__default["default"].remove(appPath);
141
141
  }
142
142
  }
143
143
  }));
144
144
  }
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)) {
145
+ const libPath = path__default["default"].resolve(__dirname, '..');
146
+ const templatePath = path__default["default"].resolve(libPath, 'templates', template);
147
+ yield logger__default["default"].start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
148
+ if (!fs__default["default"].existsSync(templatePath)) {
149
149
  throw Error(`The template '${template}' is not exist`);
150
150
  }
151
151
  }));
152
- yield logger__default['default'].start('Copy files', () => fs__default['default'].copy(templatePath, appPath));
153
- 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`));
154
154
  });
155
155
  }
156
156
  build({ node = false } = {}) {
157
157
  return __awaiter(this, void 0, void 0, function* () {
158
158
  const indexExtension = yield this.getProjectExtension();
159
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
159
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
160
160
  const pkg = node && (yield this.getPackage());
161
161
  const inputOptions = {
162
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
162
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
163
163
  plugins: [
164
- commonjs__default['default'](),
164
+ commonjs__default["default"](),
165
165
  pluginNodeResolve.nodeResolve(),
166
- json__default['default'](),
167
- typescript__default['default'](),
168
- jsx__default['default'](),
166
+ json__default["default"](),
167
+ typescript__default["default"](),
168
+ jsx__default["default"](),
169
169
  string({
170
170
  include: '**/*.*',
171
171
  exclude: [
@@ -189,8 +189,8 @@ class InnetJS {
189
189
  outputOptions.format = 'cjs';
190
190
  }
191
191
  else {
192
- inputOptions.plugins.push(postcss__default['default']({
193
- plugins: [autoprefixer__default['default']()],
192
+ inputOptions.plugins.push(postcss__default["default"]({
193
+ plugins: [autoprefixer__default["default"]()],
194
194
  extract: !this.cssInJs,
195
195
  modules: this.cssModules,
196
196
  sourceMap: this.sourcemap,
@@ -199,22 +199,22 @@ class InnetJS {
199
199
  outputOptions.format = 'es';
200
200
  outputOptions.plugins = [rollupPluginTerser.terser()];
201
201
  }
202
- yield logger__default['default'].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
203
- 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);
204
204
  yield bundle.write(outputOptions);
205
205
  yield bundle.close();
206
206
  }));
207
207
  if (pkg) {
208
- 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* () {
209
209
  const data = Object.assign({}, pkg);
210
210
  delete data.private;
211
211
  delete data.devDependencies;
212
- 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');
213
213
  }));
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'));
214
+ const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
215
+ if (fs__default["default"].existsSync(pkgLockPath)) {
216
+ yield logger__default["default"].start('Copy package-lock.json', () => {
217
+ return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
218
218
  });
219
219
  }
220
220
  }
@@ -224,31 +224,31 @@ class InnetJS {
224
224
  return __awaiter(this, void 0, void 0, function* () {
225
225
  const indexExtension = yield this.getProjectExtension();
226
226
  const pkg = node && (yield this.getPackage());
227
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
227
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
228
228
  const options = {
229
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
229
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
230
230
  output: {
231
231
  dir: this.buildFolder,
232
232
  sourcemap: true
233
233
  },
234
234
  plugins: [
235
- commonjs__default['default'](),
236
- json__default['default'](),
237
- typescript__default['default']({
235
+ commonjs__default["default"](),
236
+ json__default["default"](),
237
+ typescript__default["default"]({
238
238
  tsconfigOverride: {
239
239
  compilerOptions: {
240
240
  sourceMap: true
241
241
  }
242
242
  }
243
243
  }),
244
- jsx__default['default'](),
244
+ jsx__default["default"](),
245
245
  ],
246
246
  };
247
247
  if (node) {
248
248
  options.output.format = 'cjs';
249
249
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
250
250
  options.plugins.push(pluginNodeResolve.nodeResolve({
251
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
251
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
252
252
  }), string({
253
253
  include: '**/*.*',
254
254
  exclude: [
@@ -261,15 +261,15 @@ class InnetJS {
261
261
  }), this.createServer(options.external));
262
262
  }
263
263
  else {
264
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
264
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
265
265
  ? this.sslKey
266
- : fs__default['default'].existsSync(this.sslKey)
267
- ? fs__default['default'].readFileSync(this.sslKey)
266
+ : fs__default["default"].existsSync(this.sslKey)
267
+ ? fs__default["default"].readFileSync(this.sslKey)
268
268
  : undefined;
269
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
269
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
270
270
  ? this.sslCrt
271
- : fs__default['default'].existsSync(this.sslCrt)
272
- ? fs__default['default'].readFileSync(this.sslCrt)
271
+ : fs__default["default"].existsSync(this.sslCrt)
272
+ ? fs__default["default"].readFileSync(this.sslCrt)
273
273
  : undefined;
274
274
  options.output.format = 'es';
275
275
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -283,32 +283,32 @@ class InnetJS {
283
283
  '**/*.css',
284
284
  '**/*.scss',
285
285
  ]
286
- }), postcss__default['default']({
287
- plugins: [autoprefixer__default['default']()],
286
+ }), postcss__default["default"]({
287
+ plugins: [autoprefixer__default["default"]()],
288
288
  modules: this.cssModules,
289
289
  sourceMap: true,
290
290
  extract: !this.cssInJs,
291
291
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
292
292
  }
293
- const watcher = rollup__default['default'].watch(options);
293
+ const watcher = rollup__default["default"].watch(options);
294
294
  watcher.on('event', e => {
295
295
  if (e.code == 'ERROR') {
296
- 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);
297
297
  }
298
298
  else if (e.code === 'BUNDLE_START') {
299
- logger__default['default'].start('Bundling');
299
+ logger__default["default"].start('Bundling');
300
300
  }
301
301
  else if (e.code === 'BUNDLE_END') {
302
- logger__default['default'].end('Bundling');
302
+ logger__default["default"].end('Bundling');
303
303
  }
304
304
  });
305
305
  });
306
306
  }
307
307
  run(file) {
308
308
  return __awaiter(this, void 0, void 0, function* () {
309
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
309
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
310
310
  const folder = yield new Promise((resolve, reject) => {
311
- tmp__default['default'].dir((err, folder) => {
311
+ tmp__default["default"].dir((err, folder) => {
312
312
  if (err) {
313
313
  reject(err);
314
314
  }
@@ -318,14 +318,14 @@ class InnetJS {
318
318
  });
319
319
  });
320
320
  const jsFilePath = `${folder}/index.js`;
321
- yield logger__default['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* () {
322
322
  const inputOptions = {
323
323
  input,
324
324
  plugins: [
325
- commonjs__default['default'](),
325
+ commonjs__default["default"](),
326
326
  pluginNodeResolve.nodeResolve(),
327
- json__default['default'](),
328
- typescript__default['default']({
327
+ json__default["default"](),
328
+ typescript__default["default"]({
329
329
  tsconfigOverride: {
330
330
  compilerOptions: {
331
331
  sourceMap: true
@@ -339,11 +339,11 @@ class InnetJS {
339
339
  file: jsFilePath,
340
340
  sourcemap: true
341
341
  };
342
- const bundle = yield rollup__default['default'].rollup(inputOptions);
342
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
343
343
  yield bundle.write(outputOptions);
344
344
  yield bundle.close();
345
345
  }));
346
- yield logger__default['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* () {
347
347
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
348
348
  }));
349
349
  });
@@ -354,22 +354,22 @@ class InnetJS {
354
354
  if (this.projectExtension) {
355
355
  return this.projectExtension;
356
356
  }
357
- yield logger__default['default'].start('Check src', () => {
358
- if (!fs__default['default'].existsSync(this.srcFolder)) {
357
+ yield logger__default["default"].start('Check src', () => {
358
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
359
359
  throw Error('src folder is missing');
360
360
  }
361
361
  });
362
- yield logger__default['default'].start('Detection of index file', () => {
363
- 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'))) {
364
364
  this.projectExtension = 'js';
365
365
  }
366
- 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'))) {
367
367
  this.projectExtension = 'ts';
368
368
  }
369
- 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'))) {
370
370
  this.projectExtension = 'tsx';
371
371
  }
372
- 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'))) {
373
373
  this.projectExtension = 'jsx';
374
374
  }
375
375
  else {
@@ -384,10 +384,10 @@ class InnetJS {
384
384
  if (this.package) {
385
385
  return this.package;
386
386
  }
387
- const packageFolder = path__default['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);
387
+ const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
388
+ yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
389
+ if (fs__default["default"].existsSync(packageFolder)) {
390
+ this.package = yield fs__default["default"].readJson(packageFolder);
391
391
  }
392
392
  }));
393
393
  return this.package;
@@ -400,10 +400,10 @@ class InnetJS {
400
400
  var _a;
401
401
  if (!app) {
402
402
  const httpsUsing = !!(cert && key);
403
- app = express__default['default']();
404
- app.use(express__default['default'].static(this.publicFolder));
403
+ app = express__default["default"]();
404
+ app.use(express__default["default"].static(this.publicFolder));
405
405
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
406
- app.use(this.api, proxy__default['default'](this.proxy, {
406
+ app.use(this.api, proxy__default["default"](this.proxy, {
407
407
  https: httpsUsing,
408
408
  proxyReqPathResolver: req => req.originalUrl
409
409
  }));
@@ -411,9 +411,9 @@ class InnetJS {
411
411
  app.use(/^[^.]+$/, (req, res) => {
412
412
  res.sendFile(this.publicFolder + '/index.html');
413
413
  });
414
- const server = httpsUsing ? https__default['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);
415
415
  server.listen(this.port, () => {
416
- 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}`);
417
417
  });
418
418
  }
419
419
  }
@@ -424,18 +424,18 @@ class InnetJS {
424
424
  return {
425
425
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
426
426
  app === null || app === void 0 ? void 0 : app.kill();
427
- const filePath = path__default['default'].resolve(this.buildFolder, 'index.js');
428
- 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');
429
429
  const regExp = new RegExp(`require\\('(${external.join('|')})'\\)`, 'g');
430
- data = data.replace(regExp, `require('${path__default['default'].resolve(this.projectFolder, 'node_modules', '$1')}')`);
431
- 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);
432
432
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
433
433
  })
434
434
  };
435
435
  }
436
436
  }
437
437
 
438
- var version = "1.8.2";
438
+ var version = "1.8.3";
439
439
 
440
440
  require('dotenv').config();
441
441
  const innetJS = new InnetJS();
package/index.es6.js CHANGED
@@ -411,4 +411,4 @@ class InnetJS {
411
411
  }
412
412
  }
413
413
 
414
- 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,58 +112,58 @@ class InnetJS {
112
112
  // Methods
113
113
  init(appName, { template, force = false } = {}) {
114
114
  return __awaiter(this, void 0, void 0, function* () {
115
- const appPath = path__default['default'].resolve(appName);
115
+ const appPath = path__default["default"].resolve(appName);
116
116
  if (!template) {
117
- logger__default['default'].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
122
  readline.moveCursor(process.stdout, 0, -1);
123
- logger__default['default'].log(`Selected ${value} template`);
123
+ logger__default["default"].log(`Selected ${value} template`);
124
124
  }
125
125
  if (!force) {
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']({
126
+ yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
127
+ if (fs__default["default"].existsSync(appPath)) {
128
+ logger__default["default"].log(chalk__default["default"].red(`'${appPath}' already exist, what do you want?`));
129
+ const { id: result, value } = yield selector__default["default"]({
130
130
  values: ['Stop the process', 'Remove the folder', 'Merge with template']
131
131
  });
132
132
  readline.moveCursor(process.stdout, 0, -1);
133
- logger__default['default'].log(`Already exist, selected: ${value}`);
133
+ logger__default["default"].log(`Already exist, selected: ${value}`);
134
134
  if (!result) {
135
135
  throw Error(`'${appPath}' already exist`);
136
136
  }
137
137
  if (result === 1) {
138
- yield fs__default['default'].remove(appPath);
138
+ yield fs__default["default"].remove(appPath);
139
139
  }
140
140
  }
141
141
  }));
142
142
  }
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)) {
143
+ const libPath = path__default["default"].resolve(__dirname, '..');
144
+ const templatePath = path__default["default"].resolve(libPath, 'templates', template);
145
+ yield logger__default["default"].start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
146
+ if (!fs__default["default"].existsSync(templatePath)) {
147
147
  throw Error(`The template '${template}' is not exist`);
148
148
  }
149
149
  }));
150
- yield logger__default['default'].start('Copy files', () => fs__default['default'].copy(templatePath, appPath));
151
- 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`));
152
152
  });
153
153
  }
154
154
  build({ node = false } = {}) {
155
155
  return __awaiter(this, void 0, void 0, function* () {
156
156
  const indexExtension = yield this.getProjectExtension();
157
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
157
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
158
158
  const pkg = node && (yield this.getPackage());
159
159
  const inputOptions = {
160
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
160
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
161
161
  plugins: [
162
- commonjs__default['default'](),
162
+ commonjs__default["default"](),
163
163
  pluginNodeResolve.nodeResolve(),
164
- json__default['default'](),
165
- typescript__default['default'](),
166
- jsx__default['default'](),
164
+ json__default["default"](),
165
+ typescript__default["default"](),
166
+ jsx__default["default"](),
167
167
  string({
168
168
  include: '**/*.*',
169
169
  exclude: [
@@ -187,8 +187,8 @@ class InnetJS {
187
187
  outputOptions.format = 'cjs';
188
188
  }
189
189
  else {
190
- inputOptions.plugins.push(postcss__default['default']({
191
- plugins: [autoprefixer__default['default']()],
190
+ inputOptions.plugins.push(postcss__default["default"]({
191
+ plugins: [autoprefixer__default["default"]()],
192
192
  extract: !this.cssInJs,
193
193
  modules: this.cssModules,
194
194
  sourceMap: this.sourcemap,
@@ -197,22 +197,22 @@ class InnetJS {
197
197
  outputOptions.format = 'es';
198
198
  outputOptions.plugins = [rollupPluginTerser.terser()];
199
199
  }
200
- yield logger__default['default'].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
201
- 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);
202
202
  yield bundle.write(outputOptions);
203
203
  yield bundle.close();
204
204
  }));
205
205
  if (pkg) {
206
- 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* () {
207
207
  const data = Object.assign({}, pkg);
208
208
  delete data.private;
209
209
  delete data.devDependencies;
210
- 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');
211
211
  }));
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'));
212
+ const pkgLockPath = path__default["default"].resolve(this.projectFolder, 'package-lock.json');
213
+ if (fs__default["default"].existsSync(pkgLockPath)) {
214
+ yield logger__default["default"].start('Copy package-lock.json', () => {
215
+ return fs__default["default"].copy(pkgLockPath, path__default["default"].resolve(this.buildFolder, 'package-lock.json'));
216
216
  });
217
217
  }
218
218
  }
@@ -222,31 +222,31 @@ class InnetJS {
222
222
  return __awaiter(this, void 0, void 0, function* () {
223
223
  const indexExtension = yield this.getProjectExtension();
224
224
  const pkg = node && (yield this.getPackage());
225
- yield logger__default['default'].start('Remove build', () => fs__default['default'].remove(this.buildFolder));
225
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
226
226
  const options = {
227
- input: path__default['default'].resolve(this.srcFolder, `index.${indexExtension}`),
227
+ input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
228
228
  output: {
229
229
  dir: this.buildFolder,
230
230
  sourcemap: true
231
231
  },
232
232
  plugins: [
233
- commonjs__default['default'](),
234
- json__default['default'](),
235
- typescript__default['default']({
233
+ commonjs__default["default"](),
234
+ json__default["default"](),
235
+ typescript__default["default"]({
236
236
  tsconfigOverride: {
237
237
  compilerOptions: {
238
238
  sourceMap: true
239
239
  }
240
240
  }
241
241
  }),
242
- jsx__default['default'](),
242
+ jsx__default["default"](),
243
243
  ],
244
244
  };
245
245
  if (node) {
246
246
  options.output.format = 'cjs';
247
247
  options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
248
248
  options.plugins.push(pluginNodeResolve.nodeResolve({
249
- moduleDirectories: [path__default['default'].resolve(this.srcFolder, 'node_modules')]
249
+ moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
250
250
  }), string({
251
251
  include: '**/*.*',
252
252
  exclude: [
@@ -259,15 +259,15 @@ class InnetJS {
259
259
  }), this.createServer(options.external));
260
260
  }
261
261
  else {
262
- const key = path__default['default'].basename(this.sslKey) !== this.sslKey
262
+ const key = path__default["default"].basename(this.sslKey) !== this.sslKey
263
263
  ? this.sslKey
264
- : fs__default['default'].existsSync(this.sslKey)
265
- ? fs__default['default'].readFileSync(this.sslKey)
264
+ : fs__default["default"].existsSync(this.sslKey)
265
+ ? fs__default["default"].readFileSync(this.sslKey)
266
266
  : undefined;
267
- const cert = path__default['default'].basename(this.sslCrt) !== this.sslCrt
267
+ const cert = path__default["default"].basename(this.sslCrt) !== this.sslCrt
268
268
  ? this.sslCrt
269
- : fs__default['default'].existsSync(this.sslCrt)
270
- ? fs__default['default'].readFileSync(this.sslCrt)
269
+ : fs__default["default"].existsSync(this.sslCrt)
270
+ ? fs__default["default"].readFileSync(this.sslCrt)
271
271
  : undefined;
272
272
  options.output.format = 'es';
273
273
  options.plugins.push(pluginNodeResolve.nodeResolve(), string({
@@ -281,32 +281,32 @@ class InnetJS {
281
281
  '**/*.css',
282
282
  '**/*.scss',
283
283
  ]
284
- }), postcss__default['default']({
285
- plugins: [autoprefixer__default['default']()],
284
+ }), postcss__default["default"]({
285
+ plugins: [autoprefixer__default["default"]()],
286
286
  modules: this.cssModules,
287
287
  sourceMap: true,
288
288
  extract: !this.cssInJs,
289
289
  }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
290
290
  }
291
- const watcher = rollup__default['default'].watch(options);
291
+ const watcher = rollup__default["default"].watch(options);
292
292
  watcher.on('event', e => {
293
293
  if (e.code == 'ERROR') {
294
- 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);
295
295
  }
296
296
  else if (e.code === 'BUNDLE_START') {
297
- logger__default['default'].start('Bundling');
297
+ logger__default["default"].start('Bundling');
298
298
  }
299
299
  else if (e.code === 'BUNDLE_END') {
300
- logger__default['default'].end('Bundling');
300
+ logger__default["default"].end('Bundling');
301
301
  }
302
302
  });
303
303
  });
304
304
  }
305
305
  run(file) {
306
306
  return __awaiter(this, void 0, void 0, function* () {
307
- const input = yield logger__default['default'].start('Check file', () => getFile(file));
307
+ const input = yield logger__default["default"].start('Check file', () => getFile(file));
308
308
  const folder = yield new Promise((resolve, reject) => {
309
- tmp__default['default'].dir((err, folder) => {
309
+ tmp__default["default"].dir((err, folder) => {
310
310
  if (err) {
311
311
  reject(err);
312
312
  }
@@ -316,14 +316,14 @@ class InnetJS {
316
316
  });
317
317
  });
318
318
  const jsFilePath = `${folder}/index.js`;
319
- yield logger__default['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* () {
320
320
  const inputOptions = {
321
321
  input,
322
322
  plugins: [
323
- commonjs__default['default'](),
323
+ commonjs__default["default"](),
324
324
  pluginNodeResolve.nodeResolve(),
325
- json__default['default'](),
326
- typescript__default['default']({
325
+ json__default["default"](),
326
+ typescript__default["default"]({
327
327
  tsconfigOverride: {
328
328
  compilerOptions: {
329
329
  sourceMap: true
@@ -337,11 +337,11 @@ class InnetJS {
337
337
  file: jsFilePath,
338
338
  sourcemap: true
339
339
  };
340
- const bundle = yield rollup__default['default'].rollup(inputOptions);
340
+ const bundle = yield rollup__default["default"].rollup(inputOptions);
341
341
  yield bundle.write(outputOptions);
342
342
  yield bundle.close();
343
343
  }));
344
- yield logger__default['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* () {
345
345
  spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
346
346
  }));
347
347
  });
@@ -352,22 +352,22 @@ class InnetJS {
352
352
  if (this.projectExtension) {
353
353
  return this.projectExtension;
354
354
  }
355
- yield logger__default['default'].start('Check src', () => {
356
- if (!fs__default['default'].existsSync(this.srcFolder)) {
355
+ yield logger__default["default"].start('Check src', () => {
356
+ if (!fs__default["default"].existsSync(this.srcFolder)) {
357
357
  throw Error('src folder is missing');
358
358
  }
359
359
  });
360
- yield logger__default['default'].start('Detection of index file', () => {
361
- 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'))) {
362
362
  this.projectExtension = 'js';
363
363
  }
364
- 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'))) {
365
365
  this.projectExtension = 'ts';
366
366
  }
367
- 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'))) {
368
368
  this.projectExtension = 'tsx';
369
369
  }
370
- 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'))) {
371
371
  this.projectExtension = 'jsx';
372
372
  }
373
373
  else {
@@ -382,10 +382,10 @@ class InnetJS {
382
382
  if (this.package) {
383
383
  return this.package;
384
384
  }
385
- const packageFolder = path__default['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);
385
+ const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
386
+ yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
387
+ if (fs__default["default"].existsSync(packageFolder)) {
388
+ this.package = yield fs__default["default"].readJson(packageFolder);
389
389
  }
390
390
  }));
391
391
  return this.package;
@@ -398,10 +398,10 @@ class InnetJS {
398
398
  var _a;
399
399
  if (!app) {
400
400
  const httpsUsing = !!(cert && key);
401
- app = express__default['default']();
402
- app.use(express__default['default'].static(this.publicFolder));
401
+ app = express__default["default"]();
402
+ app.use(express__default["default"].static(this.publicFolder));
403
403
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
404
- app.use(this.api, proxy__default['default'](this.proxy, {
404
+ app.use(this.api, proxy__default["default"](this.proxy, {
405
405
  https: httpsUsing,
406
406
  proxyReqPathResolver: req => req.originalUrl
407
407
  }));
@@ -409,9 +409,9 @@ class InnetJS {
409
409
  app.use(/^[^.]+$/, (req, res) => {
410
410
  res.sendFile(this.publicFolder + '/index.html');
411
411
  });
412
- const server = httpsUsing ? https__default['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);
413
413
  server.listen(this.port, () => {
414
- 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}`);
415
415
  });
416
416
  }
417
417
  }
@@ -422,11 +422,11 @@ class InnetJS {
422
422
  return {
423
423
  writeBundle: () => __awaiter(this, void 0, void 0, function* () {
424
424
  app === null || app === void 0 ? void 0 : app.kill();
425
- const filePath = path__default['default'].resolve(this.buildFolder, 'index.js');
426
- 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');
427
427
  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);
428
+ data = data.replace(regExp, `require('${path__default["default"].resolve(this.projectFolder, 'node_modules', '$1')}')`);
429
+ yield fs__default["default"].writeFile(filePath, data);
430
430
  app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
431
431
  })
432
432
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "innetjs",
3
- "version": "1.8.2",
3
+ "version": "1.8.3",
4
4
  "description": "CLI for innet boilerplate",
5
5
  "homepage": "https://github.com/d8corp/innetjs",
6
6
  "author": "Mikhail Lysikov <d8corp@mail.ru>",
@@ -31,28 +31,28 @@
31
31
  "url": "https://github.com/d8corp/innetjs/issues"
32
32
  },
33
33
  "dependencies": {
34
- "@cantinc/logger": "^1.0.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.2"
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.2"
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
- }