@eggjs/bin 7.0.0-beta.4 → 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.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 +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 +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 +89 -51
- 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 +12 -28
- 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 +92 -51
- 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/dist/esm/cmd/dev.js
DELETED
|
@@ -1,118 +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 { DefineCommand, Option } from '@artus-cli/artus-cli';
|
|
12
|
-
import utils from '@eggjs/utils';
|
|
13
|
-
import detect from 'detect-port';
|
|
14
|
-
import { BaseCommand } from './base.js';
|
|
15
|
-
import { getSourceFilename } from '../utils.js';
|
|
16
|
-
const debug = debuglog('egg-bin:dev');
|
|
17
|
-
let DevCommand = class DevCommand extends BaseCommand {
|
|
18
|
-
port;
|
|
19
|
-
workers;
|
|
20
|
-
framework;
|
|
21
|
-
sticky;
|
|
22
|
-
async run() {
|
|
23
|
-
debug('run dev: %o', this.ctx.args);
|
|
24
|
-
this.ctx.env.NODE_ENV = this.ctx.env.NODE_ENV ?? 'development';
|
|
25
|
-
this.ctx.env.EGG_MASTER_CLOSE_TIMEOUT = '1000';
|
|
26
|
-
const serverBin = getSourceFilename('../scripts/start-cluster.mjs');
|
|
27
|
-
const eggStartOptions = await this.formatEggStartOptions();
|
|
28
|
-
const args = [JSON.stringify(eggStartOptions)];
|
|
29
|
-
const requires = await this.formatRequires();
|
|
30
|
-
const execArgv = [];
|
|
31
|
-
for (const r of requires) {
|
|
32
|
-
execArgv.push('--require');
|
|
33
|
-
execArgv.push(r);
|
|
34
|
-
}
|
|
35
|
-
await this.forkNode(serverBin, args, { execArgv });
|
|
36
|
-
}
|
|
37
|
-
async formatEggStartOptions() {
|
|
38
|
-
this.framework = utils.getFrameworkPath({
|
|
39
|
-
framework: this.framework,
|
|
40
|
-
baseDir: this.base,
|
|
41
|
-
});
|
|
42
|
-
if (!this.port) {
|
|
43
|
-
let configuredPort;
|
|
44
|
-
try {
|
|
45
|
-
const configuration = await utils.getConfig({
|
|
46
|
-
framework: this.framework,
|
|
47
|
-
baseDir: this.base,
|
|
48
|
-
env: 'local',
|
|
49
|
-
});
|
|
50
|
-
configuredPort = configuration?.cluster?.listen?.port;
|
|
51
|
-
}
|
|
52
|
-
catch (err) {
|
|
53
|
-
/** skip when failing to read the configuration */
|
|
54
|
-
debug('getConfig error: %s, framework: %o, baseDir: %o, env: local', err, this.framework, this.base);
|
|
55
|
-
}
|
|
56
|
-
if (configuredPort) {
|
|
57
|
-
this.port = configuredPort;
|
|
58
|
-
debug(`use port ${this.port} from configuration file`);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const defaultPort = process.env.EGG_BIN_DEFAULT_PORT ?? 7001;
|
|
62
|
-
debug('detect available port');
|
|
63
|
-
this.port = await detect(defaultPort);
|
|
64
|
-
if (this.port !== defaultPort) {
|
|
65
|
-
console.warn('[egg-bin] server port %s is in use, now using port %o', defaultPort, this.port);
|
|
66
|
-
}
|
|
67
|
-
debug(`use available port ${this.port}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
baseDir: this.base,
|
|
72
|
-
workers: this.workers,
|
|
73
|
-
port: this.port,
|
|
74
|
-
framework: this.framework,
|
|
75
|
-
typescript: this.ctx.args.typescript,
|
|
76
|
-
tscompiler: this.ctx.args.tscompiler,
|
|
77
|
-
sticky: this.sticky,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
__decorate([
|
|
82
|
-
Option({
|
|
83
|
-
description: 'listening port, default to 7001',
|
|
84
|
-
alias: 'p',
|
|
85
|
-
}),
|
|
86
|
-
__metadata("design:type", Number)
|
|
87
|
-
], DevCommand.prototype, "port", void 0);
|
|
88
|
-
__decorate([
|
|
89
|
-
Option({
|
|
90
|
-
description: 'numbers of app workers, default to 1 at local mode',
|
|
91
|
-
alias: ['c', 'cluster'],
|
|
92
|
-
default: 1,
|
|
93
|
-
}),
|
|
94
|
-
__metadata("design:type", Number)
|
|
95
|
-
], DevCommand.prototype, "workers", void 0);
|
|
96
|
-
__decorate([
|
|
97
|
-
Option({
|
|
98
|
-
description: 'specify framework that can be absolute path or npm package, default is egg',
|
|
99
|
-
}),
|
|
100
|
-
__metadata("design:type", String)
|
|
101
|
-
], DevCommand.prototype, "framework", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
Option({
|
|
104
|
-
description: 'start a sticky cluster server, default to false',
|
|
105
|
-
type: 'boolean',
|
|
106
|
-
default: false,
|
|
107
|
-
}),
|
|
108
|
-
__metadata("design:type", Boolean)
|
|
109
|
-
], DevCommand.prototype, "sticky", void 0);
|
|
110
|
-
DevCommand = __decorate([
|
|
111
|
-
DefineCommand({
|
|
112
|
-
command: 'dev',
|
|
113
|
-
description: 'Start server at local dev mode',
|
|
114
|
-
alias: ['d'],
|
|
115
|
-
})
|
|
116
|
-
], DevCommand);
|
|
117
|
-
export { DevCommand };
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZC9kZXYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBTy9CLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxXQUFXO0lBS3pDLElBQUksQ0FBUztJQU9iLE9BQU8sQ0FBUztJQUtoQixTQUFTLENBQVM7SUFPbEIsTUFBTSxDQUFVO0lBRWhCLEtBQUssQ0FBQyxHQUFHO1FBQ1AsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDO1FBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQUcsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFFLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzlCLEtBQUssTUFBTSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVTLEtBQUssQ0FBQyxxQkFBcUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxjQUFrQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQztnQkFDSCxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxTQUFTLENBQUM7b0JBQzFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNsQixHQUFHLEVBQUUsT0FBTztpQkFDYixDQUFDLENBQUM7Z0JBQ0gsY0FBYyxHQUFHLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN4RCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixrREFBa0Q7Z0JBQ2xELEtBQUssQ0FBQyw2REFBNkQsRUFDakUsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztnQkFDM0IsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQztZQUN6RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUM7Z0JBQzdELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsdURBQXVELEVBQ2xFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBbEZDO0lBSkMsTUFBTSxDQUFDO1FBQ04sV0FBVyxFQUFFLGlDQUFpQztRQUM5QyxLQUFLLEVBQUUsR0FBRztLQUNYLENBQUM7O3dDQUNXO0FBT2I7SUFMQyxNQUFNLENBQUM7UUFDTixXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFLEtBQUssRUFBRSxDQUFFLEdBQUcsRUFBRSxTQUFTLENBQUU7UUFDekIsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFDOzsyQ0FDYztBQUtoQjtJQUhDLE1BQU0sQ0FBQztRQUNOLFdBQVcsRUFBRSw0RUFBNEU7S0FDMUYsQ0FBQzs7NkNBQ2dCO0FBT2xCO0lBTEMsTUFBTSxDQUFDO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQzs7MENBQ2M7QUF4QkwsVUFBVTtJQUx0QixhQUFhLENBQUM7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxnQ0FBZ0M7UUFDN0MsS0FBSyxFQUFFLENBQUUsR0FBRyxDQUFFO0tBQ2YsQ0FBQztHQUNXLFVBQVUsQ0F1RnRCIn0=
|
package/dist/esm/cmd/test.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from './base.js';
|
|
2
|
-
export declare class TestCommand extends BaseCommand {
|
|
3
|
-
files: string[];
|
|
4
|
-
timeout: number | boolean;
|
|
5
|
-
grep: string[];
|
|
6
|
-
changed: boolean;
|
|
7
|
-
parallel: boolean;
|
|
8
|
-
jobs: number;
|
|
9
|
-
autoAgent: boolean;
|
|
10
|
-
mochawesome: boolean;
|
|
11
|
-
bail: boolean;
|
|
12
|
-
run(): Promise<void>;
|
|
13
|
-
protected formatMochaArgs(): Promise<string[] | undefined>;
|
|
14
|
-
protected getChangedTestFiles(dir: string, ext: string): Promise<string[]>;
|
|
15
|
-
}
|
package/dist/esm/cmd/test.js
DELETED
|
@@ -1,237 +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 os from 'node:os';
|
|
12
|
-
import fs from 'node:fs/promises';
|
|
13
|
-
import path from 'node:path';
|
|
14
|
-
import { DefineCommand, Option, } from '@artus-cli/artus-cli';
|
|
15
|
-
import globby from 'globby';
|
|
16
|
-
import { importResolve } from '@eggjs/utils';
|
|
17
|
-
import { getChangedFilesForRoots } from 'jest-changed-files';
|
|
18
|
-
import { BaseCommand } from './base.js';
|
|
19
|
-
const debug = debuglog('egg-bin:test');
|
|
20
|
-
let TestCommand = class TestCommand extends BaseCommand {
|
|
21
|
-
files;
|
|
22
|
-
timeout;
|
|
23
|
-
grep;
|
|
24
|
-
changed;
|
|
25
|
-
parallel;
|
|
26
|
-
jobs;
|
|
27
|
-
autoAgent;
|
|
28
|
-
mochawesome;
|
|
29
|
-
bail;
|
|
30
|
-
async run() {
|
|
31
|
-
try {
|
|
32
|
-
await fs.access(this.base);
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
console.error('baseDir: %o not exists', this.base);
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
38
|
-
const mochaFile = process.env.MOCHA_FILE || importResolve('mocha/bin/_mocha');
|
|
39
|
-
if (this.parallel) {
|
|
40
|
-
this.ctx.env.ENABLE_MOCHA_PARALLEL = 'true';
|
|
41
|
-
if (this.autoAgent) {
|
|
42
|
-
this.ctx.env.AUTO_AGENT = 'true';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// set NODE_ENV=test, let egg application load unittest logic
|
|
46
|
-
// https://eggjs.org/basics/env#difference-from-node_env
|
|
47
|
-
this.ctx.env.NODE_ENV = 'test';
|
|
48
|
-
debug('run test: %s %o', mochaFile, this.ctx.args);
|
|
49
|
-
const mochaArgs = await this.formatMochaArgs();
|
|
50
|
-
if (!mochaArgs)
|
|
51
|
-
return;
|
|
52
|
-
await this.forkNode(mochaFile, mochaArgs, {
|
|
53
|
-
execArgv: [
|
|
54
|
-
...process.execArgv,
|
|
55
|
-
// https://github.com/mochajs/mocha/issues/2640#issuecomment-1663388547
|
|
56
|
-
'--unhandled-rejections=strict',
|
|
57
|
-
],
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
async formatMochaArgs() {
|
|
61
|
-
// collect require
|
|
62
|
-
const requires = await this.formatRequires();
|
|
63
|
-
try {
|
|
64
|
-
const eggMockRegister = importResolve('@eggjs/mock/register', { paths: [this.base] });
|
|
65
|
-
requires.push(eggMockRegister);
|
|
66
|
-
debug('auto register @eggjs/mock/register: %o', eggMockRegister);
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
// ignore @eggjs/mock not exists
|
|
70
|
-
debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s', this.base, err.message);
|
|
71
|
-
}
|
|
72
|
-
// handle mochawesome enable
|
|
73
|
-
let reporter = this.ctx.env.TEST_REPORTER;
|
|
74
|
-
let reporterOptions = '';
|
|
75
|
-
if (!reporter && this.mochawesome) {
|
|
76
|
-
// use https://github.com/node-modules/mochawesome/pull/1 instead
|
|
77
|
-
reporter = importResolve('mochawesome-with-mocha');
|
|
78
|
-
reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
|
|
79
|
-
if (this.parallel) {
|
|
80
|
-
// https://github.com/adamgruber/mochawesome#parallel-mode
|
|
81
|
-
requires.push(importResolve('mochawesome-with-mocha/register'));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const ext = this.ctx.args.typescript ? 'ts' : 'js';
|
|
85
|
-
let pattern = this.files;
|
|
86
|
-
// changed
|
|
87
|
-
if (this.changed) {
|
|
88
|
-
pattern = await this.getChangedTestFiles(this.base, ext);
|
|
89
|
-
if (!pattern.length) {
|
|
90
|
-
console.log('No changed test files');
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
debug('changed files: %o', pattern);
|
|
94
|
-
}
|
|
95
|
-
if (!pattern.length && process.env.TESTS) {
|
|
96
|
-
pattern = process.env.TESTS.split(',');
|
|
97
|
-
}
|
|
98
|
-
// collect test files when nothing is changed
|
|
99
|
-
if (!pattern.length) {
|
|
100
|
-
pattern = [`test/**/*.test.${ext}`];
|
|
101
|
-
}
|
|
102
|
-
pattern = pattern.concat(['!test/fixtures', '!test/node_modules']);
|
|
103
|
-
// expand glob and skip node_modules and fixtures
|
|
104
|
-
const files = globby.sync(pattern, { cwd: this.base });
|
|
105
|
-
files.sort();
|
|
106
|
-
if (files.length === 0) {
|
|
107
|
-
console.log(`No test files found with ${pattern}`);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
// auto add setup file as the first test file
|
|
111
|
-
const setupFile = path.join(this.base, `test/.setup.${ext}`);
|
|
112
|
-
try {
|
|
113
|
-
await fs.access(setupFile);
|
|
114
|
-
files.unshift(setupFile);
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
// ignore
|
|
118
|
-
}
|
|
119
|
-
return [
|
|
120
|
-
this.dryRun ? '--dry-run' : '',
|
|
121
|
-
// force exit
|
|
122
|
-
'--exit',
|
|
123
|
-
this.bail ? '--bail' : '',
|
|
124
|
-
this.grep.map(pattern => `--grep='${pattern}'`).join(' '),
|
|
125
|
-
this.timeout === false ? '--no-timeout' : `--timeout=${this.timeout}`,
|
|
126
|
-
this.parallel ? '--parallel' : '',
|
|
127
|
-
this.parallel && this.jobs ? `--jobs=${this.jobs}` : '',
|
|
128
|
-
reporter ? `--reporter=${reporter}` : '',
|
|
129
|
-
reporterOptions ? `--reporter-options=${reporterOptions}` : '',
|
|
130
|
-
...requires.map(r => `--require=${r}`),
|
|
131
|
-
...files,
|
|
132
|
-
].filter(a => a.trim());
|
|
133
|
-
}
|
|
134
|
-
async getChangedTestFiles(dir, ext) {
|
|
135
|
-
const res = await getChangedFilesForRoots([path.join(dir, 'test')], {});
|
|
136
|
-
const changedFiles = res.changedFiles;
|
|
137
|
-
const files = [];
|
|
138
|
-
for (let cf of changedFiles) {
|
|
139
|
-
// only find test/**/*.test.(js|ts)
|
|
140
|
-
if (cf.endsWith(`.test.${ext}`)) {
|
|
141
|
-
// Patterns MUST use forward slashes (not backslashes)
|
|
142
|
-
// This should be converted on Windows
|
|
143
|
-
if (process.platform === 'win32') {
|
|
144
|
-
cf = cf.replace(/\\/g, '/');
|
|
145
|
-
}
|
|
146
|
-
files.push(cf);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return files;
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
__decorate([
|
|
153
|
-
Option({
|
|
154
|
-
default: [],
|
|
155
|
-
array: true,
|
|
156
|
-
type: 'string',
|
|
157
|
-
}),
|
|
158
|
-
__metadata("design:type", Array)
|
|
159
|
-
], TestCommand.prototype, "files", void 0);
|
|
160
|
-
__decorate([
|
|
161
|
-
Option({
|
|
162
|
-
description: 'set test-case timeout in milliseconds, default is 60000',
|
|
163
|
-
alias: 't',
|
|
164
|
-
default: process.env.TEST_TIMEOUT ?? 60000,
|
|
165
|
-
}),
|
|
166
|
-
__metadata("design:type", Object)
|
|
167
|
-
], TestCommand.prototype, "timeout", void 0);
|
|
168
|
-
__decorate([
|
|
169
|
-
Option({
|
|
170
|
-
description: 'only run tests matching <pattern>',
|
|
171
|
-
alias: 'g',
|
|
172
|
-
type: 'string',
|
|
173
|
-
array: true,
|
|
174
|
-
default: [],
|
|
175
|
-
}),
|
|
176
|
-
__metadata("design:type", Array)
|
|
177
|
-
], TestCommand.prototype, "grep", void 0);
|
|
178
|
-
__decorate([
|
|
179
|
-
Option({
|
|
180
|
-
description: 'only test with changed files and match test/**/*.test.(js|ts), default is false',
|
|
181
|
-
alias: 'c',
|
|
182
|
-
type: 'boolean',
|
|
183
|
-
default: false,
|
|
184
|
-
}),
|
|
185
|
-
__metadata("design:type", Boolean)
|
|
186
|
-
], TestCommand.prototype, "changed", void 0);
|
|
187
|
-
__decorate([
|
|
188
|
-
Option({
|
|
189
|
-
description: 'mocha parallel mode, default is false',
|
|
190
|
-
alias: 'p',
|
|
191
|
-
type: 'boolean',
|
|
192
|
-
default: false,
|
|
193
|
-
}),
|
|
194
|
-
__metadata("design:type", Boolean)
|
|
195
|
-
], TestCommand.prototype, "parallel", void 0);
|
|
196
|
-
__decorate([
|
|
197
|
-
Option({
|
|
198
|
-
description: 'number of jobs to run in parallel',
|
|
199
|
-
type: 'number',
|
|
200
|
-
default: os.cpus().length - 1,
|
|
201
|
-
}),
|
|
202
|
-
__metadata("design:type", Number)
|
|
203
|
-
], TestCommand.prototype, "jobs", void 0);
|
|
204
|
-
__decorate([
|
|
205
|
-
Option({
|
|
206
|
-
description: 'auto bootstrap agent in mocha master process, default is true',
|
|
207
|
-
type: 'boolean',
|
|
208
|
-
default: true,
|
|
209
|
-
}),
|
|
210
|
-
__metadata("design:type", Boolean)
|
|
211
|
-
], TestCommand.prototype, "autoAgent", void 0);
|
|
212
|
-
__decorate([
|
|
213
|
-
Option({
|
|
214
|
-
description: 'enable mochawesome reporter, default is true',
|
|
215
|
-
type: 'boolean',
|
|
216
|
-
default: true,
|
|
217
|
-
}),
|
|
218
|
-
__metadata("design:type", Boolean)
|
|
219
|
-
], TestCommand.prototype, "mochawesome", void 0);
|
|
220
|
-
__decorate([
|
|
221
|
-
Option({
|
|
222
|
-
description: 'bbort ("bail") after first test failure',
|
|
223
|
-
alias: 'b',
|
|
224
|
-
type: 'boolean',
|
|
225
|
-
default: false,
|
|
226
|
-
}),
|
|
227
|
-
__metadata("design:type", Boolean)
|
|
228
|
-
], TestCommand.prototype, "bail", void 0);
|
|
229
|
-
TestCommand = __decorate([
|
|
230
|
-
DefineCommand({
|
|
231
|
-
command: 'test [files...]',
|
|
232
|
-
description: 'Run the test',
|
|
233
|
-
alias: ['t'],
|
|
234
|
-
})
|
|
235
|
-
], TestCommand);
|
|
236
|
-
export { TestCommand };
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWQvdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsQyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUNMLGFBQWEsRUFBRSxNQUFNLEdBQ3RCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7QUFPaEMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLFdBQVc7SUFNMUMsS0FBSyxDQUFXO0lBT2hCLE9BQU8sQ0FBbUI7SUFTMUIsSUFBSSxDQUFXO0lBUWYsT0FBTyxDQUFVO0lBUWpCLFFBQVEsQ0FBVTtJQU9sQixJQUFJLENBQVM7SUFPYixTQUFTLENBQVU7SUFPbkIsV0FBVyxDQUFVO0lBUXJCLElBQUksQ0FBVTtJQUVkLEtBQUssQ0FBQyxHQUFHO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELE1BQU0sR0FBRyxD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
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Command } from '@oclif/core';
|
|
2
|
-
export default class Debug extends Command {
|
|
3
|
-
static args: {
|
|
4
|
-
file: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
-
};
|
|
6
|
-
static description: string;
|
|
7
|
-
static examples: string[];
|
|
8
|
-
static flags: {
|
|
9
|
-
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
};
|
|
12
|
-
run(): Promise<void>;
|
|
13
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
-
export default class Debug extends Command {
|
|
3
|
-
static args = {
|
|
4
|
-
file: Args.string({ description: 'file to read' }),
|
|
5
|
-
};
|
|
6
|
-
static description = 'describe the command here';
|
|
7
|
-
static examples = [
|
|
8
|
-
'<%= config.bin %> <%= command.id %>',
|
|
9
|
-
];
|
|
10
|
-
static flags = {
|
|
11
|
-
// flag with no value (-f, --force)
|
|
12
|
-
force: Flags.boolean({ char: 'f' }),
|
|
13
|
-
// flag with a value (-n, --name=VALUE)
|
|
14
|
-
name: Flags.string({ char: 'n', description: 'name to print' }),
|
|
15
|
-
};
|
|
16
|
-
async run() {
|
|
17
|
-
const { args, flags } = await this.parse(Debug);
|
|
18
|
-
const name = flags.name ?? 'world';
|
|
19
|
-
this.log(`hello ${name} from /Users/fengmk2/git/github.com/eggjs/bin/src/commands/debug.ts`);
|
|
20
|
-
if (args.file && flags.force) {
|
|
21
|
-
this.log(`you input --force and --file: ${args.file}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sS0FBTSxTQUFRLE9BQU87SUFDeEMsTUFBTSxDQUFVLElBQUksR0FBRztRQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQztLQUNuRCxDQUFDO0lBRUYsTUFBTSxDQUFVLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztJQUUxRCxNQUFNLENBQVUsUUFBUSxHQUFHO1FBQ3pCLHFDQUFxQztLQUN0QyxDQUFDO0lBRUYsTUFBTSxDQUFVLEtBQUssR0FBRztRQUN0QixtQ0FBbUM7UUFDbkMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7S0FDaEUsQ0FBQztJQUVLLEtBQUssQ0FBQyxHQUFHO1FBQ2QsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUkscUVBQXFFLENBQUMsQ0FBQztRQUM3RixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDIn0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
package: '@artus-cli/artus-cli',
|
|
3
|
-
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9mcmFtZXdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLE9BQU8sRUFBRSxzQkFBc0I7Q0FDaEMsQ0FBQyJ9
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
autocomplete: {
|
|
3
|
-
enable: true,
|
|
4
|
-
package: '@artus-cli/plugin-autocomplete',
|
|
5
|
-
},
|
|
6
|
-
version: {
|
|
7
|
-
enable: true,
|
|
8
|
-
package: '@artus-cli/plugin-version',
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGdDQUFnQztLQUMxQztJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLDJCQUEyQjtLQUNyQztDQUNGLENBQUMifQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
const hook = async function (opts) {
|
|
2
|
-
process.stdout.write(`example hook running ${opts.id}\n`);
|
|
3
|
-
};
|
|
4
|
-
export default hook;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbml0L29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxJQUFJLEdBQWlCLEtBQUssV0FBVSxJQUFJO0lBQzVDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFFRixlQUFlLElBQUksQ0FBQyJ9
|