@eggjs/bin 7.0.0-beta.3 → 7.0.0
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/README.md +5 -10
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +8 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +5 -0
- package/dist/commonjs/baseCommand.d.ts +49 -0
- package/dist/commonjs/baseCommand.js +370 -0
- package/dist/commonjs/commands/cov.d.ts +22 -0
- package/dist/commonjs/commands/cov.js +97 -0
- package/dist/commonjs/commands/dev.d.ts +21 -0
- package/dist/commonjs/commands/dev.js +95 -0
- package/dist/commonjs/commands/test.d.ts +23 -0
- package/dist/commonjs/commands/test.js +204 -0
- package/dist/commonjs/index.d.ts +7 -0
- package/dist/commonjs/index.js +30 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/types.d.ts +9 -0
- package/dist/commonjs/types.js +3 -0
- package/dist/commonjs/utils.d.ts +4 -0
- package/dist/commonjs/utils.js +45 -0
- package/dist/esm/baseCommand.d.ts +49 -0
- package/dist/esm/baseCommand.js +362 -0
- package/dist/esm/commands/cov.d.ts +22 -0
- package/dist/esm/commands/cov.js +91 -0
- package/dist/esm/commands/dev.d.ts +21 -0
- package/dist/esm/commands/dev.js +92 -0
- package/dist/esm/commands/test.d.ts +23 -0
- package/dist/esm/commands/test.js +198 -0
- package/dist/esm/index.d.ts +7 -5
- package/dist/esm/index.js +8 -6
- package/dist/esm/types.d.ts +9 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/utils.d.ts +0 -1
- package/dist/esm/utils.js +1 -11
- package/dist/package.json +1 -1
- package/dist/scripts/start-cluster.cjs +15 -0
- package/package.json +23 -27
- package/scripts/start-cluster.cjs +15 -0
- package/src/baseCommand.ts +392 -0
- package/src/commands/cov.ts +100 -0
- package/src/commands/dev.ts +99 -0
- package/src/commands/test.ts +216 -0
- package/src/index.ts +9 -5
- package/src/types.ts +9 -0
- package/src/utils.ts +0 -10
- package/dist/esm/bin/cli.d.ts +0 -2
- package/dist/esm/bin/cli.js +0 -34
- package/dist/esm/cmd/base.d.ts +0 -12
- package/dist/esm/cmd/base.js +0 -135
- package/dist/esm/cmd/cov.d.ts +0 -8
- package/dist/esm/cmd/cov.js +0 -103
- package/dist/esm/cmd/debug.d.ts +0 -5
- package/dist/esm/cmd/debug.js +0 -28
- package/dist/esm/cmd/dev.d.ts +0 -17
- package/dist/esm/cmd/dev.js +0 -118
- package/dist/esm/cmd/test.d.ts +0 -15
- package/dist/esm/cmd/test.js +0 -237
- package/dist/esm/config/framework.d.ts +0 -4
- package/dist/esm/config/framework.js +0 -4
- package/dist/esm/config/plugin.d.ts +0 -11
- package/dist/esm/config/plugin.js +0 -11
- package/dist/esm/middleware/global_options.d.ts +0 -5
- package/dist/esm/middleware/global_options.js +0 -182
- package/dist/esm/middleware/handle_error.d.ts +0 -5
- package/dist/esm/middleware/handle_error.js +0 -47
- package/dist/esm/middleware/inspect.d.ts +0 -5
- package/dist/esm/middleware/inspect.js +0 -69
- package/src/bin/cli.ts +0 -37
- package/src/cmd/base.ts +0 -133
- package/src/cmd/cov.ts +0 -89
- package/src/cmd/debug.ts +0 -14
- package/src/cmd/dev.ts +0 -102
- package/src/cmd/test.ts +0 -219
- package/src/config/framework.ts +0 -3
- package/src/config/plugin.ts +0 -10
- package/src/middleware/global_options.ts +0 -169
- package/src/middleware/handle_error.ts +0 -30
- package/src/middleware/inspect.ts +0 -54
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import fs from 'node:fs/promises';
|
|
5
|
+
import { Args, Flags } from '@oclif/core';
|
|
6
|
+
import globby from 'globby';
|
|
7
|
+
import { importResolve } from '@eggjs/utils';
|
|
8
|
+
import { getChangedFilesForRoots } from 'jest-changed-files';
|
|
9
|
+
import { BaseCommand } from '../baseCommand.js';
|
|
10
|
+
|
|
11
|
+
const debug = debuglog('@eggjs/bin/commands/test');
|
|
12
|
+
|
|
13
|
+
export default class Test<T extends typeof Test> extends BaseCommand<T> {
|
|
14
|
+
static override args = {
|
|
15
|
+
file: Args.string({
|
|
16
|
+
description: 'file(s) to test',
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
static override description = 'Run the test';
|
|
21
|
+
|
|
22
|
+
static override examples = [
|
|
23
|
+
'<%= config.bin %> <%= command.id %>',
|
|
24
|
+
'<%= config.bin %> <%= command.id %> test/index.test.ts',
|
|
25
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
26
|
+
'<%= config.bin %> <%= command.id %> --log-level debug',
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
static override flags = {
|
|
30
|
+
bail: Flags.boolean({
|
|
31
|
+
description: 'bbort ("bail") after first test failure',
|
|
32
|
+
default: false,
|
|
33
|
+
char: 'b',
|
|
34
|
+
}),
|
|
35
|
+
timeout: Flags.integer({
|
|
36
|
+
char: 't',
|
|
37
|
+
description: 'set test-case timeout in milliseconds',
|
|
38
|
+
default: parseInt(process.env.TEST_TIMEOUT ?? '60000'),
|
|
39
|
+
}),
|
|
40
|
+
'no-timeout': Flags.boolean({
|
|
41
|
+
description: 'disable timeout',
|
|
42
|
+
}),
|
|
43
|
+
grep: Flags.string({
|
|
44
|
+
char: 'g',
|
|
45
|
+
description: 'only run tests matching <pattern>',
|
|
46
|
+
}),
|
|
47
|
+
changed: Flags.boolean({
|
|
48
|
+
description: 'only test with changed files and match test/**/*.test.(js|ts)',
|
|
49
|
+
char: 'c',
|
|
50
|
+
}),
|
|
51
|
+
mochawesome: Flags.boolean({
|
|
52
|
+
description: '[default: true] enable mochawesome reporter',
|
|
53
|
+
default: true,
|
|
54
|
+
allowNo: true,
|
|
55
|
+
}),
|
|
56
|
+
parallel: Flags.boolean({
|
|
57
|
+
description: 'mocha parallel mode',
|
|
58
|
+
default: false,
|
|
59
|
+
char: 'p',
|
|
60
|
+
}),
|
|
61
|
+
jobs: Flags.integer({
|
|
62
|
+
char: 't',
|
|
63
|
+
description: 'number of jobs to run in parallel',
|
|
64
|
+
default: os.cpus().length - 1,
|
|
65
|
+
}),
|
|
66
|
+
'auto-agent': Flags.boolean({
|
|
67
|
+
description: '[default: true] auto bootstrap agent in mocha master process',
|
|
68
|
+
default: true,
|
|
69
|
+
allowNo: true,
|
|
70
|
+
}),
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
public async run(): Promise<void> {
|
|
74
|
+
const { flags } = this;
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
await fs.access(flags.base);
|
|
78
|
+
} catch (err) {
|
|
79
|
+
console.error('baseDir: %o not exists', flags.base);
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const mochaFile = process.env.MOCHA_FILE || importResolve('mocha/bin/_mocha');
|
|
84
|
+
if (flags.parallel) {
|
|
85
|
+
this.env.ENABLE_MOCHA_PARALLEL = 'true';
|
|
86
|
+
if (flags['auto-agent']) {
|
|
87
|
+
this.env.AUTO_AGENT = 'true';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// set NODE_ENV=test, let egg application load unittest logic
|
|
91
|
+
// https://eggjs.org/basics/env#difference-from-node_env
|
|
92
|
+
this.env.NODE_ENV = 'test';
|
|
93
|
+
|
|
94
|
+
if (flags['no-timeout']) {
|
|
95
|
+
flags.timeout = 0;
|
|
96
|
+
}
|
|
97
|
+
debug('run test: %s %o flags: %o', mochaFile, this.args, flags);
|
|
98
|
+
|
|
99
|
+
const mochaArgs = await this.formatMochaArgs();
|
|
100
|
+
if (!mochaArgs) return;
|
|
101
|
+
await this.runMocha(mochaFile, mochaArgs);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
protected async runMocha(mochaFile: string, mochaArgs: string[]) {
|
|
105
|
+
await this.forkNode(mochaFile, mochaArgs, {
|
|
106
|
+
execArgv: [
|
|
107
|
+
...process.execArgv,
|
|
108
|
+
// https://github.com/mochajs/mocha/issues/2640#issuecomment-1663388547
|
|
109
|
+
'--unhandled-rejections=strict',
|
|
110
|
+
],
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
protected async formatMochaArgs() {
|
|
115
|
+
const { args, flags } = this;
|
|
116
|
+
// collect require
|
|
117
|
+
const requires = await this.formatRequires();
|
|
118
|
+
// try {
|
|
119
|
+
// const eggMockRegister = importResolve('@eggjs/mock/register', { paths: [ this.base ] });
|
|
120
|
+
// requires.push(eggMockRegister);
|
|
121
|
+
// debug('auto register @eggjs/mock/register: %o', eggMockRegister);
|
|
122
|
+
// } catch (err) {
|
|
123
|
+
// // ignore @eggjs/mock not exists
|
|
124
|
+
// debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s',
|
|
125
|
+
// this.base, (err as Error).message);
|
|
126
|
+
// }
|
|
127
|
+
|
|
128
|
+
// handle mochawesome enable
|
|
129
|
+
let reporter = this.env.TEST_REPORTER;
|
|
130
|
+
let reporterOptions = '';
|
|
131
|
+
if (!reporter && flags.mochawesome) {
|
|
132
|
+
// use https://github.com/node-modules/mochawesome/pull/1 instead
|
|
133
|
+
reporter = importResolve('mochawesome-with-mocha');
|
|
134
|
+
reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
|
|
135
|
+
if (flags.parallel) {
|
|
136
|
+
// https://github.com/adamgruber/mochawesome#parallel-mode
|
|
137
|
+
requires.push(path.join(reporter, '../register.js'));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const ext = flags.typescript ? 'ts' : 'js';
|
|
142
|
+
let pattern = args.file ? args.file.split(',') : [];
|
|
143
|
+
// changed
|
|
144
|
+
if (flags.changed) {
|
|
145
|
+
pattern = await this.getChangedTestFiles(flags.base, ext);
|
|
146
|
+
if (!pattern.length) {
|
|
147
|
+
console.log('No changed test files');
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
debug('changed files: %o', pattern);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (!pattern.length && process.env.TESTS) {
|
|
154
|
+
pattern = process.env.TESTS.split(',');
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// collect test files when nothing is changed
|
|
158
|
+
if (!pattern.length) {
|
|
159
|
+
pattern = [ `test/**/*.test.${ext}` ];
|
|
160
|
+
}
|
|
161
|
+
pattern = pattern.concat([ '!test/fixtures', '!test/node_modules' ]);
|
|
162
|
+
|
|
163
|
+
// expand glob and skip node_modules and fixtures
|
|
164
|
+
const files = globby.sync(pattern, { cwd: flags.base });
|
|
165
|
+
files.sort();
|
|
166
|
+
|
|
167
|
+
if (files.length === 0) {
|
|
168
|
+
console.log('No test files found with pattern %o', pattern);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// auto add setup file as the first test file
|
|
173
|
+
const setupFile = path.join(flags.base, `test/.setup.${ext}`);
|
|
174
|
+
try {
|
|
175
|
+
await fs.access(setupFile);
|
|
176
|
+
files.unshift(setupFile);
|
|
177
|
+
} catch {
|
|
178
|
+
// ignore
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const grep = flags.grep ? flags.grep.split(',') : [];
|
|
182
|
+
|
|
183
|
+
return [
|
|
184
|
+
// force exit
|
|
185
|
+
'--exit',
|
|
186
|
+
flags.bail ? '--bail' : '',
|
|
187
|
+
grep.map(pattern => `--grep='${pattern}'`).join(' '),
|
|
188
|
+
flags.timeout ? `--timeout=${flags.timeout}` : '--no-timeout',
|
|
189
|
+
flags.parallel ? '--parallel' : '',
|
|
190
|
+
flags.parallel && flags.jobs ? `--jobs=${flags.jobs}` : '',
|
|
191
|
+
reporter ? `--reporter=${reporter}` : '',
|
|
192
|
+
reporterOptions ? `--reporter-options=${reporterOptions}` : '',
|
|
193
|
+
...requires.map(r => `--require=${r}`),
|
|
194
|
+
...files,
|
|
195
|
+
flags['dry-run'] ? '--dry-run' : '',
|
|
196
|
+
].filter(a => a.trim());
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
protected async getChangedTestFiles(dir: string, ext: string) {
|
|
200
|
+
const res = await getChangedFilesForRoots([ path.join(dir, 'test') ], {});
|
|
201
|
+
const changedFiles = res.changedFiles;
|
|
202
|
+
const files: string[] = [];
|
|
203
|
+
for (let cf of changedFiles) {
|
|
204
|
+
// only find test/**/*.test.(js|ts)
|
|
205
|
+
if (cf.endsWith(`.test.${ext}`)) {
|
|
206
|
+
// Patterns MUST use forward slashes (not backslashes)
|
|
207
|
+
// This should be converted on Windows
|
|
208
|
+
if (process.platform === 'win32') {
|
|
209
|
+
cf = cf.replace(/\\/g, '/');
|
|
210
|
+
}
|
|
211
|
+
files.push(cf);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return files;
|
|
215
|
+
}
|
|
216
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
1
|
+
import Test from './commands/test.js';
|
|
2
|
+
import Cov from './commands/cov.js';
|
|
3
|
+
import Dev from './commands/dev.js';
|
|
4
|
+
|
|
5
|
+
export { Test, Cov, Dev };
|
|
6
|
+
|
|
7
|
+
export * from './baseCommand.js';
|
|
8
|
+
export * from './types.js';
|
|
9
|
+
export * from '@oclif/core';
|
package/src/types.ts
ADDED
package/src/utils.ts
CHANGED
|
@@ -2,16 +2,6 @@ import fs from 'node:fs/promises';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
|
|
5
|
-
export function addNodeOptionsToEnv(options: string, env: Record<string, any>) {
|
|
6
|
-
if (env.NODE_OPTIONS) {
|
|
7
|
-
if (!env.NODE_OPTIONS.includes(options)) {
|
|
8
|
-
env.NODE_OPTIONS = `${env.NODE_OPTIONS} ${options}`;
|
|
9
|
-
}
|
|
10
|
-
} else {
|
|
11
|
-
env.NODE_OPTIONS = options;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
5
|
export async function readPackageJSON(baseDir: string) {
|
|
16
6
|
const pkgFile = path.join(baseDir, 'package.json');
|
|
17
7
|
try {
|
package/dist/esm/bin/cli.d.ts
DELETED
package/dist/esm/bin/cli.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import { start } from '@artus-cli/artus-cli';
|
|
5
|
-
function getCurrentFilename() {
|
|
6
|
-
if (typeof __filename === 'string') {
|
|
7
|
-
return __filename;
|
|
8
|
-
}
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
return fileURLToPath(import.meta.url);
|
|
12
|
-
}
|
|
13
|
-
function main() {
|
|
14
|
-
const currentFilename = getCurrentFilename();
|
|
15
|
-
// src/bin/cli.ts => src/
|
|
16
|
-
let baseDir = path.dirname(path.dirname(currentFilename));
|
|
17
|
-
const isBuildJavascriptFile = getCurrentFilename().endsWith('.js');
|
|
18
|
-
const exclude = ['scripts', 'bin', 'test', 'coverage'];
|
|
19
|
-
if (isBuildJavascriptFile) {
|
|
20
|
-
// dist/esm/bin/cli.js => dist/
|
|
21
|
-
baseDir = path.dirname(baseDir);
|
|
22
|
-
exclude.push('*.ts');
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
exclude.push('dist');
|
|
26
|
-
}
|
|
27
|
-
start({
|
|
28
|
-
binName: 'egg-bin',
|
|
29
|
-
exclude,
|
|
30
|
-
baseDir,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
main();
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3QyxTQUFTLGtCQUFrQjtJQUN6QixJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsYUFBYTtJQUNiLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsSUFBSTtJQUNYLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFDN0MseUJBQXlCO0lBQ3pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzFELE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUUsQ0FBQztJQUN6RCxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsK0JBQStCO1FBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUM7UUFDSixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPO1FBQ1AsT0FBTztLQUNSLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyJ9
|
package/dist/esm/cmd/base.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ForkOptions } from 'node:child_process';
|
|
2
|
-
import { Command, CommandContext, Utils } from '@artus-cli/artus-cli';
|
|
3
|
-
export declare abstract class BaseCommand extends Command {
|
|
4
|
-
dryRun: boolean;
|
|
5
|
-
require: string[];
|
|
6
|
-
ctx: CommandContext;
|
|
7
|
-
utils: Utils;
|
|
8
|
-
protected get base(): any;
|
|
9
|
-
run(): Promise<void>;
|
|
10
|
-
protected formatRequires(): Promise<string[]>;
|
|
11
|
-
protected forkNode(modulePath: string, args: string[], options?: ForkOptions): Promise<void>;
|
|
12
|
-
}
|
package/dist/esm/cmd/base.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { debuglog } from 'node:util';
|
|
11
|
-
import { fork } from 'node:child_process';
|
|
12
|
-
import { DefineCommand, Option, Command, CommandContext, Inject, Utils, } from '@artus-cli/artus-cli';
|
|
13
|
-
const debug = debuglog('@eggjs/bin/base');
|
|
14
|
-
// only hook once and only when ever start any child.
|
|
15
|
-
const children = new Set();
|
|
16
|
-
let hadHook = false;
|
|
17
|
-
function graceful(proc) {
|
|
18
|
-
// save child ref
|
|
19
|
-
children.add(proc);
|
|
20
|
-
// only hook once
|
|
21
|
-
/* c8 ignore else */
|
|
22
|
-
if (!hadHook) {
|
|
23
|
-
hadHook = true;
|
|
24
|
-
let signal;
|
|
25
|
-
['SIGINT', 'SIGQUIT', 'SIGTERM'].forEach(event => {
|
|
26
|
-
process.once(event, () => {
|
|
27
|
-
signal = event;
|
|
28
|
-
process.exit(0);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
process.once('exit', (code) => {
|
|
32
|
-
for (const child of children) {
|
|
33
|
-
debug('process exit code: %o, kill child %o with %o', code, child.pid, signal);
|
|
34
|
-
child.kill(signal);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
class ForkError extends Error {
|
|
40
|
-
code;
|
|
41
|
-
constructor(message, code) {
|
|
42
|
-
super(message);
|
|
43
|
-
this.code = code;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
let BaseCommand = class BaseCommand extends Command {
|
|
47
|
-
dryRun;
|
|
48
|
-
require;
|
|
49
|
-
ctx;
|
|
50
|
-
utils;
|
|
51
|
-
// FIXME: should has a better way to init global args default value
|
|
52
|
-
get base() {
|
|
53
|
-
return this.ctx.args.base;
|
|
54
|
-
}
|
|
55
|
-
async run() {
|
|
56
|
-
await this.utils.redirect(['--help']);
|
|
57
|
-
}
|
|
58
|
-
async formatRequires() {
|
|
59
|
-
const requires = this.require ?? [];
|
|
60
|
-
const eggRequire = this.ctx.args.pkgEgg.require;
|
|
61
|
-
if (Array.isArray(eggRequire)) {
|
|
62
|
-
for (const r of eggRequire) {
|
|
63
|
-
requires.push(r);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else if (typeof eggRequire === 'string' && eggRequire) {
|
|
67
|
-
requires.push(eggRequire);
|
|
68
|
-
}
|
|
69
|
-
return requires;
|
|
70
|
-
}
|
|
71
|
-
async forkNode(modulePath, args, options = {}) {
|
|
72
|
-
if (this.dryRun) {
|
|
73
|
-
console.log('dry run: $ %o', `${process.execPath} ${modulePath} ${args.join(' ')}`);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const forkExecArgv = [
|
|
77
|
-
...this.ctx.args.execArgv || [],
|
|
78
|
-
...options.execArgv || [],
|
|
79
|
-
];
|
|
80
|
-
options = {
|
|
81
|
-
stdio: 'inherit',
|
|
82
|
-
env: this.ctx.env,
|
|
83
|
-
cwd: this.base,
|
|
84
|
-
...options,
|
|
85
|
-
execArgv: forkExecArgv,
|
|
86
|
-
};
|
|
87
|
-
const proc = fork(modulePath, args, options);
|
|
88
|
-
debug('Run fork pid: %o\n\n$ %s%s %s %s\n\n', proc.pid, options.env?.NODE_OPTIONS ? `NODE_OPTIONS='${options.env.NODE_OPTIONS}' ` : '', process.execPath, modulePath, args.map(a => `'${a}'`).join(' '));
|
|
89
|
-
graceful(proc);
|
|
90
|
-
return new Promise((resolve, reject) => {
|
|
91
|
-
proc.once('exit', code => {
|
|
92
|
-
debug('fork pid: %o exit code %o', proc.pid, code);
|
|
93
|
-
children.delete(proc);
|
|
94
|
-
if (code !== 0) {
|
|
95
|
-
const err = new ForkError(modulePath + ' ' + args.join(' ') + ' exit with code ' + code, code);
|
|
96
|
-
reject(err);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
resolve();
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
__decorate([
|
|
106
|
-
Option({
|
|
107
|
-
description: 'whether show full command script only, default is false',
|
|
108
|
-
alias: 'd',
|
|
109
|
-
type: 'boolean',
|
|
110
|
-
default: false,
|
|
111
|
-
}),
|
|
112
|
-
__metadata("design:type", Boolean)
|
|
113
|
-
], BaseCommand.prototype, "dryRun", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
Option({
|
|
116
|
-
description: 'require the given module',
|
|
117
|
-
alias: 'r',
|
|
118
|
-
array: true,
|
|
119
|
-
default: [],
|
|
120
|
-
}),
|
|
121
|
-
__metadata("design:type", Array)
|
|
122
|
-
], BaseCommand.prototype, "require", void 0);
|
|
123
|
-
__decorate([
|
|
124
|
-
Inject(),
|
|
125
|
-
__metadata("design:type", CommandContext)
|
|
126
|
-
], BaseCommand.prototype, "ctx", void 0);
|
|
127
|
-
__decorate([
|
|
128
|
-
Inject(),
|
|
129
|
-
__metadata("design:type", Utils)
|
|
130
|
-
], BaseCommand.prototype, "utils", void 0);
|
|
131
|
-
BaseCommand = __decorate([
|
|
132
|
-
DefineCommand()
|
|
133
|
-
], BaseCommand);
|
|
134
|
-
export { BaseCommand };
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWQvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQTZCLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQUUsT0FBTyxFQUNmLGNBQWMsRUFDZCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMscURBQXFEO0FBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO0FBQ3pDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNwQixTQUFTLFFBQVEsQ0FBQyxJQUFrQjtJQUNsQyxpQkFBaUI7SUFDakIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDZixJQUFJLE1BQXNCLENBQUM7UUFDM0IsQ0FBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxLQUF1QixDQUFDO2dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3BDLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sU0FBVSxTQUFRLEtBQUs7SUFDM0IsSUFBSSxDQUFnQjtJQUNwQixZQUFZLE9BQWUsRUFBRSxJQUFtQjtRQUM5QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFHTSxJQUFlLFdBQVcsR0FBMUIsTUFBZSxXQUFZLFNBQVEsT0FBTztJQU8vQyxNQUFNLENBQVU7SUFRaEIsT0FBTyxDQUFXO0lBR2xCLEdBQUcsQ0FBaUI7SUFHcEIsS0FBSyxDQUFRO0lBRWIsbUVBQW1FO0lBQ25FLElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUUsUUFBUSxDQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVMsS0FBSyxDQUFDLGNBQWM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5QixLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7WUFDeEQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBa0IsRUFBRSxJQUFjLEVBQUUsVUFBdUIsRUFBRTtRQUNwRixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRTtZQUMvQixHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRTtTQUMxQixDQUFDO1FBRUYsT0FBTyxHQUFHO1lBQ1IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZCxHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLHNDQUFzQyxFQUMxQyxJQUFJLENBQUMsR0FBRyxFQUNSLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM5RSxPQUFPLENBQUMsUUFBUSxFQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUN2QixLQUFLLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixHQUFHLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDL0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBNUVDO0lBTkMsTUFBTSxDQUFDO1FBQ04sV0FBVyxFQUFFLHlEQUF5RDtRQUN0RSxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDOzsyQ0FDYztBQVFoQjtJQU5DLE1BQU0sQ0FBQztRQUNOLFdBQVcsRUFBRSwwQkFBMEI7UUFDdkMsS0FBSyxFQUFFLEdBQUc7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO0tBQ1osQ0FBQzs7NENBQ2dCO0FBR2xCO0lBREMsTUFBTSxFQUFFOzhCQUNKLGNBQWM7d0NBQUM7QUFHcEI7SUFEQyxNQUFNLEVBQUU7OEJBQ0YsS0FBSzswQ0FBQztBQXJCTyxXQUFXO0lBRGhDLGFBQWEsRUFBRTtHQUNNLFdBQVcsQ0FtRmhDIn0=
|
package/dist/esm/cmd/cov.d.ts
DELETED
package/dist/esm/cmd/cov.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import path from 'node:path';
|
|
11
|
-
import fs from 'node:fs/promises';
|
|
12
|
-
import { DefineCommand, Option } from '@artus-cli/artus-cli';
|
|
13
|
-
import { importResolve } from '@eggjs/utils';
|
|
14
|
-
import { TestCommand } from './test.js';
|
|
15
|
-
let CovCommand = class CovCommand extends TestCommand {
|
|
16
|
-
// will use on egg-mock https://github.com/eggjs/egg-mock/blob/84a64bd19d0569ec94664c898fb1b28367b95d60/index.js#L7
|
|
17
|
-
prerequire;
|
|
18
|
-
x;
|
|
19
|
-
c8;
|
|
20
|
-
get defaultExcludes() {
|
|
21
|
-
return [
|
|
22
|
-
'example/',
|
|
23
|
-
'examples/',
|
|
24
|
-
'mocks**/',
|
|
25
|
-
'docs/',
|
|
26
|
-
// https://github.com/JaKXz/test-exclude/blob/620a7be412d4fc2070d50f0f63e3228314066fc9/index.js#L73
|
|
27
|
-
'test/**',
|
|
28
|
-
'test{,-*}.js',
|
|
29
|
-
'**/*.test.js',
|
|
30
|
-
'**/__tests__/**',
|
|
31
|
-
'**/node_modules/**',
|
|
32
|
-
'typings',
|
|
33
|
-
'**/*.d.ts',
|
|
34
|
-
];
|
|
35
|
-
}
|
|
36
|
-
async forkNode(modulePath, args) {
|
|
37
|
-
if (this.prerequire) {
|
|
38
|
-
this.ctx.env.EGG_BIN_PREREQUIRE = 'true';
|
|
39
|
-
}
|
|
40
|
-
// append cobertura
|
|
41
|
-
if (this.c8) {
|
|
42
|
-
this.c8 += ' -r cobertura';
|
|
43
|
-
}
|
|
44
|
-
// add c8 args
|
|
45
|
-
// https://github.com/eggjs/egg/issues/3930
|
|
46
|
-
const c8Args = [
|
|
47
|
-
// '--show-process-tree',
|
|
48
|
-
...this.c8.split(' ').filter(a => a.trim()),
|
|
49
|
-
];
|
|
50
|
-
if (this.ctx.args.typescript) {
|
|
51
|
-
this.ctx.env.SPAWN_WRAP_SHIM_ROOT = path.join(this.base, 'node_modules');
|
|
52
|
-
c8Args.push('--extension');
|
|
53
|
-
c8Args.push('.ts');
|
|
54
|
-
}
|
|
55
|
-
const excludes = new Set([
|
|
56
|
-
...process.env.COV_EXCLUDES?.split(',') ?? [],
|
|
57
|
-
...this.defaultExcludes,
|
|
58
|
-
...this.x,
|
|
59
|
-
]);
|
|
60
|
-
for (const exclude of excludes) {
|
|
61
|
-
c8Args.push('-x');
|
|
62
|
-
c8Args.push(exclude);
|
|
63
|
-
}
|
|
64
|
-
const c8File = importResolve('c8/bin/c8.js');
|
|
65
|
-
const outputDir = path.join(this.base, 'node_modules/.c8_output');
|
|
66
|
-
await fs.rm(outputDir, { force: true, recursive: true });
|
|
67
|
-
const coverageDir = path.join(this.base, 'coverage');
|
|
68
|
-
await fs.rm(coverageDir, { force: true, recursive: true });
|
|
69
|
-
await super.forkNode(c8File, [...c8Args, process.execPath, ...this.ctx.args.execArgv || [], modulePath, ...args]);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
__decorate([
|
|
73
|
-
Option({
|
|
74
|
-
description: 'prerequire files for coverage instrument',
|
|
75
|
-
type: 'boolean',
|
|
76
|
-
default: false,
|
|
77
|
-
}),
|
|
78
|
-
__metadata("design:type", Boolean)
|
|
79
|
-
], CovCommand.prototype, "prerequire", void 0);
|
|
80
|
-
__decorate([
|
|
81
|
-
Option({
|
|
82
|
-
description: 'coverage ignore, one or more files patterns`',
|
|
83
|
-
array: true,
|
|
84
|
-
default: [],
|
|
85
|
-
}),
|
|
86
|
-
__metadata("design:type", Array)
|
|
87
|
-
], CovCommand.prototype, "x", void 0);
|
|
88
|
-
__decorate([
|
|
89
|
-
Option({
|
|
90
|
-
description: 'c8 instruments passthrough`',
|
|
91
|
-
default: '--temp-directory node_modules/.c8_output -r text-summary -r json-summary -r json -r lcov -r cobertura',
|
|
92
|
-
}),
|
|
93
|
-
__metadata("design:type", String)
|
|
94
|
-
], CovCommand.prototype, "c8", void 0);
|
|
95
|
-
CovCommand = __decorate([
|
|
96
|
-
DefineCommand({
|
|
97
|
-
command: 'cov [files...]',
|
|
98
|
-
description: 'Run the test with coverage',
|
|
99
|
-
alias: ['c'],
|
|
100
|
-
})
|
|
101
|
-
], CovCommand);
|
|
102
|
-
export { CovCommand };
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZC9jb3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBT2pDLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxXQUFXO0lBQ3pDLG1IQUFtSDtJQU1uSCxVQUFVLENBQVU7SUFPcEIsQ0FBQyxDQUFXO0lBTVosRUFBRSxDQUFTO0lBRVgsSUFBSSxlQUFlO1FBQ2pCLE9BQU87WUFDTCxVQUFVO1lBQ1YsV0FBVztZQUNYLFVBQVU7WUFDVixPQUFPO1lBQ1AsbUdBQW1HO1lBQ25HLFNBQVM7WUFDVCxjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsU0FBUztZQUNULFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBa0IsRUFBRSxJQUFjO1FBQ3pELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsbUJBQW1CO1FBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLEVBQUUsSUFBSSxlQUFlLENBQUM7UUFDN0IsQ0FBQztRQUVELGNBQWM7UUFDZCwyQ0FBMkM7UUFDM0MsTUFBTSxNQUFNLEdBQUc7WUFDYix5QkFBeUI7WUFDekIsR0FBRyxJQUFJ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
|
package/dist/esm/cmd/debug.d.ts
DELETED
package/dist/esm/cmd/debug.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { DefineCommand, Command, Utils, Inject } from '@artus-cli/artus-cli';
|
|
11
|
-
let DebugCommand = class DebugCommand extends Command {
|
|
12
|
-
utils;
|
|
13
|
-
async run() {
|
|
14
|
-
await this.utils.redirect(['dev', '--inspect']);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
__decorate([
|
|
18
|
-
Inject(),
|
|
19
|
-
__metadata("design:type", Utils)
|
|
20
|
-
], DebugCommand.prototype, "utils", void 0);
|
|
21
|
-
DebugCommand = __decorate([
|
|
22
|
-
DefineCommand({
|
|
23
|
-
command: 'debug',
|
|
24
|
-
description: 'Alias to `egg-bin dev --inspect`',
|
|
25
|
-
})
|
|
26
|
-
], DebugCommand);
|
|
27
|
-
export { DebugCommand };
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU10RSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsT0FBTztJQUV2QyxLQUFLLENBQVE7SUFFYixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBRSxLQUFLLEVBQUUsV0FBVyxDQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0YsQ0FBQTtBQUxDO0lBREMsTUFBTSxFQUFFOzhCQUNGLEtBQUs7MkNBQUM7QUFGRixZQUFZO0lBSnhCLGFBQWEsQ0FBQztRQUNiLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxrQ0FBa0M7S0FDaEQsQ0FBQztHQUNXLFlBQVksQ0FPeEIifQ==
|
package/dist/esm/cmd/dev.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from './base.js';
|
|
2
|
-
export declare class DevCommand extends BaseCommand {
|
|
3
|
-
port: number;
|
|
4
|
-
workers: number;
|
|
5
|
-
framework: string;
|
|
6
|
-
sticky: boolean;
|
|
7
|
-
run(): Promise<void>;
|
|
8
|
-
protected formatEggStartOptions(): Promise<{
|
|
9
|
-
baseDir: any;
|
|
10
|
-
workers: number;
|
|
11
|
-
port: number;
|
|
12
|
-
framework: string;
|
|
13
|
-
typescript: any;
|
|
14
|
-
tscompiler: any;
|
|
15
|
-
sticky: boolean;
|
|
16
|
-
}>;
|
|
17
|
-
}
|