innetjs 2.1.6 → 2.2.1
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 +364 -226
- package/bin/innet.d.ts +2 -0
- package/constants.d.ts +1 -1
- package/constants.js +36 -0
- package/constants.mjs +30 -0
- package/extract.js +49 -0
- package/extract.mjs +45 -0
- package/helpers.js +54 -0
- package/helpers.mjs +41 -0
- package/index.d.ts +26 -14
- package/index.js +318 -300
- package/{index.es6.js → index.mjs} +284 -272
- package/package.json +23 -3
package/bin/innet
CHANGED
|
@@ -1,90 +1,100 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var http = require('http');
|
|
7
|
-
var address = require('address');
|
|
8
|
-
var https = require('https');
|
|
9
|
-
var util = require('util');
|
|
10
|
-
var axios = require('axios');
|
|
4
|
+
var commander = require('commander');
|
|
5
|
+
var tslib = require('tslib');
|
|
11
6
|
var logger = require('@cantinc/logger');
|
|
12
|
-
var chalk = require('chalk');
|
|
13
|
-
var rollup = require('rollup');
|
|
14
7
|
var commonjs = require('@rollup/plugin-commonjs');
|
|
8
|
+
var eslint = require('@rollup/plugin-eslint');
|
|
9
|
+
var image = require('@rollup/plugin-image');
|
|
10
|
+
var json = require('@rollup/plugin-json');
|
|
15
11
|
var pluginNodeResolve = require('@rollup/plugin-node-resolve');
|
|
16
|
-
var
|
|
17
|
-
var typescript = require('rollup-plugin-typescript2');
|
|
18
|
-
var styles = require('rollup-plugin-styles');
|
|
12
|
+
var address = require('address');
|
|
19
13
|
var autoprefixer = require('autoprefixer');
|
|
14
|
+
var axios = require('axios');
|
|
15
|
+
var chalk = require('chalk');
|
|
16
|
+
var selector = require('cli-select');
|
|
20
17
|
var express = require('express');
|
|
21
|
-
var json = require('@rollup/plugin-json');
|
|
22
|
-
var tmp = require('tmp');
|
|
23
18
|
var proxy = require('express-http-proxy');
|
|
24
|
-
var
|
|
19
|
+
var fs = require('fs-extra');
|
|
20
|
+
var glob = require('glob');
|
|
21
|
+
var http = require('node:http');
|
|
22
|
+
var https = require('node:https');
|
|
23
|
+
var linesAndColumns = require('lines-and-columns');
|
|
24
|
+
var path$1 = require('node:path');
|
|
25
25
|
var prompt = require('prompts');
|
|
26
|
-
var
|
|
26
|
+
var rollup = require('rollup');
|
|
27
27
|
var filesize = require('rollup-plugin-filesize');
|
|
28
|
-
var image = require('@rollup/plugin-image');
|
|
29
|
-
var eslint = require('@rollup/plugin-eslint');
|
|
30
|
-
var polyfill = require('rollup-plugin-polyfill-node');
|
|
31
28
|
var injectEnv = require('rollup-plugin-inject-process-env');
|
|
32
|
-
var
|
|
29
|
+
var jsx = require('rollup-plugin-innet-jsx');
|
|
30
|
+
var externals = require('rollup-plugin-node-externals');
|
|
31
|
+
var polyfill = require('rollup-plugin-polyfill-node');
|
|
32
|
+
var rollupPluginPreserveShebangs = require('rollup-plugin-preserve-shebangs');
|
|
33
|
+
var styles = require('rollup-plugin-styles');
|
|
34
|
+
var rollupPluginTerser = require('rollup-plugin-terser');
|
|
35
|
+
var typescript = require('rollup-plugin-typescript2');
|
|
36
|
+
var tmp = require('tmp');
|
|
37
|
+
var node_util = require('node:util');
|
|
33
38
|
var unzipper = require('unzipper');
|
|
34
|
-
var commander = require('commander');
|
|
35
39
|
|
|
36
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
37
41
|
|
|
38
|
-
var path__default = /*#__PURE__*/_interopDefaultLegacy(path$1);
|
|
39
|
-
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
40
|
-
var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
|
|
41
|
-
var address__default = /*#__PURE__*/_interopDefaultLegacy(address);
|
|
42
|
-
var https__default = /*#__PURE__*/_interopDefaultLegacy(https);
|
|
43
|
-
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
44
42
|
var logger__default = /*#__PURE__*/_interopDefaultLegacy(logger);
|
|
45
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
46
|
-
var rollup__default = /*#__PURE__*/_interopDefaultLegacy(rollup);
|
|
47
43
|
var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
|
|
48
|
-
var
|
|
49
|
-
var
|
|
44
|
+
var eslint__default = /*#__PURE__*/_interopDefaultLegacy(eslint);
|
|
45
|
+
var image__default = /*#__PURE__*/_interopDefaultLegacy(image);
|
|
46
|
+
var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
|
|
47
|
+
var address__default = /*#__PURE__*/_interopDefaultLegacy(address);
|
|
50
48
|
var autoprefixer__default = /*#__PURE__*/_interopDefaultLegacy(autoprefixer);
|
|
49
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
50
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
51
|
+
var selector__default = /*#__PURE__*/_interopDefaultLegacy(selector);
|
|
51
52
|
var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
|
|
52
|
-
var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
|
|
53
|
-
var tmp__default = /*#__PURE__*/_interopDefaultLegacy(tmp);
|
|
54
53
|
var proxy__default = /*#__PURE__*/_interopDefaultLegacy(proxy);
|
|
55
|
-
var
|
|
54
|
+
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
55
|
+
var glob__default = /*#__PURE__*/_interopDefaultLegacy(glob);
|
|
56
|
+
var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
|
|
57
|
+
var https__default = /*#__PURE__*/_interopDefaultLegacy(https);
|
|
58
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path$1);
|
|
56
59
|
var prompt__default = /*#__PURE__*/_interopDefaultLegacy(prompt);
|
|
57
|
-
var
|
|
60
|
+
var rollup__default = /*#__PURE__*/_interopDefaultLegacy(rollup);
|
|
58
61
|
var filesize__default = /*#__PURE__*/_interopDefaultLegacy(filesize);
|
|
59
|
-
var image__default = /*#__PURE__*/_interopDefaultLegacy(image);
|
|
60
|
-
var eslint__default = /*#__PURE__*/_interopDefaultLegacy(eslint);
|
|
61
|
-
var polyfill__default = /*#__PURE__*/_interopDefaultLegacy(polyfill);
|
|
62
62
|
var injectEnv__default = /*#__PURE__*/_interopDefaultLegacy(injectEnv);
|
|
63
|
+
var jsx__default = /*#__PURE__*/_interopDefaultLegacy(jsx);
|
|
64
|
+
var externals__default = /*#__PURE__*/_interopDefaultLegacy(externals);
|
|
65
|
+
var polyfill__default = /*#__PURE__*/_interopDefaultLegacy(polyfill);
|
|
66
|
+
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
67
|
+
var typescript__default = /*#__PURE__*/_interopDefaultLegacy(typescript);
|
|
68
|
+
var tmp__default = /*#__PURE__*/_interopDefaultLegacy(tmp);
|
|
63
69
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
70
|
+
const lintInclude = [
|
|
71
|
+
'**/*.ts',
|
|
72
|
+
'**/*.tsx',
|
|
73
|
+
'**/*.js',
|
|
74
|
+
'**/*.jsx',
|
|
75
|
+
];
|
|
76
|
+
const stringExcludeDom = [
|
|
77
|
+
'**/*.ts',
|
|
78
|
+
'**/*.tsx',
|
|
79
|
+
'**/*.js',
|
|
80
|
+
'**/*.jsx',
|
|
81
|
+
'**/*.json',
|
|
82
|
+
'**/*.css',
|
|
83
|
+
'**/*.scss',
|
|
84
|
+
'**/*.webp',
|
|
85
|
+
'**/*.gif',
|
|
86
|
+
'**/*.png',
|
|
87
|
+
'**/*.jpeg',
|
|
88
|
+
'**/*.jpg',
|
|
89
|
+
'**/*.svg',
|
|
90
|
+
];
|
|
91
|
+
const stringExcludeNode = [
|
|
92
|
+
'**/*.ts',
|
|
93
|
+
'**/*.tsx',
|
|
94
|
+
'**/*.js',
|
|
95
|
+
'**/*.jsx',
|
|
96
|
+
'**/*.json',
|
|
97
|
+
];
|
|
88
98
|
|
|
89
99
|
const Writer = require('fstream').Writer;
|
|
90
100
|
const path = require('path');
|
|
@@ -95,7 +105,7 @@ function Extract(opts, template) {
|
|
|
95
105
|
const reduceCount = 19 + template.length;
|
|
96
106
|
// make sure path is normalized before using it
|
|
97
107
|
opts.path = path.resolve(path.normalize(opts.path));
|
|
98
|
-
// @ts-
|
|
108
|
+
// @ts-expect-error
|
|
99
109
|
const parser = new unzipper.Parse(opts);
|
|
100
110
|
const outStream = new stream.Writable({ objectMode: true });
|
|
101
111
|
outStream._write = function (entry, encoding, cb) {
|
|
@@ -128,35 +138,6 @@ function Extract(opts, template) {
|
|
|
128
138
|
return extract;
|
|
129
139
|
}
|
|
130
140
|
|
|
131
|
-
const lintIncludeDom = [
|
|
132
|
-
'**/*.ts',
|
|
133
|
-
'**/*.tsx',
|
|
134
|
-
'**/*.js',
|
|
135
|
-
'**/*.jsx',
|
|
136
|
-
];
|
|
137
|
-
const stringExcludeDom = [
|
|
138
|
-
'**/*.ts',
|
|
139
|
-
'**/*.tsx',
|
|
140
|
-
'**/*.js',
|
|
141
|
-
'**/*.jsx',
|
|
142
|
-
'**/*.json',
|
|
143
|
-
'**/*.css',
|
|
144
|
-
'**/*.scss',
|
|
145
|
-
'**/*.webp',
|
|
146
|
-
'**/*.gif',
|
|
147
|
-
'**/*.png',
|
|
148
|
-
'**/*.jpeg',
|
|
149
|
-
'**/*.jpg',
|
|
150
|
-
'**/*.svg',
|
|
151
|
-
];
|
|
152
|
-
const stringExcludeNode = [
|
|
153
|
-
'**/*.ts',
|
|
154
|
-
'**/*.tsx',
|
|
155
|
-
'**/*.js',
|
|
156
|
-
'**/*.jsx',
|
|
157
|
-
'**/*.json',
|
|
158
|
-
];
|
|
159
|
-
|
|
160
141
|
function getFile(file) {
|
|
161
142
|
file = path__default["default"].resolve(file);
|
|
162
143
|
if (!fs__default["default"].existsSync(file)) {
|
|
@@ -180,7 +161,7 @@ function getFile(file) {
|
|
|
180
161
|
return file;
|
|
181
162
|
}
|
|
182
163
|
function convertIndexFile(data, version, baseUrl) {
|
|
183
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
184
165
|
return data
|
|
185
166
|
.toString()
|
|
186
167
|
.replace('</head>', `<script type="module" defer src="${baseUrl}index.js${version ? `?v=${version}` : ''}"></script></head>`);
|
|
@@ -195,8 +176,8 @@ const livereload = require('rollup-plugin-livereload');
|
|
|
195
176
|
const { string } = require('rollup-plugin-string');
|
|
196
177
|
const { exec, spawn } = require('child_process');
|
|
197
178
|
const readline = require('readline');
|
|
198
|
-
const execAsync =
|
|
199
|
-
const copyFiles =
|
|
179
|
+
const execAsync = node_util.promisify(exec);
|
|
180
|
+
const copyFiles = node_util.promisify(fs__default["default"].copy);
|
|
200
181
|
const dotenvConfigOutput$1 = require('dotenv').config();
|
|
201
182
|
require('dotenv-expand').expand(dotenvConfigOutput$1);
|
|
202
183
|
const REG_CLEAR_TEXT = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
|
|
@@ -211,12 +192,21 @@ const innetEnv = Object.keys(process.env).reduce((result, key) => {
|
|
|
211
192
|
}
|
|
212
193
|
return result;
|
|
213
194
|
}, {});
|
|
195
|
+
const scriptExtensions = ['ts', 'js', 'tsx', 'jsx'];
|
|
196
|
+
const indexExt = scriptExtensions.join(',');
|
|
214
197
|
class InnetJS {
|
|
215
|
-
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', baseUrl = process.env.BASE_URL || '/', 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 || '/api/?*', } = {}) {
|
|
198
|
+
constructor({ projectFolder = process.env.PROJECT_FOLDER || '', baseUrl = process.env.BASE_URL || '/', publicFolder = process.env.PUBLIC_FOLDER || 'public', releaseFolder = process.env.RELEASE_FOLDER || 'release', 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 || '/api/?*', } = {}) {
|
|
216
199
|
this.projectFolder = path__default["default"].resolve(projectFolder);
|
|
217
200
|
this.publicFolder = path__default["default"].resolve(publicFolder);
|
|
201
|
+
this.releaseFolder = path__default["default"].resolve(releaseFolder);
|
|
218
202
|
this.buildFolder = path__default["default"].resolve(buildFolder);
|
|
219
203
|
this.srcFolder = path__default["default"].resolve(srcFolder);
|
|
204
|
+
this.licenseFile = path__default["default"].join(projectFolder, 'LICENSE');
|
|
205
|
+
this.licenseReleaseFile = path__default["default"].join(releaseFolder, 'LICENSE');
|
|
206
|
+
this.readmeFile = path__default["default"].join(projectFolder, 'README.md');
|
|
207
|
+
this.readmeReleaseFile = path__default["default"].join(releaseFolder, 'README.md');
|
|
208
|
+
this.declarationFile = path__default["default"].join(srcFolder, 'declaration.d.ts');
|
|
209
|
+
this.declarationReleaseFile = path__default["default"].join(releaseFolder, 'declaration.d.ts');
|
|
220
210
|
this.publicIndexFile = path__default["default"].join(publicFolder, 'index.html');
|
|
221
211
|
this.buildIndexFile = path__default["default"].join(buildFolder, 'index.html');
|
|
222
212
|
this.devBuildFolder = path__default["default"].resolve(projectFolder, 'node_modules', '.cache', 'innetjs', 'build');
|
|
@@ -233,14 +223,14 @@ class InnetJS {
|
|
|
233
223
|
}
|
|
234
224
|
// Methods
|
|
235
225
|
init(appName, { template, force = false } = {}) {
|
|
236
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
237
227
|
const appPath = path__default["default"].resolve(appName);
|
|
238
|
-
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'); }));
|
|
228
|
+
const { data } = yield logger__default["default"].start('Get templates list', () => tslib.__awaiter(this, void 0, void 0, function* () { return yield axios__default["default"].get('https://api.github.com/repos/d8corp/innetjs-templates/branches'); }));
|
|
239
229
|
const templates = data.map(({ name }) => name).filter(name => name !== 'main');
|
|
240
230
|
if (!template || !templates.includes(template)) {
|
|
241
|
-
logger__default["default"].log(chalk__default["default"].green(
|
|
231
|
+
logger__default["default"].log(chalk__default["default"].green('Select one of those templates'));
|
|
242
232
|
const { value } = yield selector__default["default"]({
|
|
243
|
-
values: templates
|
|
233
|
+
values: templates,
|
|
244
234
|
});
|
|
245
235
|
template = value;
|
|
246
236
|
readline.moveCursor(process.stdout, 0, -1);
|
|
@@ -249,11 +239,11 @@ class InnetJS {
|
|
|
249
239
|
logger__default["default"].end(text);
|
|
250
240
|
}
|
|
251
241
|
if (!force) {
|
|
252
|
-
yield logger__default["default"].start('Check if app folder is available', () => __awaiter(this, void 0, void 0, function* () {
|
|
242
|
+
yield logger__default["default"].start('Check if app folder is available', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
253
243
|
if (fs__default["default"].existsSync(appPath)) {
|
|
254
244
|
logger__default["default"].log(chalk__default["default"].red(`'${appPath}' already exist, what do you want?`));
|
|
255
245
|
const { id: result, value } = yield selector__default["default"]({
|
|
256
|
-
values: ['Stop the process', 'Remove the folder', 'Merge with template']
|
|
246
|
+
values: ['Stop the process', 'Remove the folder', 'Merge with template'],
|
|
257
247
|
});
|
|
258
248
|
readline.moveCursor(process.stdout, 0, -1);
|
|
259
249
|
logger__default["default"].log(`Already exist, selected: ${value}`);
|
|
@@ -266,9 +256,9 @@ class InnetJS {
|
|
|
266
256
|
}
|
|
267
257
|
}));
|
|
268
258
|
}
|
|
269
|
-
yield logger__default["default"].start('Download template', () => __awaiter(this, void 0, void 0, function* () {
|
|
259
|
+
yield logger__default["default"].start('Download template', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
270
260
|
const { data } = yield axios__default["default"].get(`https://github.com/d8corp/innetjs-templates/archive/refs/heads/${template}.zip`, {
|
|
271
|
-
responseType: 'stream'
|
|
261
|
+
responseType: 'stream',
|
|
272
262
|
});
|
|
273
263
|
yield new Promise((resolve, reject) => {
|
|
274
264
|
data.pipe(Extract({
|
|
@@ -279,60 +269,55 @@ class InnetJS {
|
|
|
279
269
|
yield logger__default["default"].start('Install packages', () => execAsync(`cd ${appPath} && npm i`));
|
|
280
270
|
});
|
|
281
271
|
}
|
|
282
|
-
build({ node = false } = {}) {
|
|
283
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
-
const
|
|
272
|
+
build({ node = false, index = 'index' } = {}) {
|
|
273
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
274
|
+
const input = glob__default["default"].sync(`src/${index}.{${indexExt}}`);
|
|
275
|
+
if (!input.length) {
|
|
276
|
+
throw Error('index file is not detected');
|
|
277
|
+
}
|
|
285
278
|
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.buildFolder));
|
|
286
279
|
const pkg = node && (yield this.getPackage());
|
|
287
280
|
const inputOptions = {
|
|
288
|
-
input
|
|
281
|
+
input,
|
|
289
282
|
preserveEntrySignatures: 'strict',
|
|
290
283
|
plugins: [
|
|
291
284
|
commonjs__default["default"](),
|
|
292
285
|
json__default["default"](),
|
|
293
286
|
typescript__default["default"](),
|
|
294
287
|
jsx__default["default"](),
|
|
295
|
-
|
|
288
|
+
eslint__default["default"]({
|
|
289
|
+
include: lintInclude,
|
|
290
|
+
}),
|
|
291
|
+
],
|
|
296
292
|
};
|
|
297
293
|
const outputOptions = {
|
|
298
294
|
dir: this.buildFolder,
|
|
299
|
-
sourcemap: this.sourcemap
|
|
295
|
+
sourcemap: this.sourcemap,
|
|
300
296
|
};
|
|
301
297
|
if (node) {
|
|
302
298
|
outputOptions.format = 'cjs';
|
|
303
299
|
inputOptions.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
|
|
304
300
|
inputOptions.plugins.push(pluginNodeResolve.nodeResolve({
|
|
305
|
-
moduleDirectories: [path__default["default"].resolve(this.buildFolder, 'node_modules')]
|
|
301
|
+
moduleDirectories: [path__default["default"].resolve(this.buildFolder, 'node_modules')],
|
|
306
302
|
}), string({
|
|
307
303
|
include: '**/*.*',
|
|
308
304
|
exclude: stringExcludeNode,
|
|
309
305
|
}));
|
|
310
306
|
}
|
|
311
307
|
else {
|
|
312
|
-
inputOptions.plugins
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
plugins: [autoprefixer__default["default"]()],
|
|
326
|
-
modules: this.cssModules,
|
|
327
|
-
sourceMap: this.sourcemap,
|
|
328
|
-
minimize: true,
|
|
329
|
-
}),
|
|
330
|
-
string({
|
|
331
|
-
include: '**/*.*',
|
|
332
|
-
exclude: stringExcludeDom,
|
|
333
|
-
}),
|
|
334
|
-
injectEnv__default["default"](innetEnv),
|
|
335
|
-
];
|
|
308
|
+
inputOptions.plugins.push(pluginNodeResolve.nodeResolve({
|
|
309
|
+
browser: true,
|
|
310
|
+
}), polyfill__default["default"](), image__default["default"](), styles__default["default"]({
|
|
311
|
+
mode: this.cssInJs ? 'inject' : 'extract',
|
|
312
|
+
url: true,
|
|
313
|
+
plugins: [autoprefixer__default["default"]()],
|
|
314
|
+
modules: this.cssModules,
|
|
315
|
+
sourceMap: this.sourcemap,
|
|
316
|
+
minimize: true,
|
|
317
|
+
}), string({
|
|
318
|
+
include: '**/*.*',
|
|
319
|
+
exclude: stringExcludeDom,
|
|
320
|
+
}), injectEnv__default["default"](innetEnv));
|
|
336
321
|
outputOptions.format = 'es';
|
|
337
322
|
outputOptions.plugins = [
|
|
338
323
|
rollupPluginTerser.terser(),
|
|
@@ -341,7 +326,7 @@ class InnetJS {
|
|
|
341
326
|
}),
|
|
342
327
|
];
|
|
343
328
|
}
|
|
344
|
-
yield logger__default["default"].start('Build production bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
329
|
+
yield logger__default["default"].start('Build production bundle', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
345
330
|
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
346
331
|
yield bundle.write(outputOptions);
|
|
347
332
|
yield bundle.close();
|
|
@@ -353,7 +338,7 @@ class InnetJS {
|
|
|
353
338
|
}
|
|
354
339
|
}));
|
|
355
340
|
if (pkg) {
|
|
356
|
-
yield logger__default["default"].start('Copy package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
341
|
+
yield logger__default["default"].start('Copy package.json', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
357
342
|
const data = Object.assign({}, pkg);
|
|
358
343
|
delete data.private;
|
|
359
344
|
delete data.devDependencies;
|
|
@@ -368,13 +353,16 @@ class InnetJS {
|
|
|
368
353
|
}
|
|
369
354
|
});
|
|
370
355
|
}
|
|
371
|
-
start({ node = false, error = false } = {}) {
|
|
372
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
373
|
-
const indexExtension = yield this.getProjectExtension();
|
|
356
|
+
start({ node = false, error = false, index = 'index' } = {}) {
|
|
357
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
374
358
|
const pkg = yield this.getPackage();
|
|
359
|
+
const input = glob__default["default"].sync(`src/${index}.{${indexExt}}`);
|
|
360
|
+
if (!input.length) {
|
|
361
|
+
throw Error('index file is not detected');
|
|
362
|
+
}
|
|
375
363
|
yield logger__default["default"].start('Remove build', () => fs__default["default"].remove(this.devBuildFolder));
|
|
376
364
|
const options = {
|
|
377
|
-
input
|
|
365
|
+
input,
|
|
378
366
|
preserveEntrySignatures: 'strict',
|
|
379
367
|
output: {
|
|
380
368
|
dir: this.devBuildFolder,
|
|
@@ -386,14 +374,18 @@ class InnetJS {
|
|
|
386
374
|
typescript__default["default"]({
|
|
387
375
|
tsconfigOverride: {
|
|
388
376
|
compilerOptions: {
|
|
389
|
-
sourceMap: true
|
|
390
|
-
}
|
|
377
|
+
sourceMap: true,
|
|
378
|
+
},
|
|
391
379
|
},
|
|
392
380
|
}),
|
|
393
381
|
jsx__default["default"](),
|
|
382
|
+
eslint__default["default"]({
|
|
383
|
+
include: lintInclude,
|
|
384
|
+
}),
|
|
394
385
|
],
|
|
395
386
|
};
|
|
396
387
|
if (node) {
|
|
388
|
+
// @ts-expect-error
|
|
397
389
|
options.output.format = 'cjs';
|
|
398
390
|
options.external = Object.keys((pkg === null || pkg === void 0 ? void 0 : pkg.dependencies) || {});
|
|
399
391
|
options.plugins.push(pluginNodeResolve.nodeResolve({
|
|
@@ -414,36 +406,24 @@ class InnetJS {
|
|
|
414
406
|
: fs__default["default"].existsSync(this.sslCrt)
|
|
415
407
|
? fs__default["default"].readFileSync(this.sslCrt)
|
|
416
408
|
: undefined;
|
|
409
|
+
// @ts-expect-error
|
|
417
410
|
options.output.format = 'es';
|
|
418
|
-
options.plugins
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
url: true,
|
|
431
|
-
plugins: [autoprefixer__default["default"]()],
|
|
432
|
-
modules: this.cssModules,
|
|
433
|
-
sourceMap: true,
|
|
434
|
-
}),
|
|
435
|
-
string({
|
|
436
|
-
include: '**/*.*',
|
|
437
|
-
exclude: stringExcludeDom,
|
|
438
|
-
}),
|
|
439
|
-
this.createClient(key, cert, pkg),
|
|
440
|
-
livereload(Object.assign({ exts: ['html', 'css', 'js', 'png', 'svg', 'webp', 'gif', 'jpg', 'json'], watch: [this.devBuildFolder, this.publicFolder], verbose: false }, (key && cert ? { https: { key, cert } } : {}))),
|
|
441
|
-
injectEnv__default["default"](innetEnv),
|
|
442
|
-
];
|
|
411
|
+
options.plugins.push(pluginNodeResolve.nodeResolve({
|
|
412
|
+
browser: true,
|
|
413
|
+
}), polyfill__default["default"](), image__default["default"](), styles__default["default"]({
|
|
414
|
+
mode: this.cssInJs ? 'inject' : 'extract',
|
|
415
|
+
url: true,
|
|
416
|
+
plugins: [autoprefixer__default["default"]()],
|
|
417
|
+
modules: this.cssModules,
|
|
418
|
+
sourceMap: true,
|
|
419
|
+
}), string({
|
|
420
|
+
include: '**/*.*',
|
|
421
|
+
exclude: stringExcludeDom,
|
|
422
|
+
}), this.createClient(key, cert, pkg), livereload(Object.assign({ exts: ['html', 'css', 'js', 'png', 'svg', 'webp', 'gif', 'jpg', 'json'], watch: [this.devBuildFolder, this.publicFolder], verbose: false }, (key && cert ? { https: { key, cert } } : {}))), injectEnv__default["default"](innetEnv));
|
|
443
423
|
}
|
|
444
424
|
const watcher = rollup__default["default"].watch(options);
|
|
445
|
-
watcher.on('event', (e) => __awaiter(this, void 0, void 0, function* () {
|
|
446
|
-
if (e.code
|
|
425
|
+
watcher.on('event', (e) => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
426
|
+
if (e.code === 'ERROR') {
|
|
447
427
|
if (e.error.code === 'UNRESOLVED_IMPORT') {
|
|
448
428
|
const [, importer, file] = e.error.message.match(/^Could not resolve '(.+)' from (.+)$/) || [];
|
|
449
429
|
const text = (yield fs__default["default"].readFile(file)).toString();
|
|
@@ -475,7 +455,7 @@ class InnetJS {
|
|
|
475
455
|
});
|
|
476
456
|
}
|
|
477
457
|
run(file) {
|
|
478
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
458
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
479
459
|
const input = yield logger__default["default"].start('Check file', () => getFile(file));
|
|
480
460
|
const folder = yield new Promise((resolve, reject) => {
|
|
481
461
|
tmp__default["default"].dir((err, folder) => {
|
|
@@ -488,7 +468,7 @@ class InnetJS {
|
|
|
488
468
|
});
|
|
489
469
|
});
|
|
490
470
|
const jsFilePath = `${folder}/index.js`;
|
|
491
|
-
yield logger__default["default"].start('Build bundle', () => __awaiter(this, void 0, void 0, function* () {
|
|
471
|
+
yield logger__default["default"].start('Build bundle', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
492
472
|
const inputOptions = {
|
|
493
473
|
input,
|
|
494
474
|
plugins: [
|
|
@@ -498,64 +478,199 @@ class InnetJS {
|
|
|
498
478
|
typescript__default["default"]({
|
|
499
479
|
tsconfigOverride: {
|
|
500
480
|
compilerOptions: {
|
|
501
|
-
sourceMap: true
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
})
|
|
505
|
-
]
|
|
481
|
+
sourceMap: true,
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
}),
|
|
485
|
+
],
|
|
506
486
|
};
|
|
507
487
|
const outputOptions = {
|
|
508
488
|
format: 'cjs',
|
|
509
489
|
file: jsFilePath,
|
|
510
|
-
sourcemap: true
|
|
490
|
+
sourcemap: true,
|
|
511
491
|
};
|
|
512
492
|
const bundle = yield rollup__default["default"].rollup(inputOptions);
|
|
513
493
|
yield bundle.write(outputOptions);
|
|
514
494
|
yield bundle.close();
|
|
515
495
|
}));
|
|
516
|
-
yield logger__default["default"].start('Running of the script', () => __awaiter(this, void 0, void 0, function* () {
|
|
496
|
+
yield logger__default["default"].start('Running of the script', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
517
497
|
spawn('node', ['-r', 'source-map-support/register', jsFilePath], { stdio: 'inherit' });
|
|
518
498
|
}));
|
|
519
499
|
});
|
|
520
500
|
}
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
else {
|
|
546
|
-
throw Error('index file is not detected');
|
|
501
|
+
release({ node = false, index = 'index', release, pub } = {}) {
|
|
502
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
503
|
+
const { releaseFolder, cssModules } = this;
|
|
504
|
+
yield logger__default["default"].start('Remove previous release', () => fs__default["default"].remove(releaseFolder));
|
|
505
|
+
const pkg = yield this.getPackage();
|
|
506
|
+
yield logger__default["default"].start('Prepare package.json', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
507
|
+
const version = pkg.version.split('.');
|
|
508
|
+
switch (release) {
|
|
509
|
+
case 'patch': {
|
|
510
|
+
version[2]++;
|
|
511
|
+
break;
|
|
512
|
+
}
|
|
513
|
+
case 'minor': {
|
|
514
|
+
version[1]++;
|
|
515
|
+
version[2] = 0;
|
|
516
|
+
break;
|
|
517
|
+
}
|
|
518
|
+
case 'major': {
|
|
519
|
+
version[1] = 0;
|
|
520
|
+
version[2] = 0;
|
|
521
|
+
version[0]++;
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
default: return;
|
|
547
525
|
}
|
|
548
|
-
|
|
549
|
-
|
|
526
|
+
pkg.version = version.join('.');
|
|
527
|
+
yield fs__default["default"].writeFile(path__default["default"].resolve(this.projectFolder, 'package.json'), JSON.stringify(pkg, undefined, 2), 'UTF-8');
|
|
528
|
+
}));
|
|
529
|
+
function build(format) {
|
|
530
|
+
var _a, _b;
|
|
531
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
532
|
+
const ext = format === 'es'
|
|
533
|
+
? ((_a = (pkg.module || pkg.esnext || pkg['jsnext:main'])) === null || _a === void 0 ? void 0 : _a.replace('index', '')) || '.mjs'
|
|
534
|
+
: ((_b = pkg.main) === null || _b === void 0 ? void 0 : _b.replace('index', '')) || '.js';
|
|
535
|
+
const indexFiles = scriptExtensions.map(ext => `src/${index}.${ext}`).join(',');
|
|
536
|
+
const otherFiles = scriptExtensions.map(ext => `src/**/index.${ext}`).join(',');
|
|
537
|
+
const input = glob__default["default"].sync(`{${indexFiles},${otherFiles}}`);
|
|
538
|
+
if (!input.length) {
|
|
539
|
+
throw Error('index file is not detected');
|
|
540
|
+
}
|
|
541
|
+
const options = {
|
|
542
|
+
input,
|
|
543
|
+
preserveEntrySignatures: 'strict',
|
|
544
|
+
output: {
|
|
545
|
+
dir: releaseFolder,
|
|
546
|
+
entryFileNames: `[name]${ext}`,
|
|
547
|
+
format,
|
|
548
|
+
preserveModules: true,
|
|
549
|
+
},
|
|
550
|
+
plugins: [
|
|
551
|
+
json__default["default"](),
|
|
552
|
+
typescript__default["default"]({
|
|
553
|
+
rollupCommonJSResolveHack: false,
|
|
554
|
+
clean: true,
|
|
555
|
+
}),
|
|
556
|
+
jsx__default["default"](),
|
|
557
|
+
eslint__default["default"]({
|
|
558
|
+
include: lintInclude,
|
|
559
|
+
}),
|
|
560
|
+
],
|
|
561
|
+
};
|
|
562
|
+
if (node) {
|
|
563
|
+
options.external = [...Object.keys(pkg.dependencies), 'tslib'];
|
|
564
|
+
options.plugins = [
|
|
565
|
+
...options.plugins,
|
|
566
|
+
externals__default["default"](),
|
|
567
|
+
string({
|
|
568
|
+
include: '**/*.*',
|
|
569
|
+
exclude: stringExcludeNode,
|
|
570
|
+
}),
|
|
571
|
+
];
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
options.plugins = [
|
|
575
|
+
...options.plugins,
|
|
576
|
+
string({
|
|
577
|
+
include: '**/*.*',
|
|
578
|
+
exclude: stringExcludeDom,
|
|
579
|
+
}),
|
|
580
|
+
polyfill__default["default"](),
|
|
581
|
+
image__default["default"](),
|
|
582
|
+
styles__default["default"]({
|
|
583
|
+
mode: 'inject',
|
|
584
|
+
url: true,
|
|
585
|
+
plugins: [autoprefixer__default["default"]()],
|
|
586
|
+
modules: cssModules,
|
|
587
|
+
minimize: true,
|
|
588
|
+
}),
|
|
589
|
+
injectEnv__default["default"](innetEnv),
|
|
590
|
+
];
|
|
591
|
+
}
|
|
592
|
+
const bundle = yield rollup__default["default"].rollup(options);
|
|
593
|
+
yield bundle.write(options.output);
|
|
594
|
+
yield bundle.close();
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
yield logger__default["default"].start('Build cjs bundle', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
598
|
+
yield build('cjs');
|
|
599
|
+
}));
|
|
600
|
+
yield logger__default["default"].start('Build es6 bundle', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
601
|
+
yield build('es');
|
|
602
|
+
}));
|
|
603
|
+
yield logger__default["default"].start('Copy package.json', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
604
|
+
const data = Object.assign({}, pkg);
|
|
605
|
+
delete data.private;
|
|
606
|
+
delete data.devDependencies;
|
|
607
|
+
yield fs__default["default"].writeFile(path__default["default"].resolve(this.releaseFolder, 'package.json'), JSON.stringify(data, undefined, 2), 'UTF-8');
|
|
608
|
+
}));
|
|
609
|
+
if (pkg.bin) {
|
|
610
|
+
yield logger__default["default"].start('Build bin', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
611
|
+
const { bin } = pkg;
|
|
612
|
+
for (const name in bin) {
|
|
613
|
+
const value = bin[name];
|
|
614
|
+
const input = glob__default["default"].sync(`src/${value}.{${scriptExtensions.join(',')}}`);
|
|
615
|
+
const file = path__default["default"].join(this.releaseFolder, value);
|
|
616
|
+
const options = {
|
|
617
|
+
input,
|
|
618
|
+
external: [...Object.keys(pkg.dependencies), 'tslib'],
|
|
619
|
+
output: {
|
|
620
|
+
file,
|
|
621
|
+
format: 'cjs',
|
|
622
|
+
},
|
|
623
|
+
plugins: [
|
|
624
|
+
rollupPluginPreserveShebangs.preserveShebangs(),
|
|
625
|
+
json__default["default"](),
|
|
626
|
+
typescript__default["default"]({
|
|
627
|
+
clean: true,
|
|
628
|
+
tsconfigOverride: {
|
|
629
|
+
compilerOptions: {
|
|
630
|
+
declaration: false,
|
|
631
|
+
},
|
|
632
|
+
},
|
|
633
|
+
}),
|
|
634
|
+
externals__default["default"](),
|
|
635
|
+
jsx__default["default"](),
|
|
636
|
+
],
|
|
637
|
+
};
|
|
638
|
+
const bundle = yield rollup__default["default"].rollup(options);
|
|
639
|
+
yield bundle.write(options.output);
|
|
640
|
+
yield bundle.close();
|
|
641
|
+
}
|
|
642
|
+
}));
|
|
643
|
+
}
|
|
644
|
+
if (fs__default["default"].existsSync(this.licenseFile)) {
|
|
645
|
+
yield logger__default["default"].start('Copy license', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
646
|
+
yield fs.promises.copyFile(this.licenseFile, this.licenseReleaseFile);
|
|
647
|
+
}));
|
|
648
|
+
}
|
|
649
|
+
if (fs__default["default"].existsSync(this.readmeFile)) {
|
|
650
|
+
yield logger__default["default"].start('Copy readme', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
651
|
+
yield fs.promises.copyFile(this.readmeFile, this.readmeReleaseFile);
|
|
652
|
+
}));
|
|
653
|
+
}
|
|
654
|
+
if (fs__default["default"].existsSync(this.declarationFile)) {
|
|
655
|
+
yield logger__default["default"].start('Copy declaration', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
656
|
+
yield fs.promises.copyFile(this.declarationFile, this.declarationReleaseFile);
|
|
657
|
+
}));
|
|
658
|
+
}
|
|
659
|
+
if (pub) {
|
|
660
|
+
const date = (Date.now() / 1000) | 0;
|
|
661
|
+
yield logger__default["default"].start(`publishing v${pkg.version} ${date}`, () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
662
|
+
yield execAsync(`npm publish ${this.releaseFolder}`);
|
|
663
|
+
}));
|
|
664
|
+
}
|
|
550
665
|
});
|
|
551
666
|
}
|
|
552
667
|
getPackage() {
|
|
553
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
668
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
554
669
|
if (this.package) {
|
|
555
670
|
return this.package;
|
|
556
671
|
}
|
|
557
672
|
const packageFolder = path__default["default"].resolve(this.projectFolder, 'package.json');
|
|
558
|
-
yield logger__default["default"].start('Check package.json', () => __awaiter(this, void 0, void 0, function* () {
|
|
673
|
+
yield logger__default["default"].start('Check package.json', () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
559
674
|
if (fs__default["default"].existsSync(packageFolder)) {
|
|
560
675
|
this.package = yield fs__default["default"].readJson(packageFolder);
|
|
561
676
|
}
|
|
@@ -566,11 +681,12 @@ class InnetJS {
|
|
|
566
681
|
createClient(key, cert, pkg) {
|
|
567
682
|
let app;
|
|
568
683
|
return {
|
|
569
|
-
|
|
684
|
+
name: 'client',
|
|
685
|
+
writeBundle: () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
570
686
|
var _a;
|
|
571
687
|
if (!app) {
|
|
572
688
|
app = express__default["default"]();
|
|
573
|
-
const update = () => __awaiter(this, void 0, void 0, function* () {
|
|
689
|
+
const update = () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
574
690
|
const data = yield fs.promises.readFile(this.publicIndexFile);
|
|
575
691
|
yield fs.promises.writeFile(this.devBuildIndexFile, yield convertIndexFile(data, pkg.version, this.baseUrl));
|
|
576
692
|
});
|
|
@@ -582,7 +698,7 @@ class InnetJS {
|
|
|
582
698
|
if ((_a = this.proxy) === null || _a === void 0 ? void 0 : _a.startsWith('http')) {
|
|
583
699
|
app.use(this.api, proxy__default["default"](this.proxy, {
|
|
584
700
|
https: httpsUsing,
|
|
585
|
-
proxyReqPathResolver: req => req.originalUrl
|
|
701
|
+
proxyReqPathResolver: req => req.originalUrl,
|
|
586
702
|
}));
|
|
587
703
|
}
|
|
588
704
|
app.use(/^([^.]*|.*\.[^.]{5,})$/, (req, res) => {
|
|
@@ -594,13 +710,13 @@ class InnetJS {
|
|
|
594
710
|
console.log(`${chalk__default["default"].green('➤')} Started on http${httpsUsing ? 's' : ''}://localhost:${port} and http${httpsUsing ? 's' : ''}://${address__default["default"].ip()}:${port}`);
|
|
595
711
|
};
|
|
596
712
|
server.listen(port, listener);
|
|
597
|
-
server.on('error', (e) => __awaiter(this, void 0, void 0, function* () {
|
|
713
|
+
server.on('error', (e) => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
598
714
|
if (e.code === 'EADDRINUSE') {
|
|
599
715
|
port++;
|
|
600
716
|
const { userPort } = yield prompt__default["default"]({
|
|
601
717
|
name: 'userPort',
|
|
602
718
|
type: 'number',
|
|
603
|
-
message: `Port ${e.port} is reserved, please enter another one [${port}]
|
|
719
|
+
message: `Port ${e.port} is reserved, please enter another one [${port}]:`,
|
|
604
720
|
});
|
|
605
721
|
if (userPort) {
|
|
606
722
|
port = userPort;
|
|
@@ -612,33 +728,37 @@ class InnetJS {
|
|
|
612
728
|
}
|
|
613
729
|
}));
|
|
614
730
|
}
|
|
615
|
-
})
|
|
731
|
+
}),
|
|
616
732
|
};
|
|
617
733
|
}
|
|
618
734
|
createServer() {
|
|
619
735
|
let app;
|
|
620
736
|
return {
|
|
621
|
-
|
|
737
|
+
name: 'server',
|
|
738
|
+
writeBundle: () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
622
739
|
app === null || app === void 0 ? void 0 : app.kill();
|
|
623
740
|
const filePath = path__default["default"].resolve(this.devBuildFolder, 'index.js');
|
|
624
741
|
app = spawn('node', ['-r', 'source-map-support/register', filePath], { stdio: 'inherit' });
|
|
625
|
-
})
|
|
742
|
+
}),
|
|
626
743
|
};
|
|
627
744
|
}
|
|
628
745
|
}
|
|
629
746
|
|
|
630
|
-
var version = "2.
|
|
747
|
+
var version = "2.2.0";
|
|
631
748
|
|
|
632
749
|
const dotenvConfigOutput = require('dotenv').config();
|
|
633
750
|
require('dotenv-expand').expand(dotenvConfigOutput);
|
|
634
751
|
const innetJS = new InnetJS();
|
|
752
|
+
const errorOption = new commander.Option('-e, --error', 'Show error details');
|
|
753
|
+
const releaseOption = new commander.Option('-r, --release <release>', 'Select release type')
|
|
754
|
+
.choices(['patch', 'minor', 'major']);
|
|
635
755
|
commander.program
|
|
636
756
|
.version(version, '-v, --version');
|
|
637
757
|
commander.program
|
|
638
758
|
.command('init <app-name>')
|
|
639
759
|
.description('Create innet boilerplate')
|
|
640
|
-
.option('-e, --error', 'Show error details')
|
|
641
760
|
.option('-t, --template <template>', 'Select template fe or be')
|
|
761
|
+
.addOption(errorOption)
|
|
642
762
|
.action((appName, { error, template }) => {
|
|
643
763
|
innetJS.init(appName, { template }).catch(e => {
|
|
644
764
|
if (error) {
|
|
@@ -650,7 +770,7 @@ commander.program
|
|
|
650
770
|
commander.program
|
|
651
771
|
.command('run <file-path>')
|
|
652
772
|
.description('Run js, ts or tsx file')
|
|
653
|
-
.
|
|
773
|
+
.addOption(errorOption)
|
|
654
774
|
.action((filePath, { error }) => {
|
|
655
775
|
innetJS.run(filePath).catch(e => {
|
|
656
776
|
if (error) {
|
|
@@ -662,10 +782,11 @@ commander.program
|
|
|
662
782
|
commander.program
|
|
663
783
|
.command('start')
|
|
664
784
|
.description('Start development with innet boilerplate')
|
|
665
|
-
.option('-e, --error', 'Show error details')
|
|
666
785
|
.option('-n, --node', 'Start development for Node.js')
|
|
667
|
-
.
|
|
668
|
-
|
|
786
|
+
.option('-i, --index <index>', 'Root index file name', 'index')
|
|
787
|
+
.addOption(errorOption)
|
|
788
|
+
.action(({ error, node, index }) => {
|
|
789
|
+
innetJS.start({ node, error, index }).catch(e => {
|
|
669
790
|
if (error) {
|
|
670
791
|
console.error(e);
|
|
671
792
|
process.exit(1);
|
|
@@ -675,10 +796,27 @@ commander.program
|
|
|
675
796
|
commander.program
|
|
676
797
|
.command('build')
|
|
677
798
|
.description('Build production bundle')
|
|
678
|
-
.
|
|
799
|
+
.addOption(errorOption)
|
|
679
800
|
.option('-n, --node', 'Build for node.js')
|
|
680
|
-
.
|
|
681
|
-
|
|
801
|
+
.option('-i, --index <index>', 'Root index file name', 'index')
|
|
802
|
+
.action(({ error, node, index }) => {
|
|
803
|
+
innetJS.build({ node, index }).catch(e => {
|
|
804
|
+
if (error) {
|
|
805
|
+
console.error(e);
|
|
806
|
+
process.exit(1);
|
|
807
|
+
}
|
|
808
|
+
});
|
|
809
|
+
});
|
|
810
|
+
commander.program
|
|
811
|
+
.command('release')
|
|
812
|
+
.description('Release new version of your library')
|
|
813
|
+
.option('-n, --node', 'Release for node.js')
|
|
814
|
+
.option('-i, --index <index>', 'Root index file name', 'index')
|
|
815
|
+
.option('-p, --public', 'Public the package')
|
|
816
|
+
.addOption(releaseOption)
|
|
817
|
+
.addOption(errorOption)
|
|
818
|
+
.action(({ error, node, index, release, public: pub }) => {
|
|
819
|
+
innetJS.release({ node, index, release, pub }).catch(e => {
|
|
682
820
|
if (error) {
|
|
683
821
|
console.error(e);
|
|
684
822
|
process.exit(1);
|