@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,198 @@
|
|
|
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
|
+
const debug = debuglog('@eggjs/bin/commands/test');
|
|
11
|
+
export default class Test extends BaseCommand {
|
|
12
|
+
static args = {
|
|
13
|
+
file: Args.string({
|
|
14
|
+
description: 'file(s) to test',
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
static description = 'Run the test';
|
|
18
|
+
static examples = [
|
|
19
|
+
'<%= config.bin %> <%= command.id %>',
|
|
20
|
+
'<%= config.bin %> <%= command.id %> test/index.test.ts',
|
|
21
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
22
|
+
'<%= config.bin %> <%= command.id %> --log-level debug',
|
|
23
|
+
];
|
|
24
|
+
static flags = {
|
|
25
|
+
bail: Flags.boolean({
|
|
26
|
+
description: 'bbort ("bail") after first test failure',
|
|
27
|
+
default: false,
|
|
28
|
+
char: 'b',
|
|
29
|
+
}),
|
|
30
|
+
timeout: Flags.integer({
|
|
31
|
+
char: 't',
|
|
32
|
+
description: 'set test-case timeout in milliseconds',
|
|
33
|
+
default: parseInt(process.env.TEST_TIMEOUT ?? '60000'),
|
|
34
|
+
}),
|
|
35
|
+
'no-timeout': Flags.boolean({
|
|
36
|
+
description: 'disable timeout',
|
|
37
|
+
}),
|
|
38
|
+
grep: Flags.string({
|
|
39
|
+
char: 'g',
|
|
40
|
+
description: 'only run tests matching <pattern>',
|
|
41
|
+
}),
|
|
42
|
+
changed: Flags.boolean({
|
|
43
|
+
description: 'only test with changed files and match test/**/*.test.(js|ts)',
|
|
44
|
+
char: 'c',
|
|
45
|
+
}),
|
|
46
|
+
mochawesome: Flags.boolean({
|
|
47
|
+
description: '[default: true] enable mochawesome reporter',
|
|
48
|
+
default: true,
|
|
49
|
+
allowNo: true,
|
|
50
|
+
}),
|
|
51
|
+
parallel: Flags.boolean({
|
|
52
|
+
description: 'mocha parallel mode',
|
|
53
|
+
default: false,
|
|
54
|
+
char: 'p',
|
|
55
|
+
}),
|
|
56
|
+
jobs: Flags.integer({
|
|
57
|
+
char: 't',
|
|
58
|
+
description: 'number of jobs to run in parallel',
|
|
59
|
+
default: os.cpus().length - 1,
|
|
60
|
+
}),
|
|
61
|
+
'auto-agent': Flags.boolean({
|
|
62
|
+
description: '[default: true] auto bootstrap agent in mocha master process',
|
|
63
|
+
default: true,
|
|
64
|
+
allowNo: true,
|
|
65
|
+
}),
|
|
66
|
+
};
|
|
67
|
+
async run() {
|
|
68
|
+
const { flags } = this;
|
|
69
|
+
try {
|
|
70
|
+
await fs.access(flags.base);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.error('baseDir: %o not exists', flags.base);
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
const mochaFile = process.env.MOCHA_FILE || importResolve('mocha/bin/_mocha');
|
|
77
|
+
if (flags.parallel) {
|
|
78
|
+
this.env.ENABLE_MOCHA_PARALLEL = 'true';
|
|
79
|
+
if (flags['auto-agent']) {
|
|
80
|
+
this.env.AUTO_AGENT = 'true';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// set NODE_ENV=test, let egg application load unittest logic
|
|
84
|
+
// https://eggjs.org/basics/env#difference-from-node_env
|
|
85
|
+
this.env.NODE_ENV = 'test';
|
|
86
|
+
if (flags['no-timeout']) {
|
|
87
|
+
flags.timeout = 0;
|
|
88
|
+
}
|
|
89
|
+
debug('run test: %s %o flags: %o', mochaFile, this.args, flags);
|
|
90
|
+
const mochaArgs = await this.formatMochaArgs();
|
|
91
|
+
if (!mochaArgs)
|
|
92
|
+
return;
|
|
93
|
+
await this.runMocha(mochaFile, mochaArgs);
|
|
94
|
+
}
|
|
95
|
+
async runMocha(mochaFile, mochaArgs) {
|
|
96
|
+
await this.forkNode(mochaFile, mochaArgs, {
|
|
97
|
+
execArgv: [
|
|
98
|
+
...process.execArgv,
|
|
99
|
+
// https://github.com/mochajs/mocha/issues/2640#issuecomment-1663388547
|
|
100
|
+
'--unhandled-rejections=strict',
|
|
101
|
+
],
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async formatMochaArgs() {
|
|
105
|
+
const { args, flags } = this;
|
|
106
|
+
// collect require
|
|
107
|
+
const requires = await this.formatRequires();
|
|
108
|
+
// try {
|
|
109
|
+
// const eggMockRegister = importResolve('@eggjs/mock/register', { paths: [ this.base ] });
|
|
110
|
+
// requires.push(eggMockRegister);
|
|
111
|
+
// debug('auto register @eggjs/mock/register: %o', eggMockRegister);
|
|
112
|
+
// } catch (err) {
|
|
113
|
+
// // ignore @eggjs/mock not exists
|
|
114
|
+
// debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s',
|
|
115
|
+
// this.base, (err as Error).message);
|
|
116
|
+
// }
|
|
117
|
+
// handle mochawesome enable
|
|
118
|
+
let reporter = this.env.TEST_REPORTER;
|
|
119
|
+
let reporterOptions = '';
|
|
120
|
+
if (!reporter && flags.mochawesome) {
|
|
121
|
+
// use https://github.com/node-modules/mochawesome/pull/1 instead
|
|
122
|
+
reporter = importResolve('mochawesome-with-mocha');
|
|
123
|
+
reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
|
|
124
|
+
if (flags.parallel) {
|
|
125
|
+
// https://github.com/adamgruber/mochawesome#parallel-mode
|
|
126
|
+
requires.push(path.join(reporter, '../register.js'));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const ext = flags.typescript ? 'ts' : 'js';
|
|
130
|
+
let pattern = args.file ? args.file.split(',') : [];
|
|
131
|
+
// changed
|
|
132
|
+
if (flags.changed) {
|
|
133
|
+
pattern = await this.getChangedTestFiles(flags.base, ext);
|
|
134
|
+
if (!pattern.length) {
|
|
135
|
+
console.log('No changed test files');
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
debug('changed files: %o', pattern);
|
|
139
|
+
}
|
|
140
|
+
if (!pattern.length && process.env.TESTS) {
|
|
141
|
+
pattern = process.env.TESTS.split(',');
|
|
142
|
+
}
|
|
143
|
+
// collect test files when nothing is changed
|
|
144
|
+
if (!pattern.length) {
|
|
145
|
+
pattern = [`test/**/*.test.${ext}`];
|
|
146
|
+
}
|
|
147
|
+
pattern = pattern.concat(['!test/fixtures', '!test/node_modules']);
|
|
148
|
+
// expand glob and skip node_modules and fixtures
|
|
149
|
+
const files = globby.sync(pattern, { cwd: flags.base });
|
|
150
|
+
files.sort();
|
|
151
|
+
if (files.length === 0) {
|
|
152
|
+
console.log('No test files found with pattern %o', pattern);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// auto add setup file as the first test file
|
|
156
|
+
const setupFile = path.join(flags.base, `test/.setup.${ext}`);
|
|
157
|
+
try {
|
|
158
|
+
await fs.access(setupFile);
|
|
159
|
+
files.unshift(setupFile);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// ignore
|
|
163
|
+
}
|
|
164
|
+
const grep = flags.grep ? flags.grep.split(',') : [];
|
|
165
|
+
return [
|
|
166
|
+
// force exit
|
|
167
|
+
'--exit',
|
|
168
|
+
flags.bail ? '--bail' : '',
|
|
169
|
+
grep.map(pattern => `--grep='${pattern}'`).join(' '),
|
|
170
|
+
flags.timeout ? `--timeout=${flags.timeout}` : '--no-timeout',
|
|
171
|
+
flags.parallel ? '--parallel' : '',
|
|
172
|
+
flags.parallel && flags.jobs ? `--jobs=${flags.jobs}` : '',
|
|
173
|
+
reporter ? `--reporter=${reporter}` : '',
|
|
174
|
+
reporterOptions ? `--reporter-options=${reporterOptions}` : '',
|
|
175
|
+
...requires.map(r => `--require=${r}`),
|
|
176
|
+
...files,
|
|
177
|
+
flags['dry-run'] ? '--dry-run' : '',
|
|
178
|
+
].filter(a => a.trim());
|
|
179
|
+
}
|
|
180
|
+
async getChangedTestFiles(dir, ext) {
|
|
181
|
+
const res = await getChangedFilesForRoots([path.join(dir, 'test')], {});
|
|
182
|
+
const changedFiles = res.changedFiles;
|
|
183
|
+
const files = [];
|
|
184
|
+
for (let cf of changedFiles) {
|
|
185
|
+
// only find test/**/*.test.(js|ts)
|
|
186
|
+
if (cf.endsWith(`.test.${ext}`)) {
|
|
187
|
+
// Patterns MUST use forward slashes (not backslashes)
|
|
188
|
+
// This should be converted on Windows
|
|
189
|
+
if (process.platform === 'win32') {
|
|
190
|
+
cf = cf.replace(/\\/g, '/');
|
|
191
|
+
}
|
|
192
|
+
files.push(cf);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return files;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFbkQsTUFBTSxDQUFDLE9BQU8sT0FBTyxJQUE0QixTQUFRLFdBQWM7SUFDckUsTUFBTSxDQUFVLElBQUksR0FBRztRQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNoQixXQUFXLEVBQUUsaUJBQWlCO1NBQy9CLENBQUM7S0FDSCxDQUFDO0lBRUYsTUFBTSxDQUFVLFdBQVcsR0FBRyxjQUFjLENBQUM7SUFFN0MsTUFBTSxDQUFVLFFBQVEsR0FBRztRQUN6QixxQ0FBcUM7UUFDckMsd0RBQXdEO1FBQ3hELDRDQUE0QztRQUM1Qyx1REFBdUQ7S0FDeEQsQ0FBQztJQUVGLE1BQU0sQ0FBVSxLQUFLLEdBQUc7UUFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbEIsV0FBVyxFQUFFLHlDQUF5QztZQUN0RCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxH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
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export * from './
|
|
1
|
+
import Test from './commands/test.js';
|
|
2
|
+
import Cov from './commands/cov.js';
|
|
3
|
+
import Dev from './commands/dev.js';
|
|
4
|
+
export { Test, Cov, Dev };
|
|
5
|
+
export * from './baseCommand.js';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export * from '@oclif/core';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export * from './
|
|
6
|
-
|
|
1
|
+
import Test from './commands/test.js';
|
|
2
|
+
import Cov from './commands/cov.js';
|
|
3
|
+
import Dev from './commands/dev.js';
|
|
4
|
+
export { Test, Cov, Dev };
|
|
5
|
+
export * from './baseCommand.js';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export * from '@oclif/core';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sb0JBQW9CLENBQUM7QUFDdEMsT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUM7QUFDcEMsT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUM7QUFFcEMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFMUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQyJ9
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare function addNodeOptionsToEnv(options: string, env: Record<string, any>): void;
|
|
2
1
|
export declare function readPackageJSON(baseDir: string): Promise<any>;
|
|
3
2
|
export declare function hasTsConfig(baseDir: string): Promise<boolean>;
|
|
4
3
|
export declare function getSourceDirname(): string;
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
-
export function addNodeOptionsToEnv(options, env) {
|
|
5
|
-
if (env.NODE_OPTIONS) {
|
|
6
|
-
if (!env.NODE_OPTIONS.includes(options)) {
|
|
7
|
-
env.NODE_OPTIONS = `${env.NODE_OPTIONS} ${options}`;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
env.NODE_OPTIONS = options;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
4
|
export async function readPackageJSON(baseDir) {
|
|
15
5
|
const pkgFile = path.join(baseDir, 'package.json');
|
|
16
6
|
try {
|
|
@@ -43,4 +33,4 @@ export function getSourceDirname() {
|
|
|
43
33
|
export function getSourceFilename(filename) {
|
|
44
34
|
return path.join(getSourceDirname(), filename);
|
|
45
35
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekMsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsT0FBZTtJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWU7SUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELDZEQUE2RDtJQUM3RCxhQUFhO0lBQ2IsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBZ0I7SUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDakQsQ0FBQyJ9
|
package/dist/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
+
const { debuglog } = require('node:util');
|
|
3
|
+
const { importModule } = require('@eggjs/utils');
|
|
4
|
+
|
|
5
|
+
const debug = debuglog('@eggjs/bin/scripts/start-cluster');
|
|
6
|
+
|
|
7
|
+
async function main() {
|
|
8
|
+
debug('argv: %o', process.argv);
|
|
9
|
+
const options = JSON.parse(process.argv[2]);
|
|
10
|
+
debug('start cluster options: %o', options);
|
|
11
|
+
const { startCluster } = await importModule(options.framework);
|
|
12
|
+
await startCluster(options);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
main();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/bin",
|
|
3
|
-
"version": "7.0.0
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -14,35 +14,20 @@
|
|
|
14
14
|
},
|
|
15
15
|
"homepage": "https://github.com/eggjs/bin",
|
|
16
16
|
"author": "fengmk2 <fengmk2@gmail.com> (https://github.com/fengmk2)",
|
|
17
|
-
"scripts2": {
|
|
18
|
-
"postinstall": "node scripts/postinstall.js",
|
|
19
|
-
"lint": "eslint . --cache --ext ts",
|
|
20
|
-
"test": "npm run lint -- --fix && npm run test-local",
|
|
21
|
-
"test-local": "npm run tsc && node dist/bin/cli.js test",
|
|
22
|
-
"test-local-with-ts-node-transpile-only": "node -r ts-node/register/transpile-only src/bin/cli.ts test",
|
|
23
|
-
"test-local-with-swc": "node -r @swc-node/register src/bin/cli.ts test",
|
|
24
|
-
"test-local-with-esbuild": "node -r esbuild-register src/bin/cli.ts test",
|
|
25
|
-
"test-tsc": "npm run clean && npm run tsc && node dist/bin/cli.js && node dist/bin/cli.js test --base test/fixtures/example-ts && node dist/bin/cli.js dev --base test/fixtures/example-ts",
|
|
26
|
-
"cov": "c8 -r lcov -r text-summary -x 'test/**' npm run test-local -- --timeout 120000",
|
|
27
|
-
"ci": "npm run lint && npm run test-local && npm run test-tsc",
|
|
28
|
-
"prepublishOnly": "npm run clean && npm run tsc",
|
|
29
|
-
"tsc": "tsc",
|
|
30
|
-
"clean": "rm -rf dist"
|
|
31
|
-
},
|
|
32
17
|
"engines": {
|
|
33
18
|
"node": ">= 18.19.0"
|
|
34
19
|
},
|
|
35
20
|
"dependencies": {
|
|
36
|
-
"@artus-cli/artus-cli": "^1.0.1",
|
|
37
|
-
"@artus-cli/plugin-autocomplete": "^0.1.1",
|
|
38
|
-
"@artus-cli/plugin-version": "^1.0.2",
|
|
39
21
|
"@eggjs/utils": "^4.1.2",
|
|
22
|
+
"@oclif/core": "^4.2.0",
|
|
23
|
+
"@types/mocha": "^10.0.10",
|
|
24
|
+
"@types/supertest": "^6.0.2",
|
|
40
25
|
"c8": "^10.0.0",
|
|
41
26
|
"detect-port": "^2.0.0",
|
|
42
27
|
"egg-ts-helper": "^2.1.0",
|
|
43
28
|
"globby": "^11.1.0",
|
|
44
29
|
"jest-changed-files": "^29.4.2",
|
|
45
|
-
"mocha": "^
|
|
30
|
+
"mocha": "^11.0.1",
|
|
46
31
|
"mochawesome-with-mocha": "^7.1.3",
|
|
47
32
|
"runscript": "^2.0.0",
|
|
48
33
|
"ts-node": "^10.9.2",
|
|
@@ -63,18 +48,20 @@
|
|
|
63
48
|
"@eggjs/tsconfig": "1",
|
|
64
49
|
"@swc-node/register": "^1.6.1",
|
|
65
50
|
"@swc/core": "^1.3.35",
|
|
66
|
-
"@types/mocha": "10",
|
|
67
51
|
"@types/node": "22",
|
|
68
52
|
"assert-file": "^1.0.0",
|
|
69
53
|
"coffee": "^5.5.1",
|
|
70
54
|
"cpy": "^8.1.2",
|
|
71
55
|
"cpy-cli": "^5.0.0",
|
|
56
|
+
"cross-env": "^7.0.3",
|
|
72
57
|
"egg": "beta",
|
|
73
58
|
"esbuild": "^0.17.7",
|
|
74
59
|
"esbuild-register": "^3.4.2",
|
|
75
60
|
"eslint": "8",
|
|
76
61
|
"eslint-config-egg": "14",
|
|
62
|
+
"npminstall": "^7.12.0",
|
|
77
63
|
"rimraf": "6",
|
|
64
|
+
"supertest": "^7.0.0",
|
|
78
65
|
"tshy": "3",
|
|
79
66
|
"tshy-after": "1",
|
|
80
67
|
"typescript": "5"
|
|
@@ -83,14 +70,13 @@
|
|
|
83
70
|
"postinstall-skip": "node scripts/postinstall.mjs",
|
|
84
71
|
"lint": "eslint --cache src test --ext .ts",
|
|
85
72
|
"pretest": "npm run clean && npm run lint -- --fix && npm run prepublishOnly",
|
|
86
|
-
"test": "
|
|
87
|
-
"
|
|
73
|
+
"test": "node bin/run.js test",
|
|
74
|
+
"cov": "c8 --temp-directory node_modules/.c8_output -r text-summary -r json-summary -r json -r lcov -r cobertura node bin/run.js test",
|
|
88
75
|
"preci": "npm run clean && npm run lint && npm run prepublishOnly",
|
|
89
|
-
"cov": "c8 -r lcov -r text-summary -x 'test/**' npm run test-local -- --timeout 120000",
|
|
90
76
|
"ci": "npm run cov",
|
|
91
77
|
"clean": "rimraf dist",
|
|
92
78
|
"copyScripts": "rimraf dist/scripts && cpy scripts dist",
|
|
93
|
-
"prepublishOnly": "tshy && tshy-after && attw --pack &&
|
|
79
|
+
"prepublishOnly": "tshy && tshy-after && attw --pack && npm run copyScripts"
|
|
94
80
|
},
|
|
95
81
|
"type": "module",
|
|
96
82
|
"tshy": {
|
|
@@ -113,14 +99,24 @@
|
|
|
113
99
|
"./package.json": "./package.json"
|
|
114
100
|
},
|
|
115
101
|
"files": [
|
|
102
|
+
"bin",
|
|
116
103
|
"dist",
|
|
117
104
|
"src",
|
|
118
105
|
"scripts"
|
|
119
106
|
],
|
|
120
107
|
"bin": {
|
|
121
|
-
"egg-bin": "./
|
|
108
|
+
"egg-bin": "./bin/run.js"
|
|
122
109
|
},
|
|
123
110
|
"types": "./dist/commonjs/index.d.ts",
|
|
124
111
|
"main": "./dist/commonjs/index.js",
|
|
125
|
-
"module": "./dist/esm/index.js"
|
|
112
|
+
"module": "./dist/esm/index.js",
|
|
113
|
+
"oclif": {
|
|
114
|
+
"bin": "egg-bin",
|
|
115
|
+
"commands": "./dist/esm/commands",
|
|
116
|
+
"dirname": "egg-bin",
|
|
117
|
+
"topicSeparator": " ",
|
|
118
|
+
"additionalHelpFlags": [
|
|
119
|
+
"-h"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
126
122
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
+
const { debuglog } = require('node:util');
|
|
3
|
+
const { importModule } = require('@eggjs/utils');
|
|
4
|
+
|
|
5
|
+
const debug = debuglog('@eggjs/bin/scripts/start-cluster');
|
|
6
|
+
|
|
7
|
+
async function main() {
|
|
8
|
+
debug('argv: %o', process.argv);
|
|
9
|
+
const options = JSON.parse(process.argv[2]);
|
|
10
|
+
debug('start cluster options: %o', options);
|
|
11
|
+
const { startCluster } = await importModule(options.framework);
|
|
12
|
+
await startCluster(options);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
main();
|