@eggjs/bin 7.0.0-beta.4 → 7.0.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/README.md +5 -10
- package/bin/dev.js +6 -4
- package/bin/run.js +2 -2
- 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 +208 -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 +33 -6
- package/dist/esm/baseCommand.js +246 -40
- package/dist/esm/commands/cov.d.ts +17 -8
- package/dist/esm/commands/cov.js +83 -17
- package/dist/esm/commands/dev.d.ts +15 -7
- package/dist/esm/commands/dev.js +83 -16
- package/dist/esm/commands/test.d.ts +11 -5
- package/dist/esm/commands/test.js +103 -61
- 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 +15 -31
- package/scripts/start-cluster.cjs +15 -0
- package/src/baseCommand.ts +254 -43
- package/src/commands/cov.ts +87 -17
- package/src/commands/dev.ts +84 -15
- package/src/commands/test.ts +106 -61
- 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/commands/debug.d.ts +0 -13
- package/dist/esm/commands/debug.js +0 -25
- 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/hooks/init/options.d.ts +0 -3
- package/dist/esm/hooks/init/options.js +0 -5
- 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/commands/debug.ts +0 -30
- package/src/config/framework.ts +0 -3
- package/src/config/plugin.ts +0 -10
- package/src/hooks/init/options.ts +0 -7
- package/src/middleware/global_options.ts +0 -169
- package/src/middleware/handle_error.ts +0 -30
- package/src/middleware/inspect.ts +0 -54
package/src/commands/test.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { debuglog } from 'node:util';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import os from 'node:os';
|
|
3
4
|
import fs from 'node:fs/promises';
|
|
4
5
|
import { Args, Flags } from '@oclif/core';
|
|
5
6
|
import globby from 'globby';
|
|
6
|
-
import { importResolve } from '@eggjs/utils';
|
|
7
|
+
import { importResolve, detectType, EggType } from '@eggjs/utils';
|
|
8
|
+
import { getChangedFilesForRoots } from 'jest-changed-files';
|
|
7
9
|
import { BaseCommand } from '../baseCommand.js';
|
|
8
10
|
|
|
9
11
|
const debug = debuglog('@eggjs/bin/commands/test');
|
|
10
12
|
|
|
11
|
-
export default class Test extends
|
|
13
|
+
export default class Test<T extends typeof Test> extends BaseCommand<T> {
|
|
12
14
|
static override args = {
|
|
13
15
|
file: Args.string({
|
|
14
16
|
description: 'file(s) to test',
|
|
15
|
-
default: 'test/**/*.test.ts',
|
|
16
17
|
}),
|
|
17
18
|
};
|
|
18
19
|
|
|
@@ -26,33 +27,47 @@ export default class Test extends BaseCommand<typeof Test> {
|
|
|
26
27
|
];
|
|
27
28
|
|
|
28
29
|
static override flags = {
|
|
29
|
-
// flag with no value (--ts, --typescript)
|
|
30
|
-
typescript: Flags.boolean({
|
|
31
|
-
description: '[default: true] use TypeScript to run the test',
|
|
32
|
-
default: true,
|
|
33
|
-
aliases: [ 'ts' ],
|
|
34
|
-
allowNo: true,
|
|
35
|
-
}),
|
|
36
|
-
javascript: Flags.boolean({
|
|
37
|
-
description: 'use JavaScript to run the test',
|
|
38
|
-
default: false,
|
|
39
|
-
aliases: [ 'js' ],
|
|
40
|
-
}),
|
|
41
30
|
bail: Flags.boolean({
|
|
42
31
|
description: 'bbort ("bail") after first test failure',
|
|
43
32
|
default: false,
|
|
44
33
|
char: 'b',
|
|
45
34
|
}),
|
|
46
|
-
|
|
47
|
-
timeout: Flags.string({
|
|
35
|
+
timeout: Flags.integer({
|
|
48
36
|
char: 't',
|
|
49
37
|
description: 'set test-case timeout in milliseconds',
|
|
50
|
-
default: process.env.TEST_TIMEOUT ?? '60000',
|
|
38
|
+
default: parseInt(process.env.TEST_TIMEOUT ?? '60000'),
|
|
39
|
+
}),
|
|
40
|
+
'no-timeout': Flags.boolean({
|
|
41
|
+
description: 'disable timeout',
|
|
51
42
|
}),
|
|
52
43
|
grep: Flags.string({
|
|
53
44
|
char: 'g',
|
|
54
45
|
description: 'only run tests matching <pattern>',
|
|
55
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
|
+
}),
|
|
56
71
|
};
|
|
57
72
|
|
|
58
73
|
public async run(): Promise<void> {
|
|
@@ -66,19 +81,27 @@ export default class Test extends BaseCommand<typeof Test> {
|
|
|
66
81
|
}
|
|
67
82
|
|
|
68
83
|
const mochaFile = process.env.MOCHA_FILE || importResolve('mocha/bin/_mocha');
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
if (flags.parallel) {
|
|
85
|
+
this.env.ENABLE_MOCHA_PARALLEL = 'true';
|
|
86
|
+
if (flags['auto-agent']) {
|
|
87
|
+
this.env.AUTO_AGENT = 'true';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
75
90
|
// set NODE_ENV=test, let egg application load unittest logic
|
|
76
91
|
// https://eggjs.org/basics/env#difference-from-node_env
|
|
77
|
-
|
|
78
|
-
|
|
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);
|
|
79
98
|
|
|
80
99
|
const mochaArgs = await this.formatMochaArgs();
|
|
81
100
|
if (!mochaArgs) return;
|
|
101
|
+
await this.runMocha(mochaFile, mochaArgs);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
protected async runMocha(mochaFile: string, mochaArgs: string[]) {
|
|
82
105
|
await this.forkNode(mochaFile, mochaArgs, {
|
|
83
106
|
execArgv: [
|
|
84
107
|
...process.execArgv,
|
|
@@ -92,40 +115,44 @@ export default class Test extends BaseCommand<typeof Test> {
|
|
|
92
115
|
const { args, flags } = this;
|
|
93
116
|
// collect require
|
|
94
117
|
const requires = await this.formatRequires();
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
118
|
+
const eggType = await detectType(flags.base);
|
|
119
|
+
debug('eggType: %s', eggType);
|
|
120
|
+
if (eggType === EggType.application) {
|
|
121
|
+
try {
|
|
122
|
+
const eggMockRegister = importResolve('@eggjs/mock/register', { paths: [ flags.base ] });
|
|
123
|
+
requires.push(eggMockRegister);
|
|
124
|
+
debug('auto register @eggjs/mock/register: %o', eggMockRegister);
|
|
125
|
+
} catch (err: any) {
|
|
126
|
+
// ignore @eggjs/mock not exists
|
|
127
|
+
debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s',
|
|
128
|
+
flags.base, err.message);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
104
131
|
|
|
105
132
|
// handle mochawesome enable
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
133
|
+
let reporter = this.env.TEST_REPORTER;
|
|
134
|
+
let reporterOptions = '';
|
|
135
|
+
if (!reporter && flags.mochawesome) {
|
|
136
|
+
// use https://github.com/node-modules/mochawesome/pull/1 instead
|
|
137
|
+
reporter = importResolve('mochawesome-with-mocha');
|
|
138
|
+
reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
|
|
139
|
+
if (flags.parallel) {
|
|
140
|
+
// https://github.com/adamgruber/mochawesome#parallel-mode
|
|
141
|
+
requires.push(path.join(reporter, '../register.js'));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
117
144
|
|
|
118
145
|
const ext = flags.typescript ? 'ts' : 'js';
|
|
119
146
|
let pattern = args.file ? args.file.split(',') : [];
|
|
120
|
-
//
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
147
|
+
// changed
|
|
148
|
+
if (flags.changed) {
|
|
149
|
+
pattern = await this.getChangedTestFiles(flags.base, ext);
|
|
150
|
+
if (!pattern.length) {
|
|
151
|
+
console.log('No changed test files');
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
debug('changed files: %o', pattern);
|
|
155
|
+
}
|
|
129
156
|
|
|
130
157
|
if (!pattern.length && process.env.TESTS) {
|
|
131
158
|
pattern = process.env.TESTS.split(',');
|
|
@@ -142,7 +169,7 @@ export default class Test extends BaseCommand<typeof Test> {
|
|
|
142
169
|
files.sort();
|
|
143
170
|
|
|
144
171
|
if (files.length === 0) {
|
|
145
|
-
console.log(
|
|
172
|
+
console.log('No test files found with pattern %o', pattern);
|
|
146
173
|
return;
|
|
147
174
|
}
|
|
148
175
|
|
|
@@ -158,18 +185,36 @@ export default class Test extends BaseCommand<typeof Test> {
|
|
|
158
185
|
const grep = flags.grep ? flags.grep.split(',') : [];
|
|
159
186
|
|
|
160
187
|
return [
|
|
161
|
-
flags.dryRun ? '--dry-run' : '',
|
|
162
188
|
// force exit
|
|
163
189
|
'--exit',
|
|
164
190
|
flags.bail ? '--bail' : '',
|
|
165
191
|
grep.map(pattern => `--grep='${pattern}'`).join(' '),
|
|
166
192
|
flags.timeout ? `--timeout=${flags.timeout}` : '--no-timeout',
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
193
|
+
flags.parallel ? '--parallel' : '',
|
|
194
|
+
flags.parallel && flags.jobs ? `--jobs=${flags.jobs}` : '',
|
|
195
|
+
reporter ? `--reporter=${reporter}` : '',
|
|
196
|
+
reporterOptions ? `--reporter-options=${reporterOptions}` : '',
|
|
171
197
|
...requires.map(r => `--require=${r}`),
|
|
172
198
|
...files,
|
|
199
|
+
flags['dry-run'] ? '--dry-run' : '',
|
|
173
200
|
].filter(a => a.trim());
|
|
174
201
|
}
|
|
202
|
+
|
|
203
|
+
protected async getChangedTestFiles(dir: string, ext: string) {
|
|
204
|
+
const res = await getChangedFilesForRoots([ path.join(dir, 'test') ], {});
|
|
205
|
+
const changedFiles = res.changedFiles;
|
|
206
|
+
const files: string[] = [];
|
|
207
|
+
for (let cf of changedFiles) {
|
|
208
|
+
// only find test/**/*.test.(js|ts)
|
|
209
|
+
if (cf.endsWith(`.test.${ext}`)) {
|
|
210
|
+
// Patterns MUST use forward slashes (not backslashes)
|
|
211
|
+
// This should be converted on Windows
|
|
212
|
+
if (process.platform === 'win32') {
|
|
213
|
+
cf = cf.replace(/\\/g, '/');
|
|
214
|
+
}
|
|
215
|
+
files.push(cf);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return files;
|
|
219
|
+
}
|
|
175
220
|
}
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWQvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQTZCLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQUUsT0FBTyxFQUNmLGNBQWMsRUFDZCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMscURBQXFEO0FBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO0FBQ3pDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNwQixTQUFTLFFBQVEsQ0FBQyxJQUFrQjtJQUNsQyxpQkFBaUI7SUFDakIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDZixJQUFJLE1BQXNCLENBQUM7UUFDM0IsQ0FBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxLQUF1QixDQUFDO2dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3BD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
|
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
|
-
}
|