@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.
Files changed (82) hide show
  1. package/README.md +5 -10
  2. package/bin/dev.js +6 -4
  3. package/bin/run.js +2 -2
  4. package/dist/commonjs/baseCommand.d.ts +49 -0
  5. package/dist/commonjs/baseCommand.js +370 -0
  6. package/dist/commonjs/commands/cov.d.ts +22 -0
  7. package/dist/commonjs/commands/cov.js +97 -0
  8. package/dist/commonjs/commands/dev.d.ts +21 -0
  9. package/dist/commonjs/commands/dev.js +95 -0
  10. package/dist/commonjs/commands/test.d.ts +23 -0
  11. package/dist/commonjs/commands/test.js +204 -0
  12. package/dist/commonjs/index.d.ts +7 -0
  13. package/dist/commonjs/index.js +30 -0
  14. package/dist/commonjs/package.json +3 -0
  15. package/dist/commonjs/types.d.ts +9 -0
  16. package/dist/commonjs/types.js +3 -0
  17. package/dist/commonjs/utils.d.ts +4 -0
  18. package/dist/commonjs/utils.js +45 -0
  19. package/dist/esm/baseCommand.d.ts +33 -6
  20. package/dist/esm/baseCommand.js +246 -40
  21. package/dist/esm/commands/cov.d.ts +17 -8
  22. package/dist/esm/commands/cov.js +83 -17
  23. package/dist/esm/commands/dev.d.ts +15 -7
  24. package/dist/esm/commands/dev.js +83 -16
  25. package/dist/esm/commands/test.d.ts +11 -5
  26. package/dist/esm/commands/test.js +89 -51
  27. package/dist/esm/index.d.ts +7 -5
  28. package/dist/esm/index.js +8 -6
  29. package/dist/esm/types.d.ts +9 -0
  30. package/dist/esm/types.js +2 -0
  31. package/dist/esm/utils.d.ts +0 -1
  32. package/dist/esm/utils.js +1 -11
  33. package/dist/package.json +1 -1
  34. package/dist/scripts/start-cluster.cjs +15 -0
  35. package/package.json +12 -28
  36. package/scripts/start-cluster.cjs +15 -0
  37. package/src/baseCommand.ts +254 -43
  38. package/src/commands/cov.ts +87 -17
  39. package/src/commands/dev.ts +84 -15
  40. package/src/commands/test.ts +92 -51
  41. package/src/index.ts +9 -5
  42. package/src/types.ts +9 -0
  43. package/src/utils.ts +0 -10
  44. package/dist/esm/bin/cli.d.ts +0 -2
  45. package/dist/esm/bin/cli.js +0 -34
  46. package/dist/esm/cmd/base.d.ts +0 -12
  47. package/dist/esm/cmd/base.js +0 -135
  48. package/dist/esm/cmd/cov.d.ts +0 -8
  49. package/dist/esm/cmd/cov.js +0 -103
  50. package/dist/esm/cmd/debug.d.ts +0 -5
  51. package/dist/esm/cmd/debug.js +0 -28
  52. package/dist/esm/cmd/dev.d.ts +0 -17
  53. package/dist/esm/cmd/dev.js +0 -118
  54. package/dist/esm/cmd/test.d.ts +0 -15
  55. package/dist/esm/cmd/test.js +0 -237
  56. package/dist/esm/commands/debug.d.ts +0 -13
  57. package/dist/esm/commands/debug.js +0 -25
  58. package/dist/esm/config/framework.d.ts +0 -4
  59. package/dist/esm/config/framework.js +0 -4
  60. package/dist/esm/config/plugin.d.ts +0 -11
  61. package/dist/esm/config/plugin.js +0 -11
  62. package/dist/esm/hooks/init/options.d.ts +0 -3
  63. package/dist/esm/hooks/init/options.js +0 -5
  64. package/dist/esm/middleware/global_options.d.ts +0 -5
  65. package/dist/esm/middleware/global_options.js +0 -182
  66. package/dist/esm/middleware/handle_error.d.ts +0 -5
  67. package/dist/esm/middleware/handle_error.js +0 -47
  68. package/dist/esm/middleware/inspect.d.ts +0 -5
  69. package/dist/esm/middleware/inspect.js +0 -69
  70. package/src/bin/cli.ts +0 -37
  71. package/src/cmd/base.ts +0 -133
  72. package/src/cmd/cov.ts +0 -89
  73. package/src/cmd/debug.ts +0 -14
  74. package/src/cmd/dev.ts +0 -102
  75. package/src/cmd/test.ts +0 -219
  76. package/src/commands/debug.ts +0 -30
  77. package/src/config/framework.ts +0 -3
  78. package/src/config/plugin.ts +0 -10
  79. package/src/hooks/init/options.ts +0 -7
  80. package/src/middleware/global_options.ts +0 -169
  81. package/src/middleware/handle_error.ts +0 -30
  82. package/src/middleware/inspect.ts +0 -54
@@ -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
7
  import { importResolve } 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 BaseCommand<typeof Test> {
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
- // flag with a value (-n, --name=VALUE)
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
- // if (this.parallel) {
70
- // this.ctx.env.ENABLE_MOCHA_PARALLEL = 'true';
71
- // if (this.autoAgent) {
72
- // this.ctx.env.AUTO_AGENT = 'true';
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
- // this.ctx.env.NODE_ENV = 'test';
78
- debug('run test: %s %o', mochaFile, this.args);
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,
@@ -103,29 +126,29 @@ export default class Test extends BaseCommand<typeof Test> {
103
126
  // }
104
127
 
105
128
  // handle mochawesome enable
106
- // let reporter = this.ctx.env.TEST_REPORTER;
107
- // let reporterOptions = '';
108
- // if (!reporter && this.mochawesome) {
109
- // // use https://github.com/node-modules/mochawesome/pull/1 instead
110
- // reporter = importResolve('mochawesome-with-mocha');
111
- // reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
112
- // if (this.parallel) {
113
- // // https://github.com/adamgruber/mochawesome#parallel-mode
114
- // requires.push(importResolve('mochawesome-with-mocha/register'));
115
- // }
116
- // }
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
+ }
117
140
 
118
141
  const ext = flags.typescript ? 'ts' : 'js';
119
142
  let pattern = args.file ? args.file.split(',') : [];
120
- // // changed
121
- // if (this.changed) {
122
- // pattern = await this.getChangedTestFiles(this.base, ext);
123
- // if (!pattern.length) {
124
- // console.log('No changed test files');
125
- // return;
126
- // }
127
- // debug('changed files: %o', pattern);
128
- // }
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
+ }
129
152
 
130
153
  if (!pattern.length && process.env.TESTS) {
131
154
  pattern = process.env.TESTS.split(',');
@@ -142,7 +165,7 @@ export default class Test extends BaseCommand<typeof Test> {
142
165
  files.sort();
143
166
 
144
167
  if (files.length === 0) {
145
- console.log(`No test files found with ${pattern}`);
168
+ console.log('No test files found with pattern %o', pattern);
146
169
  return;
147
170
  }
148
171
 
@@ -158,18 +181,36 @@ export default class Test extends BaseCommand<typeof Test> {
158
181
  const grep = flags.grep ? flags.grep.split(',') : [];
159
182
 
160
183
  return [
161
- flags.dryRun ? '--dry-run' : '',
162
184
  // force exit
163
185
  '--exit',
164
186
  flags.bail ? '--bail' : '',
165
187
  grep.map(pattern => `--grep='${pattern}'`).join(' '),
166
188
  flags.timeout ? `--timeout=${flags.timeout}` : '--no-timeout',
167
- // this.parallel ? '--parallel' : '',
168
- // this.parallel && this.jobs ? `--jobs=${this.jobs}` : '',
169
- // reporter ? `--reporter=${reporter}` : '',
170
- // reporterOptions ? `--reporter-options=${reporterOptions}` : '',
189
+ flags.parallel ? '--parallel' : '',
190
+ flags.parallel && flags.jobs ? `--jobs=${flags.jobs}` : '',
191
+ reporter ? `--reporter=${reporter}` : '',
192
+ reporterOptions ? `--reporter-options=${reporterOptions}` : '',
171
193
  ...requires.map(r => `--require=${r}`),
172
194
  ...files,
195
+ flags['dry-run'] ? '--dry-run' : '',
173
196
  ].filter(a => a.trim());
174
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
+ }
175
216
  }
package/src/index.ts CHANGED
@@ -1,5 +1,9 @@
1
- export * from './cmd/dev.js';
2
- export * from './cmd/debug.js';
3
- export * from './cmd/test.js';
4
- export * from './cmd/cov.js';
5
- export * from './cmd/base.js';
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
@@ -0,0 +1,9 @@
1
+ export interface PackageEgg {
2
+ framework?: boolean;
3
+ typescript?: boolean;
4
+ tscompiler?: string;
5
+ declarations?: boolean;
6
+ revert?: string | string[];
7
+ require?: string | string[];
8
+ import?: string | string[];
9
+ }
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 {
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
@@ -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
@@ -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
- }
@@ -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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
@@ -1,8 +0,0 @@
1
- import { TestCommand } from './test.js';
2
- export declare class CovCommand extends TestCommand {
3
- prerequire: boolean;
4
- x: string[];
5
- c8: string;
6
- get defaultExcludes(): string[];
7
- protected forkNode(modulePath: string, args: string[]): Promise<void>;
8
- }
@@ -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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
@@ -1,5 +0,0 @@
1
- import { Command, Utils } from '@artus-cli/artus-cli';
2
- export declare class DebugCommand extends Command {
3
- utils: Utils;
4
- run(): Promise<void>;
5
- }
@@ -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==
@@ -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
- }