innetjs 1.12.1 → 2.0.2

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.
Files changed (40) hide show
  1. package/README.md +0 -3
  2. package/bin/innet +202 -85
  3. package/constants.d.ts +3 -0
  4. package/declaration.d.ts +39 -0
  5. package/extract.d.ts +1 -0
  6. package/helpers.d.ts +5 -0
  7. package/index.d.ts +6 -2
  8. package/index.es6.js +222 -108
  9. package/index.js +201 -84
  10. package/package.json +19 -14
  11. package/templates/be/.env +0 -1
  12. package/templates/be/README.md +0 -15
  13. package/templates/be/package.json +0 -13
  14. package/templates/be/src/controller/index.tsx +0 -7
  15. package/templates/be/src/declaration.d.ts +0 -4
  16. package/templates/be/src/index.tsx +0 -6
  17. package/templates/be/src/view/App/App.css +0 -12
  18. package/templates/be/src/view/App/App.tsx +0 -15
  19. package/templates/be/src/view/App/index.ts +0 -1
  20. package/templates/be/src/view/Page/Page.css +0 -7
  21. package/templates/be/src/view/Page/Page.tsx +0 -24
  22. package/templates/be/src/view/Page/index.ts +0 -1
  23. package/templates/be/src/view/index.ts +0 -2
  24. package/templates/be/tsconfig.json +0 -31
  25. package/templates/fe/.env +0 -1
  26. package/templates/fe/README.md +0 -84
  27. package/templates/fe/package.json +0 -16
  28. package/templates/fe/public/favicon.ico +0 -0
  29. package/templates/fe/public/index.html +0 -14
  30. package/templates/fe/src/App.scss +0 -48
  31. package/templates/fe/src/App.tsx +0 -36
  32. package/templates/fe/src/componenst/Page/Page.scss +0 -22
  33. package/templates/fe/src/componenst/Page/Page.tsx +0 -18
  34. package/templates/fe/src/componenst/Page/index.ts +0 -1
  35. package/templates/fe/src/declaration.d.ts +0 -9
  36. package/templates/fe/src/index.tsx +0 -6
  37. package/templates/fe/src/pages/HomePage/HomePage.scss +0 -25
  38. package/templates/fe/src/pages/HomePage/HomePage.tsx +0 -24
  39. package/templates/fe/src/pages/HomePage/index.ts +0 -1
  40. package/templates/fe/tsconfig.json +0 -30
package/README.md CHANGED
@@ -58,9 +58,6 @@ Use the command in the project folder to build it.
58
58
  innetjs build
59
59
  ```
60
60
 
61
- ## Links
62
- Check [README.md](https://github.com/d8corp/innetjs/tree/main/src/templates/fe) of `fe` template
63
-
64
61
  ## Issues
65
62
  If you find a bug or have a suggestion, please file an issue on [GitHub](https://github.com/d8corp/innetjs/issues).
66
63
 
package/bin/innet CHANGED
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var path = require('path');
4
+ var path$1 = require('path');
5
5
  var fs = require('fs-extra');
6
6
  var http = require('http');
7
7
  var https = require('https');
8
+ var util = require('util');
9
+ var axios = require('axios');
8
10
  var logger = require('@cantinc/logger');
9
11
  var chalk = require('chalk');
10
- var util = require('util');
11
12
  var rollup = require('rollup');
12
13
  var commonjs = require('@rollup/plugin-commonjs');
13
14
  var pluginNodeResolve = require('@rollup/plugin-node-resolve');
14
15
  var rollupPluginTerser = require('rollup-plugin-terser');
15
16
  var typescript = require('rollup-plugin-typescript2');
16
- var postcss = require('rollup-plugin-postcss');
17
+ var styles = require('rollup-plugin-styles');
17
18
  var autoprefixer = require('autoprefixer');
18
19
  var express = require('express');
19
20
  var json = require('@rollup/plugin-json');
@@ -22,20 +23,25 @@ var proxy = require('express-http-proxy');
22
23
  var selector = require('cli-select');
23
24
  var jsx = require('rollup-plugin-innet-jsx');
24
25
  var filesize = require('rollup-plugin-filesize');
26
+ var image = require('@rollup/plugin-image');
27
+ var eslint = require('@rollup/plugin-eslint');
28
+ var linesAndColumns = require('lines-and-columns');
29
+ var unzipper = require('unzipper');
25
30
  var commander = require('commander');
26
31
 
27
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
33
 
29
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
34
+ var path__default = /*#__PURE__*/_interopDefaultLegacy(path$1);
30
35
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
31
36
  var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
32
37
  var https__default = /*#__PURE__*/_interopDefaultLegacy(https);
38
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
33
39
  var logger__default = /*#__PURE__*/_interopDefaultLegacy(logger);
34
40
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
35
41
  var rollup__default = /*#__PURE__*/_interopDefaultLegacy(rollup);
36
42
  var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
37
43
  var typescript__default = /*#__PURE__*/_interopDefaultLegacy(typescript);
38
- var postcss__default = /*#__PURE__*/_interopDefaultLegacy(postcss);
44
+ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
39
45
  var autoprefixer__default = /*#__PURE__*/_interopDefaultLegacy(autoprefixer);
40
46
  var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
41
47
  var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
@@ -44,8 +50,10 @@ var proxy__default = /*#__PURE__*/_interopDefaultLegacy(proxy);
44
50
  var selector__default = /*#__PURE__*/_interopDefaultLegacy(selector);
45
51
  var jsx__default = /*#__PURE__*/_interopDefaultLegacy(jsx);
46
52
  var filesize__default = /*#__PURE__*/_interopDefaultLegacy(filesize);
53
+ var image__default = /*#__PURE__*/_interopDefaultLegacy(image);
54
+ var eslint__default = /*#__PURE__*/_interopDefaultLegacy(eslint);
47
55
 
48
- /*! *****************************************************************************
56
+ /******************************************************************************
49
57
  Copyright (c) Microsoft Corporation.
50
58
 
51
59
  Permission to use, copy, modify, and/or distribute this software for any
@@ -70,12 +78,77 @@ function __awaiter(thisArg, _arguments, P, generator) {
70
78
  });
71
79
  }
72
80
 
73
- const livereload = require('rollup-plugin-livereload');
74
- const { string } = require('rollup-plugin-string');
75
- const { exec, spawn } = require('child_process');
76
- const readline = require('readline');
77
- const execAsync = util.promisify(exec);
78
- require('dotenv').config();
81
+ const Writer = require('fstream').Writer;
82
+ const path = require('path');
83
+ const stream = require('stream');
84
+ const duplexer2 = require('duplexer2');
85
+ const Promise$1 = require('bluebird');
86
+ function Extract(opts, template) {
87
+ const reduceCount = 19 + template.length;
88
+ // make sure path is normalized before using it
89
+ opts.path = path.resolve(path.normalize(opts.path));
90
+ // @ts-ignore
91
+ const parser = new unzipper.Parse(opts);
92
+ const outStream = new stream.Writable({ objectMode: true });
93
+ outStream._write = function (entry, encoding, cb) {
94
+ if (entry.type === 'Directory')
95
+ return cb();
96
+ const extractPath = path.join(opts.path, entry.path.slice(reduceCount));
97
+ if (extractPath.indexOf(opts.path) !== 0) {
98
+ return cb();
99
+ }
100
+ const writer = opts.getWriter ? opts.getWriter({ path: extractPath }) : Writer({ path: extractPath });
101
+ entry.pipe(writer)
102
+ .on('error', cb)
103
+ .on('close', cb);
104
+ };
105
+ const extract = duplexer2(parser, outStream);
106
+ parser.once('crx-header', function (crxHeader) {
107
+ extract.crxHeader = crxHeader;
108
+ });
109
+ parser
110
+ .pipe(outStream)
111
+ .on('finish', function () {
112
+ extract.emit('close');
113
+ });
114
+ extract.promise = function () {
115
+ return new Promise$1(function (resolve, reject) {
116
+ extract.on('close', resolve);
117
+ extract.on('error', reject);
118
+ });
119
+ };
120
+ return extract;
121
+ }
122
+
123
+ const lintIncludeDom = [
124
+ '**/*.ts',
125
+ '**/*.tsx',
126
+ '**/*.js',
127
+ '**/*.jsx',
128
+ ];
129
+ const stringExcludeDom = [
130
+ '**/*.ts',
131
+ '**/*.tsx',
132
+ '**/*.js',
133
+ '**/*.jsx',
134
+ '**/*.json',
135
+ '**/*.css',
136
+ '**/*.scss',
137
+ '**/*.webp',
138
+ '**/*.gif',
139
+ '**/*.png',
140
+ '**/*.jpeg',
141
+ '**/*.jpg',
142
+ '**/*.svg',
143
+ ];
144
+ const stringExcludeNode = [
145
+ '**/*.ts',
146
+ '**/*.tsx',
147
+ '**/*.js',
148
+ '**/*.jsx',
149
+ '**/*.json',
150
+ ];
151
+
79
152
  function getFile(file) {
80
153
  file = path__default["default"].resolve(file);
81
154
  if (!fs__default["default"].existsSync(file)) {
@@ -98,16 +171,35 @@ function getFile(file) {
98
171
  }
99
172
  return file;
100
173
  }
174
+ function convertIndexFile(data, version) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ return data
177
+ .toString()
178
+ .replace('</head>', `<script type="module" defer src="index.js${version ? `?v=${version}` : ''}"></script></head>`);
179
+ });
180
+ }
101
181
  const reporter = (options, outputOptions, info) => {
102
182
  logger__default["default"].log(`${chalk__default["default"].yellow(info.fileName)} ${chalk__default["default"].green(info.bundleSize)} [ gzip: ${chalk__default["default"].green(info.gzipSize)} ]`);
103
183
  return '';
104
- };
184
+ };
185
+
186
+ const livereload = require('rollup-plugin-livereload');
187
+ const { string } = require('rollup-plugin-string');
188
+ const { exec, spawn } = require('child_process');
189
+ const readline = require('readline');
190
+ const execAsync = util.promisify(exec);
191
+ const copyFiles = util.promisify(fs__default["default"].copy);
192
+ require('dotenv').config();
105
193
  class InnetJS {
106
- 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 || '*', } = {}) {
194
+ constructor({ projectFolder = process.env.PROJECT_FOLDER || '', publicFolder = process.env.PUBLIC_FOLDER || 'public', buildFolder = process.env.BUILD_FOLDER || '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' : true, cssInJs = process.env.CSS_IN_JS ? process.env.CSS_IN_JS === 'true' : true, 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 || '*', } = {}) {
107
195
  this.projectFolder = path__default["default"].resolve(projectFolder);
108
196
  this.publicFolder = path__default["default"].resolve(publicFolder);
109
197
  this.buildFolder = path__default["default"].resolve(buildFolder);
110
198
  this.srcFolder = path__default["default"].resolve(srcFolder);
199
+ this.publicIndexFile = path__default["default"].join(publicFolder, 'index.html');
200
+ this.buildIndexFile = path__default["default"].join(buildFolder, 'index.html');
201
+ this.devBuildFolder = path__default["default"].resolve(projectFolder, 'node_modules', '.cache', 'innetjs', 'build');
202
+ this.devBuildIndexFile = path__default["default"].join(this.devBuildFolder, 'index.html');
111
203
  this.sourcemap = sourcemap;
112
204
  this.cssModules = cssModules;
113
205
  this.cssInJs = cssInJs;
@@ -121,14 +213,18 @@ class InnetJS {
121
213
  init(appName, { template, force = false } = {}) {
122
214
  return __awaiter(this, void 0, void 0, function* () {
123
215
  const appPath = path__default["default"].resolve(appName);
124
- if (!template) {
216
+ const { data } = yield logger__default["default"].start('Get templates list', () => __awaiter(this, void 0, void 0, function* () { return yield axios__default["default"].get('https://api.github.com/repos/d8corp/innetjs-templates/branches'); }));
217
+ const templates = data.map(({ name }) => name).filter(name => name !== 'main');
218
+ if (!template || !templates.includes(template)) {
125
219
  logger__default["default"].log(chalk__default["default"].green(`Select one of those templates`));
126
220
  const { value } = yield selector__default["default"]({
127
- values: ['fe', 'be']
221
+ values: templates
128
222
  });
129
223
  template = value;
130
224
  readline.moveCursor(process.stdout, 0, -1);
131
- logger__default["default"].log(`Selected ${value} template`);
225
+ const text = `Selected template: ${chalk__default["default"].white(value)}`;
226
+ logger__default["default"].start(text);
227
+ logger__default["default"].end(text);
132
228
  }
133
229
  if (!force) {
134
230
  yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
@@ -148,14 +244,16 @@ class InnetJS {
148
244
  }
149
245
  }));
150
246
  }
151
- const libPath = path__default["default"].resolve(__dirname, '..');
152
- const templatePath = path__default["default"].resolve(libPath, 'templates', template);
153
- yield logger__default["default"].start('Check if the template exists', () => __awaiter(this, void 0, void 0, function* () {
154
- if (!fs__default["default"].existsSync(templatePath)) {
155
- throw Error(`The template '${template}' is not exist`);
156
- }
247
+ yield logger__default["default"].start('Download template', () => __awaiter(this, void 0, void 0, function* () {
248
+ const { data } = yield axios__default["default"].get(`https://github.com/d8corp/innetjs-templates/archive/refs/heads/${template}.zip`, {
249
+ responseType: 'stream'
250
+ });
251
+ yield new Promise((resolve, reject) => {
252
+ data.pipe(Extract({
253
+ path: appPath,
254
+ }, template)).on('finish', resolve).on('error', reject);
255
+ });
157
256
  }));
158
- yield logger__default["default"].start('Copy files', () => fs__default["default"].copy(templatePath, appPath));
159
257
  yield logger__default["default"].start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
160
258
  });
161
259
  }
@@ -166,6 +264,7 @@ class InnetJS {
166
264
  const pkg = node && (yield this.getPackage());
167
265
  const inputOptions = {
168
266
  input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
267
+ preserveEntrySignatures: 'strict',
169
268
  plugins: [
170
269
  commonjs__default["default"](),
171
270
  json__default["default"](),
@@ -184,34 +283,30 @@ class InnetJS {
184
283
  moduleDirectories: [path__default["default"].resolve(this.buildFolder, 'node_modules')]
185
284
  }), string({
186
285
  include: '**/*.*',
187
- exclude: [
188
- '**/*.ts',
189
- '**/*.tsx',
190
- '**/*.js',
191
- '**/*.jsx',
192
- '**/*.json',
193
- ]
286
+ exclude: stringExcludeNode,
194
287
  }));
195
288
  }
196
289
  else {
197
- inputOptions.plugins.push(pluginNodeResolve.nodeResolve(), string({
198
- include: '**/*.*',
199
- exclude: [
200
- '**/*.ts',
201
- '**/*.tsx',
202
- '**/*.js',
203
- '**/*.jsx',
204
- '**/*.json',
205
- '**/*.css',
206
- '**/*.scss',
207
- ]
208
- }), postcss__default["default"]({
209
- plugins: [autoprefixer__default["default"]()],
210
- extract: !this.cssInJs,
211
- modules: this.cssModules,
212
- sourceMap: this.sourcemap,
213
- minimize: true
214
- }));
290
+ inputOptions.plugins = [
291
+ eslint__default["default"]({
292
+ include: lintIncludeDom,
293
+ }),
294
+ ...inputOptions.plugins,
295
+ pluginNodeResolve.nodeResolve(),
296
+ image__default["default"](),
297
+ styles__default["default"]({
298
+ mode: this.cssInJs ? 'inject' : 'extract',
299
+ url: true,
300
+ plugins: [autoprefixer__default["default"]()],
301
+ modules: this.cssModules,
302
+ sourceMap: this.sourcemap,
303
+ minimize: true,
304
+ }),
305
+ string({
306
+ include: '**/*.*',
307
+ exclude: stringExcludeDom,
308
+ }),
309
+ ];
215
310
  outputOptions.format = 'es';
216
311
  outputOptions.plugins = [
217
312
  rollupPluginTerser.terser(),
@@ -224,6 +319,12 @@ class InnetJS {
224
319
  const bundle = yield rollup__default["default"].rollup(inputOptions);
225
320
  yield bundle.write(outputOptions);
226
321
  yield bundle.close();
322
+ if (!node) {
323
+ yield copyFiles(this.publicFolder, this.buildFolder);
324
+ const data = yield fs.promises.readFile(this.publicIndexFile);
325
+ const pkg = yield this.getPackage();
326
+ yield fs.promises.writeFile(this.buildIndexFile, yield convertIndexFile(data, pkg.version));
327
+ }
227
328
  }));
228
329
  if (pkg) {
229
330
  yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
@@ -244,12 +345,13 @@ class InnetJS {
244
345
  start({ node = false, error = false } = {}) {
245
346
  return __awaiter(this, void 0, void 0, function* () {
246
347
  const indexExtension = yield this.getProjectExtension();
247
- const pkg = node && (yield this.getPackage());
248
- yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
348
+ const pkg = yield this.getPackage();
349
+ yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.devBuildFolder));
249
350
  const options = {
250
351
  input: path__default["default"].resolve(this.srcFolder, `index.${indexExtension}`),
352
+ preserveEntrySignatures: 'strict',
251
353
  output: {
252
- dir: this.buildFolder,
354
+ dir: this.devBuildFolder,
253
355
  sourcemap: true
254
356
  },
255
357
  plugins: [
@@ -272,13 +374,7 @@ class InnetJS {
272
374
  moduleDirectories: [path__default["default"].resolve(this.srcFolder, 'node_modules')]
273
375
  }), string({
274
376
  include: '**/*.*',
275
- exclude: [
276
- '**/*.ts',
277
- '**/*.tsx',
278
- '**/*.js',
279
- '**/*.jsx',
280
- '**/*.json',
281
- ]
377
+ exclude: stringExcludeNode,
282
378
  }), this.createServer(options.external));
283
379
  }
284
380
  else {
@@ -293,28 +389,42 @@ class InnetJS {
293
389
  ? fs__default["default"].readFileSync(this.sslCrt)
294
390
  : undefined;
295
391
  options.output.format = 'es';
296
- options.plugins.push(pluginNodeResolve.nodeResolve(), string({
297
- include: '**/*.*',
298
- exclude: [
299
- '**/*.ts',
300
- '**/*.tsx',
301
- '**/*.js',
302
- '**/*.jsx',
303
- '**/*.json',
304
- '**/*.css',
305
- '**/*.scss',
306
- ]
307
- }), postcss__default["default"]({
308
- plugins: [autoprefixer__default["default"]()],
309
- modules: this.cssModules,
310
- sourceMap: true,
311
- extract: !this.cssInJs,
312
- }), this.createClient(key, cert), livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {}))));
392
+ options.plugins = [
393
+ eslint__default["default"]({
394
+ include: lintIncludeDom,
395
+ }),
396
+ ...options.plugins,
397
+ pluginNodeResolve.nodeResolve(),
398
+ image__default["default"](),
399
+ styles__default["default"]({
400
+ mode: this.cssInJs ? 'inject' : 'extract',
401
+ url: true,
402
+ plugins: [autoprefixer__default["default"]()],
403
+ modules: this.cssModules,
404
+ sourceMap: true,
405
+ }),
406
+ string({
407
+ include: '**/*.*',
408
+ exclude: stringExcludeDom,
409
+ }),
410
+ this.createClient(key, cert, pkg),
411
+ livereload(Object.assign({ watch: this.publicFolder, verbose: false }, (key && cert ? { https: { key, cert } } : {})))
412
+ ];
313
413
  }
314
414
  const watcher = rollup__default["default"].watch(options);
315
- watcher.on('event', e => {
415
+ watcher.on('event', (e) => __awaiter(this, void 0, void 0, function* () {
316
416
  if (e.code == 'ERROR') {
317
- logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
417
+ if (e.error.code === 'UNRESOLVED_IMPORT') {
418
+ const [, importer, file] = e.error.message.match(/^Could not resolve '(.+)' from (.+)$/);
419
+ const text = (yield fs__default["default"].readFile(file)).toString();
420
+ const lines = new linesAndColumns.LinesAndColumns(text);
421
+ const { line, column } = lines.locationForIndex(text.indexOf(importer));
422
+ logger__default["default"].end('Bundling', e.error.message);
423
+ console.log(`ERROR in ${file}:${line + 1}:${column + 1}`);
424
+ }
425
+ else {
426
+ logger__default["default"].end('Bundling', error ? e.error.stack : e.error.message);
427
+ }
318
428
  }
319
429
  else if (e.code === 'BUNDLE_START') {
320
430
  logger__default["default"].start('Bundling');
@@ -322,7 +432,7 @@ class InnetJS {
322
432
  else if (e.code === 'BUNDLE_END') {
323
433
  logger__default["default"].end('Bundling');
324
434
  }
325
- });
435
+ }));
326
436
  });
327
437
  }
328
438
  run(file) {
@@ -414,14 +524,21 @@ class InnetJS {
414
524
  return this.package;
415
525
  });
416
526
  }
417
- createClient(key, cert) {
527
+ createClient(key, cert, pkg) {
418
528
  let app;
419
529
  return {
420
- writeBundle: () => {
530
+ writeBundle: () => __awaiter(this, void 0, void 0, function* () {
421
531
  var _a;
422
532
  if (!app) {
423
- const httpsUsing = !!(cert && key);
424
533
  app = express__default["default"]();
534
+ const update = () => __awaiter(this, void 0, void 0, function* () {
535
+ const data = yield fs.promises.readFile(this.publicIndexFile);
536
+ yield fs.promises.writeFile(this.devBuildIndexFile, yield convertIndexFile(data, pkg.version));
537
+ });
538
+ fs__default["default"].watch(this.publicIndexFile, update);
539
+ yield update();
540
+ const httpsUsing = !!(cert && key);
541
+ app.use(express__default["default"].static(this.devBuildFolder));
425
542
  app.use(express__default["default"].static(this.publicFolder));
426
543
  if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
427
544
  app.use(this.api, proxy__default["default"](this.proxy, {
@@ -430,14 +547,14 @@ class InnetJS {
430
547
  }));
431
548
  }
432
549
  app.use(/^[^.]+$/, (req, res) => {
433
- res.sendFile(this.publicFolder + '/index.html');
550
+ res.sendFile(this.devBuildFolder + '/index.html');
434
551
  });
435
552
  const server = httpsUsing ? https__default["default"].createServer({ key, cert }, app) : http__default["default"].createServer(app);
436
553
  server.listen(this.port, () => {
437
554
  console.log(`${chalk__default["default"].green('➤')} Server started on http${httpsUsing ? 's' : ''}://localhost:${this.port}`);
438
555
  });
439
556
  }
440
- }
557
+ })
441
558
  };
442
559
  }
443
560
  createServer(external) {
@@ -456,7 +573,7 @@ class InnetJS {
456
573
  }
457
574
  }
458
575
 
459
- var version = "1.12.1";
576
+ var version = "2.0.2";
460
577
 
461
578
  require('dotenv').config();
462
579
  const innetJS = new InnetJS();
package/constants.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare const lintIncludeDom: string[];
2
+ export declare const stringExcludeDom: string[];
3
+ export declare const stringExcludeNode: string[];
@@ -0,0 +1,39 @@
1
+ declare module '*.scss' {
2
+ const content: Record<string, string>
3
+ export default content
4
+ }
5
+
6
+ declare module '*.css' {
7
+ const content: Record<string, string>
8
+ export default content
9
+ }
10
+
11
+ declare module '*.svg' {
12
+ const content: string
13
+ export default content
14
+ }
15
+
16
+ declare module '*.jpg' {
17
+ const content: string
18
+ export default content
19
+ }
20
+
21
+ declare module '*.jpeg' {
22
+ const content: string
23
+ export default content
24
+ }
25
+
26
+ declare module '*.png' {
27
+ const content: string
28
+ export default content
29
+ }
30
+
31
+ declare module '*.gif' {
32
+ const content: string
33
+ export default content
34
+ }
35
+
36
+ declare module '*.webp' {
37
+ const content: string
38
+ export default content
39
+ }
package/extract.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function Extract(opts: any, template: any): any;
package/helpers.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import { FileSizeRender } from 'rollup-plugin-filesize';
3
+ export declare function getFile(file: any): any;
4
+ export declare function convertIndexFile(data: Buffer, version: string): Promise<string>;
5
+ export declare const reporter: FileSizeRender<string | Promise<string>>;
package/index.d.ts CHANGED
@@ -3,7 +3,11 @@ export default class InnetJS {
3
3
  projectFolder: string;
4
4
  publicFolder: string;
5
5
  buildFolder: string;
6
+ devBuildFolder: string;
6
7
  srcFolder: string;
8
+ publicIndexFile: string;
9
+ buildIndexFile: string;
10
+ devBuildIndexFile: string;
7
11
  sslKey: string;
8
12
  sslCrt: string;
9
13
  proxy: string;
@@ -39,8 +43,8 @@ export default class InnetJS {
39
43
  run(file: any): Promise<void>;
40
44
  getProjectExtension(): Promise<Extensions>;
41
45
  getPackage(): Promise<Record<string, any>>;
42
- createClient(key: any, cert: any): {
43
- writeBundle: () => void;
46
+ createClient(key: any, cert: any, pkg: any): {
47
+ writeBundle: () => Promise<void>;
44
48
  };
45
49
  createServer(external: string[]): {
46
50
  writeBundle: () => Promise<void>;