@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.
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 +208 -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 +103 -61
  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 +15 -31
  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 +106 -61
  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
- 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 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,
@@ -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
- // try {
96
- // const eggMockRegister = importResolve('@eggjs/mock/register', { paths: [ this.base ] });
97
- // requires.push(eggMockRegister);
98
- // debug('auto register @eggjs/mock/register: %o', eggMockRegister);
99
- // } catch (err) {
100
- // // ignore @eggjs/mock not exists
101
- // debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s',
102
- // this.base, (err as Error).message);
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
- // 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
- // }
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
- // // 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
- // }
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(`No test files found with ${pattern}`);
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
- // this.parallel ? '--parallel' : '',
168
- // this.parallel && this.jobs ? `--jobs=${this.jobs}` : '',
169
- // reporter ? `--reporter=${reporter}` : '',
170
- // reporterOptions ? `--reporter-options=${reporterOptions}` : '',
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
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZC9jb3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBT2pDLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxXQUFXO0lBQ3pDLG1IQUFtSDtJQU1uSCxVQUFVLENBQVU7SUFPcEIsQ0FBQyxDQUFXO0lBTVosRUFBRSxDQUFTO0lBRVgsSUFBSSxlQUFlO1FBQ2pCLE9BQU87WUFDTCxVQUFVO1lBQ1YsV0FBVztZQUNYLFVBQVU7WUFDVixPQUFPO1lBQ1AsbUdBQW1HO1lBQ25HLFNBQVM7WUFDVCxjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsU0FBUztZQUNULFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBa0IsRUFBRSxJQUFjO1FBQ3pELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsbUJBQW1CO1FBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLEVBQUUsSUFBSSxlQUFlLENBQUM7UUFDN0IsQ0FBQztRQUVELGNBQWM7UUFDZCwyQ0FBMkM7UUFDM0MsTUFBTSxNQUFNLEdBQUc7WUFDYix5QkFBeUI7WUFDekIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUMsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDdkIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtZQUM3QyxHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3ZCLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDVixDQUFDLENBQUM7UUFDSCxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRCxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUUsR0FBRyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFFLENBQUMsQ0FBQztJQUN0SCxDQUFDO0NBQ0YsQ0FBQTtBQXRFQztJQUxDLE1BQU0sQ0FBQztRQUNOLFdBQVcsRUFBRSwwQ0FBMEM7UUFDdkQsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7OzhDQUNrQjtBQU9wQjtJQUxDLE1BQU0sQ0FBQztRQUNOLFdBQVcsRUFBRSw4Q0FBOEM7UUFDM0QsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsRUFBRTtLQUNaLENBQUM7O3FDQUNVO0FBTVo7SUFKQyxNQUFNLENBQUM7UUFDTixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLE9BQU8sRUFBRSx1R0FBdUc7S0FDakgsQ0FBQzs7c0NBQ1M7QUFwQkEsVUFBVTtJQUx0QixhQUFhLENBQUM7UUFDYixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFdBQVcsRUFBRSw0QkFBNEI7UUFDekMsS0FBSyxFQUFFLENBQUUsR0FBRyxDQUFFO0tBQ2YsQ0FBQztHQUNXLFVBQVUsQ0E2RXRCIn0=
@@ -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
- }