exisjs 0.9.2 → 0.10.0-alpha.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 (135) hide show
  1. package/README.md +3 -0
  2. package/bin/exis.js +76 -1
  3. package/dist/config/types.d.ts +11 -2
  4. package/dist/config/types.d.ts.map +1 -1
  5. package/dist/docs/content/README.md +1 -0
  6. package/dist/docs/content/cli/commands.mdx +23 -1
  7. package/dist/docs/content/cli/usage.mdx +2 -1
  8. package/dist/docs/content/config.mdx +47 -3
  9. package/dist/docs/content/deployment.mdx +163 -0
  10. package/dist/docs/content/installation.mdx +1 -1
  11. package/dist/docs/content/introduction.mdx +3 -0
  12. package/dist/docs/content/validation.mdx +1 -1
  13. package/dist/docs/reference/config.mdx +2 -1
  14. package/dist/docs/reference/validator.mdx +4 -0
  15. package/dist/internal.d.ts +16 -0
  16. package/dist/internal.d.ts.map +1 -0
  17. package/dist/internal.js +45 -0
  18. package/dist/internal.js.map +1 -0
  19. package/dist/{cli → lib}/resolve-aliases.d.ts.map +1 -1
  20. package/dist/{cli → lib}/resolve-aliases.js.map +1 -1
  21. package/dist/lib/start-command.d.ts +11 -0
  22. package/dist/lib/start-command.d.ts.map +1 -0
  23. package/dist/lib/start-command.js +79 -0
  24. package/dist/lib/start-command.js.map +1 -0
  25. package/dist/lib/start-server.js +4 -2
  26. package/dist/lib/start-server.js.map +1 -1
  27. package/dist/middleware/backpressure.d.ts +5 -0
  28. package/dist/middleware/backpressure.d.ts.map +1 -1
  29. package/dist/middleware/backpressure.js +66 -36
  30. package/dist/middleware/backpressure.js.map +1 -1
  31. package/dist/router/route-scanner.d.ts.map +1 -1
  32. package/dist/router/route-scanner.js +19 -20
  33. package/dist/router/route-scanner.js.map +1 -1
  34. package/dist/server/app.d.ts.map +1 -1
  35. package/dist/server/app.js +24 -1
  36. package/dist/server/app.js.map +1 -1
  37. package/dist/server/bootstrapper.d.ts.map +1 -1
  38. package/dist/server/bootstrapper.js +3 -1
  39. package/dist/server/bootstrapper.js.map +1 -1
  40. package/dist/server/cluster.d.ts.map +1 -1
  41. package/dist/server/cluster.js +3 -0
  42. package/dist/server/cluster.js.map +1 -1
  43. package/dist/server/metrics.d.ts +43 -0
  44. package/dist/server/metrics.d.ts.map +1 -0
  45. package/dist/server/metrics.js +254 -0
  46. package/dist/server/metrics.js.map +1 -0
  47. package/dist/utils/logger.d.ts.map +1 -1
  48. package/dist/utils/logger.js +31 -3
  49. package/dist/utils/logger.js.map +1 -1
  50. package/dist/validator/builder.d.ts +20 -16
  51. package/dist/validator/builder.d.ts.map +1 -1
  52. package/dist/validator/builder.js +21 -1
  53. package/dist/validator/builder.js.map +1 -1
  54. package/dist/validator/engine.d.ts.map +1 -1
  55. package/dist/validator/engine.js +8 -1
  56. package/dist/validator/engine.js.map +1 -1
  57. package/dist/validator/index.d.ts +4 -1
  58. package/dist/validator/index.d.ts.map +1 -1
  59. package/dist/validator/index.js +5 -1
  60. package/dist/validator/index.js.map +1 -1
  61. package/dist/validator/tex.d.ts +1 -1
  62. package/dist/validator/tex.d.ts.map +1 -1
  63. package/dist/validator/types.d.ts +7 -0
  64. package/dist/validator/types.d.ts.map +1 -1
  65. package/package.json +81 -9
  66. package/dist/cli/commands/build.d.ts +0 -11
  67. package/dist/cli/commands/build.d.ts.map +0 -1
  68. package/dist/cli/commands/build.js +0 -344
  69. package/dist/cli/commands/build.js.map +0 -1
  70. package/dist/cli/commands/clean.d.ts +0 -5
  71. package/dist/cli/commands/clean.d.ts.map +0 -1
  72. package/dist/cli/commands/clean.js +0 -30
  73. package/dist/cli/commands/clean.js.map +0 -1
  74. package/dist/cli/commands/dev.d.ts +0 -21
  75. package/dist/cli/commands/dev.d.ts.map +0 -1
  76. package/dist/cli/commands/dev.js +0 -842
  77. package/dist/cli/commands/dev.js.map +0 -1
  78. package/dist/cli/commands/doctor.d.ts +0 -2
  79. package/dist/cli/commands/doctor.d.ts.map +0 -1
  80. package/dist/cli/commands/doctor.js +0 -228
  81. package/dist/cli/commands/doctor.js.map +0 -1
  82. package/dist/cli/commands/exports.d.ts +0 -2
  83. package/dist/cli/commands/exports.d.ts.map +0 -1
  84. package/dist/cli/commands/exports.js +0 -48
  85. package/dist/cli/commands/exports.js.map +0 -1
  86. package/dist/cli/commands/generate.d.ts +0 -33
  87. package/dist/cli/commands/generate.d.ts.map +0 -1
  88. package/dist/cli/commands/generate.js +0 -469
  89. package/dist/cli/commands/generate.js.map +0 -1
  90. package/dist/cli/commands/init.d.ts +0 -2
  91. package/dist/cli/commands/init.d.ts.map +0 -1
  92. package/dist/cli/commands/init.js +0 -37
  93. package/dist/cli/commands/init.js.map +0 -1
  94. package/dist/cli/commands/repl.d.ts +0 -6
  95. package/dist/cli/commands/repl.d.ts.map +0 -1
  96. package/dist/cli/commands/repl.js +0 -75
  97. package/dist/cli/commands/repl.js.map +0 -1
  98. package/dist/cli/commands/run.d.ts +0 -7
  99. package/dist/cli/commands/run.d.ts.map +0 -1
  100. package/dist/cli/commands/run.js +0 -101
  101. package/dist/cli/commands/run.js.map +0 -1
  102. package/dist/cli/commands/start.d.ts +0 -8
  103. package/dist/cli/commands/start.d.ts.map +0 -1
  104. package/dist/cli/commands/start.js +0 -155
  105. package/dist/cli/commands/start.js.map +0 -1
  106. package/dist/cli/commands/test.d.ts +0 -8
  107. package/dist/cli/commands/test.d.ts.map +0 -1
  108. package/dist/cli/commands/test.js +0 -165
  109. package/dist/cli/commands/test.js.map +0 -1
  110. package/dist/cli/index.d.ts +0 -3
  111. package/dist/cli/index.d.ts.map +0 -1
  112. package/dist/cli/index.js +0 -268
  113. package/dist/cli/index.js.map +0 -1
  114. package/dist/cli/manifest.d.ts +0 -4
  115. package/dist/cli/manifest.d.ts.map +0 -1
  116. package/dist/cli/manifest.js +0 -489
  117. package/dist/cli/manifest.js.map +0 -1
  118. package/dist/cli/routes.d.ts +0 -17
  119. package/dist/cli/routes.d.ts.map +0 -1
  120. package/dist/cli/routes.js +0 -317
  121. package/dist/cli/routes.js.map +0 -1
  122. package/dist/cli/utils.d.ts +0 -24
  123. package/dist/cli/utils.d.ts.map +0 -1
  124. package/dist/cli/utils.js +0 -54
  125. package/dist/cli/utils.js.map +0 -1
  126. package/dist/lib/inspect-routes.d.ts +0 -2
  127. package/dist/lib/inspect-routes.d.ts.map +0 -1
  128. package/dist/lib/inspect-routes.js +0 -150
  129. package/dist/lib/inspect-routes.js.map +0 -1
  130. package/dist/lib/start-repl.d.ts +0 -2
  131. package/dist/lib/start-repl.d.ts.map +0 -1
  132. package/dist/lib/start-repl.js +0 -120
  133. package/dist/lib/start-repl.js.map +0 -1
  134. /package/dist/{cli → lib}/resolve-aliases.d.ts +0 -0
  135. /package/dist/{cli → lib}/resolve-aliases.js +0 -0
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.runCommand = runCommand;
40
- const node_child_process_1 = require("node:child_process");
41
- const node_path_1 = __importDefault(require("node:path"));
42
- const node_fs_1 = __importDefault(require("node:fs"));
43
- const env_1 = require("../../config/env");
44
- const utils_1 = require("../utils");
45
- async function runCommand(scriptOrCmd, args = [], options = {}) {
46
- const cwd = process.cwd();
47
- // 1. Automatically load .env, .env.local, .env.[mode], etc. into process.env
48
- (0, env_1.loadEnv)(cwd, options.mode);
49
- if (options.env) {
50
- const customEnvPath = node_path_1.default.resolve(cwd, options.env);
51
- if (node_fs_1.default.existsSync(customEnvPath)) {
52
- try {
53
- const { parseEnv } = await Promise.resolve().then(() => __importStar(require('../../config/env')));
54
- const parsed = parseEnv(node_fs_1.default.readFileSync(customEnvPath, 'utf-8'));
55
- Object.assign(process.env, parsed);
56
- }
57
- catch (err) {
58
- (0, utils_1.error)(`Failed to load custom env file: ${err.message}`);
59
- }
60
- }
61
- }
62
- // 2. Check if script is a file or npm command / executable
63
- const isTsFile = scriptOrCmd.endsWith('.ts') ||
64
- scriptOrCmd.endsWith('.mts') ||
65
- node_fs_1.default.existsSync(node_path_1.default.resolve(cwd, scriptOrCmd));
66
- let executable;
67
- let execArgs;
68
- if (isTsFile) {
69
- // Resolve tsx for seamless TypeScript execution
70
- let tsxCli;
71
- try {
72
- tsxCli = require.resolve('tsx/cli');
73
- }
74
- catch {
75
- tsxCli = 'tsx';
76
- }
77
- executable = process.execPath;
78
- execArgs = [tsxCli, scriptOrCmd, ...args];
79
- }
80
- else {
81
- // Run external command (e.g. drizzle-kit, prisma, custom script)
82
- executable = scriptOrCmd;
83
- execArgs = args;
84
- }
85
- const isDirectNode = executable === process.execPath;
86
- const child = (0, node_child_process_1.spawn)(executable, execArgs, {
87
- cwd,
88
- env: process.env,
89
- stdio: 'inherit',
90
- shell: isDirectNode ? false : process.platform === 'win32',
91
- windowsHide: true,
92
- });
93
- child.on('error', (err) => {
94
- (0, utils_1.error)(`Failed to execute command "${scriptOrCmd}": ${err.message}`);
95
- process.exit(1);
96
- });
97
- child.on('exit', (code) => {
98
- process.exit(code ?? 0);
99
- });
100
- }
101
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- interface StartOptions {
2
- entry?: string;
3
- port?: string;
4
- host?: string;
5
- }
6
- export declare function startCommand(options?: StartOptions): Promise<void>;
7
- export {};
8
- //# sourceMappingURL=start.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAMA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwH5E"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.startCommand = startCommand;
7
- const node_child_process_1 = require("node:child_process");
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const node_fs_1 = __importDefault(require("node:fs"));
10
- const utils_1 = require("../utils");
11
- const time_1 = require("../../utils/time");
12
- async function startCommand(options = {}) {
13
- const cwd = process.cwd();
14
- const entryFile = resolveDistEntry(cwd, options.entry);
15
- if (!entryFile) {
16
- (0, utils_1.error)('No compiled output found.');
17
- (0, utils_1.error)(`Run ${utils_1.c.cyan}exis build${utils_1.c.reset} first.`);
18
- process.exit(1);
19
- }
20
- if (options.port) {
21
- process.env.PORT = options.port;
22
- }
23
- if (options.host) {
24
- process.env.HOST = options.host;
25
- }
26
- const startServerPath = node_path_1.default.join(__dirname, '../../lib/start-server.js');
27
- process.env.NODE_ENV = 'production';
28
- process.env.__EXIS_CLI = 'true';
29
- process.env.EXIS_ENTRY_FILE = entryFile;
30
- const child = (0, node_child_process_1.spawn)(process.execPath, [startServerPath], {
31
- cwd,
32
- env: process.env,
33
- stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
34
- shell: false,
35
- });
36
- child.on('error', (err) => {
37
- (0, utils_1.error)(`Failed to start: ${err.message}`);
38
- process.exit(1);
39
- });
40
- let isShuttingDown = false;
41
- let hasExited = false;
42
- const finishExit = () => {
43
- if (hasExited)
44
- return;
45
- hasExited = true;
46
- const time = (0, time_1.getFormattedTime)();
47
- const primary = '\x1b[38;2;160;70;255m';
48
- console.log(`${utils_1.c.dim}${time}${utils_1.c.reset} ${primary}[exis]${utils_1.c.reset} ${utils_1.c.dim}gracefully shutting down server...${utils_1.c.reset}`);
49
- process.exit(0);
50
- };
51
- child.on('close', finishExit);
52
- child.on('exit', () => {
53
- // Fallback: give 'close' event a moment to fire (stdio drain), then exit
54
- setTimeout(finishExit, 300);
55
- });
56
- // Handle unexpected child crashes (non-shutdown)
57
- child.on('exit', (code, signal) => {
58
- if (!isShuttingDown) {
59
- if (code !== 0 && signal !== 'SIGTERM' && signal !== 'SIGINT') {
60
- (0, utils_1.error)(`Process exited with code ${code}`);
61
- process.exit(code ?? 1);
62
- }
63
- }
64
- });
65
- const shutdown = () => {
66
- if (isShuttingDown)
67
- return;
68
- isShuttingDown = true;
69
- // Send IPC shutdown message to child
70
- try {
71
- if (child.connected) {
72
- child.send({ type: 'exis:shutdown' });
73
- }
74
- }
75
- catch {
76
- /* ignore */
77
- }
78
- // Disconnect IPC channel to prevent UV_HANDLE_CLOSING assertion on Windows
79
- try {
80
- if (child.connected) {
81
- child.disconnect();
82
- }
83
- }
84
- catch {
85
- /* ignore */
86
- }
87
- try {
88
- if (process.platform !== 'win32') {
89
- child.kill('SIGTERM');
90
- }
91
- }
92
- catch {
93
- /* ignore */
94
- }
95
- // Safety timeout: force exit if child takes longer than 10s.
96
- // IMPORTANT: Do NOT .unref() — this keeps the parent event loop alive
97
- // so we wait for the child to finish its graceful shutdown before exiting.
98
- const forceTimeout = setTimeout(() => {
99
- try {
100
- if (process.platform === 'win32') {
101
- (0, node_child_process_1.spawnSync)('taskkill', ['/pid', String(child.pid), '/f', '/t'], {
102
- stdio: 'ignore',
103
- });
104
- }
105
- else {
106
- child.kill('SIGKILL');
107
- }
108
- }
109
- catch {
110
- /* ignore */
111
- }
112
- process.exit(0);
113
- }, 10000);
114
- // Clean up force timeout when child exits naturally
115
- child.once('exit', () => clearTimeout(forceTimeout));
116
- };
117
- process.on('SIGINT', shutdown);
118
- process.on('SIGTERM', shutdown);
119
- }
120
- function resolveDistEntry(cwd, custom) {
121
- if (custom) {
122
- const abs = node_path_1.default.resolve(cwd, custom);
123
- return node_fs_1.default.existsSync(abs) ? abs : null;
124
- }
125
- const srcJs = node_path_1.default.join(cwd, '.exis/server/src/http/server.js');
126
- const rootJs = node_path_1.default.join(cwd, '.exis/server/http/server.js');
127
- const distSrcJs = node_path_1.default.join(cwd, 'dist/src/http/server.js');
128
- const distRootJs = node_path_1.default.join(cwd, 'dist/http/server.js');
129
- const rawSrcJs = node_path_1.default.join(cwd, 'src/http/server.js');
130
- const rawRootJs = node_path_1.default.join(cwd, 'http/server.js');
131
- const hasSrc = node_fs_1.default.existsSync(srcJs) || node_fs_1.default.existsSync(distSrcJs) || node_fs_1.default.existsSync(rawSrcJs);
132
- const hasRoot = node_fs_1.default.existsSync(rootJs) ||
133
- node_fs_1.default.existsSync(distRootJs) ||
134
- node_fs_1.default.existsSync(rawRootJs);
135
- if (hasSrc && hasRoot) {
136
- console.error('\n\x1b[31m Ambiguous Entry Point Error\x1b[0m\n' +
137
- 'You have server entry files in both "src/http" and "http" directories.\n' +
138
- 'Please keep only one of them to prevent unexpected behavior.\n');
139
- process.exit(1);
140
- }
141
- if (node_fs_1.default.existsSync(srcJs))
142
- return srcJs;
143
- if (node_fs_1.default.existsSync(rootJs))
144
- return rootJs;
145
- if (node_fs_1.default.existsSync(distSrcJs))
146
- return distSrcJs;
147
- if (node_fs_1.default.existsSync(distRootJs))
148
- return distRootJs;
149
- if (node_fs_1.default.existsSync(rawSrcJs))
150
- return rawSrcJs;
151
- if (node_fs_1.default.existsSync(rawRootJs))
152
- return rawRootJs;
153
- return null;
154
- }
155
- //# sourceMappingURL=start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export interface TestOptions {
2
- watch?: boolean;
3
- update?: boolean;
4
- entry?: string;
5
- files?: string[];
6
- }
7
- export declare function testCommand(options: TestOptions): Promise<void>;
8
- //# sourceMappingURL=test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAcD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiIrE"}
@@ -1,165 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.testCommand = testCommand;
37
- const node_child_process_1 = require("node:child_process");
38
- const utils_1 = require("../utils");
39
- const path = __importStar(require("node:path"));
40
- const fs = __importStar(require("node:fs"));
41
- const node_url_1 = require("node:url");
42
- function resolveEntry(cwd, custom) {
43
- if (custom) {
44
- const abs = path.resolve(cwd, custom);
45
- if (fs.existsSync(abs))
46
- return abs;
47
- }
48
- const srcTs = path.join(cwd, 'src/http/server.ts');
49
- const rootTs = path.join(cwd, 'http/server.ts');
50
- if (fs.existsSync(srcTs))
51
- return srcTs;
52
- if (fs.existsSync(rootTs))
53
- return rootTs;
54
- return '';
55
- }
56
- async function testCommand(options) {
57
- const cwd = process.cwd();
58
- // Ensure entry file is resolved so we can set EXIS_ENTRY_FILE
59
- const entryFile = resolveEntry(cwd, options.entry);
60
- // We are going to spawn tsx with --test
61
- const runner = {
62
- name: 'tsx',
63
- bin: process.execPath,
64
- args: [require.resolve('tsx/cli')],
65
- };
66
- const reporterPath = (0, node_url_1.pathToFileURL)(path.join(__dirname, '..', '..', 'testing', 'reporter.mjs')).href;
67
- const testArgs = ['--test', '--test-reporter', reporterPath];
68
- process.env.NODE_ENV = 'test';
69
- const { loadEnv } = await Promise.resolve().then(() => __importStar(require('../../config/env.js')));
70
- const { parsedEnv } = loadEnv(cwd, 'test');
71
- // Load Exis Config
72
- const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../../config/config.js')));
73
- let exisConfig = {};
74
- try {
75
- exisConfig = await loadConfig(cwd);
76
- }
77
- catch {
78
- /* ignore */
79
- }
80
- const testConfig = exisConfig.test || {};
81
- if (options.watch) {
82
- testArgs.push('--watch');
83
- }
84
- if (options.update) {
85
- testArgs.push('--test-update-snapshots');
86
- }
87
- // Apply configs
88
- if (testConfig.concurrency) {
89
- testArgs.push(typeof testConfig.concurrency === 'number'
90
- ? `--test-concurrency=${testConfig.concurrency}`
91
- : '--test-concurrency');
92
- }
93
- if (testConfig.coverage) {
94
- testArgs.push('--experimental-test-coverage');
95
- }
96
- if (testConfig.setupFiles) {
97
- for (const file of testConfig.setupFiles) {
98
- testArgs.push('--import', (0, node_url_1.pathToFileURL)(path.resolve(cwd, file)).href);
99
- }
100
- }
101
- // If specific files were provided by the user, pass them along
102
- if (options.files && options.files.length > 0) {
103
- testArgs.push(...options.files);
104
- }
105
- else if (testConfig.include && testConfig.include.length > 0) {
106
- testArgs.push(...testConfig.include);
107
- }
108
- else {
109
- // Prevent workspace symlink traversal by explicitly scoping to tests/ and test/ and src/
110
- testArgs.push('tests/**/*.test.ts', 'tests/**/*.spec.ts');
111
- }
112
- const env = {
113
- ...process.env,
114
- ...parsedEnv,
115
- NODE_ENV: 'test',
116
- FORCE_COLOR: '1',
117
- __EXIS_CLI: 'true',
118
- __EXIS_TEST: 'true',
119
- EXIS_ENTRY_FILE: entryFile,
120
- };
121
- let version = '0.0.0';
122
- try {
123
- const pkgPath = path.join(__dirname, '..', '..', '..', 'package.json');
124
- version = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')).version;
125
- }
126
- catch {
127
- /* ignore */
128
- }
129
- // Print minimalist test runner banner
130
- const primary = '\x1b[38;2;160;70;255m';
131
- console.log(`\n ${primary}${utils_1.c.bold}EXIS TEST RUNNER${utils_1.c.reset} ${utils_1.c.dim}v${version}${utils_1.c.reset}`);
132
- console.log(` ${utils_1.c.dim}powered by node:test${utils_1.c.reset}\n`);
133
- let child = null;
134
- function startProcess() {
135
- if (child) {
136
- child.kill('SIGTERM');
137
- }
138
- child = (0, node_child_process_1.spawn)(runner.bin, [...runner.args, ...testArgs], {
139
- cwd,
140
- env,
141
- stdio: 'inherit',
142
- // If we use process.execPath (Node binary), shell is typically false
143
- shell: runner.bin === process.execPath ? false : true,
144
- });
145
- child.on('error', (err) => {
146
- (0, utils_1.error)(`Failed to start test runner: ${err.message}`);
147
- });
148
- child.on('exit', (code, signal) => {
149
- if (signal !== 'SIGTERM' && code !== 0 && code !== null) {
150
- if (code === 128 + 15 || code === 143) {
151
- // Normal sigterm exits
152
- return;
153
- }
154
- process.exit(code);
155
- }
156
- else if (code === 0) {
157
- if (!options.watch) {
158
- process.exit(0);
159
- }
160
- }
161
- });
162
- }
163
- startProcess();
164
- }
165
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}