tsx-strict 0.6.0 → 0.7.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/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -56
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAaA,eAAO,IAAI,SAAS,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAW,CAAC;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,SAAS,QAEnD;AAED,wBAAgB,YAAY,WANC,OAAO,CAAC,IAAI,CAAC,SAQzC;AAED,eAAO,IAAI,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,CAAC;AAExE,wBAAgB,SAAS;kBAFU,OAAO;wBAIzC;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAaA,eAAO,IAAI,SAAS,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAW,CAAC;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,SAAS,QAEnD;AAED,wBAAgB,YAAY,WANC,OAAO,CAAC,IAAI,CAAC,SAQzC;AAED,eAAO,IAAI,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,CAAC;AAExE,wBAAgB,SAAS;kBAFU,OAAO;wBAIzC;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,iBA2JvE"}
|
package/dist/index.js
CHANGED
|
@@ -67,14 +67,6 @@ async function runTsxStrict(file, options) {
|
|
|
67
67
|
const fileConfig = await (0, config_loader_1.loadConfig)();
|
|
68
68
|
const { clear = true, typeCheck = true, compiler, watch = false, tscArgs = [], tsxArgs = [], maxNodeMem, } = { ...options, ...fileConfig };
|
|
69
69
|
exports.status = { ...options, ...exports.status };
|
|
70
|
-
const sendSignal = (msg) => process.send && process.send(msg);
|
|
71
|
-
const Signal = {
|
|
72
|
-
emitStarted: () => sendSignal("started"),
|
|
73
|
-
emitFirstSuccess: () => sendSignal("first_success"),
|
|
74
|
-
emitSuccess: () => sendSignal("success"),
|
|
75
|
-
emitFail: () => sendSignal("compile_errors"),
|
|
76
|
-
emitFile: (path) => sendSignal(`file_emitted:${path}`),
|
|
77
|
-
};
|
|
78
70
|
function runTsxCommand() {
|
|
79
71
|
const tsxArgsArray = [];
|
|
80
72
|
tsxArgsArray.push(file);
|
|
@@ -87,7 +79,6 @@ async function runTsxStrict(file, options) {
|
|
|
87
79
|
else
|
|
88
80
|
exports.tsxKiller = (0, runner_1.run)(tsxCommand);
|
|
89
81
|
}
|
|
90
|
-
// tsx starts immediately, no waiting for tsc
|
|
91
82
|
runTsxCommand();
|
|
92
83
|
if (!typeCheck)
|
|
93
84
|
return;
|
|
@@ -96,71 +87,106 @@ async function runTsxStrict(file, options) {
|
|
|
96
87
|
tscArgsArray.push((0, compiler_provider_1.getCompilerPath)(compiler));
|
|
97
88
|
tscArgsArray.push(...(0, compiler_provider_1.getTscArgs)(file));
|
|
98
89
|
tscArgsArray.push("--noEmit");
|
|
99
|
-
|
|
90
|
+
if (watch)
|
|
91
|
+
tscArgsArray.push("--watch");
|
|
100
92
|
const uniqueArgs = Array.from(new Set([...tscArgsArray, ...tscArgs]));
|
|
101
93
|
tscArgsArray.length = 0;
|
|
102
94
|
tscArgsArray.push(...uniqueArgs);
|
|
95
|
+
const tscProcess = (0, cross_spawn_1.default)("node", [...nodeArgs, ...tscArgsArray]);
|
|
96
|
+
if (!tscProcess.stdout)
|
|
97
|
+
throw new Error("Unable to read Typescript stdout");
|
|
98
|
+
if (!tscProcess.stderr)
|
|
99
|
+
throw new Error("Unable to read Typescript stderr");
|
|
100
|
+
tscProcess.on("exit", (_, signal) => {
|
|
101
|
+
if (signal !== null)
|
|
102
|
+
process.kill(process.pid, signal);
|
|
103
|
+
});
|
|
104
|
+
tscProcess.stderr.pipe(process.stderr);
|
|
105
|
+
let compilationId = 0;
|
|
106
|
+
let compilationErrorSinceStart = false;
|
|
103
107
|
exports.status.hasTsErrors = false;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (!tscProcess.stdout)
|
|
111
|
-
throw new Error("Unable to read Typescript stdout");
|
|
112
|
-
if (!tscProcess.stderr)
|
|
113
|
-
throw new Error("Unable to read Typescript stderr");
|
|
114
|
-
tscProcess.on("exit", (_, signal) => {
|
|
115
|
-
if (signal !== null)
|
|
116
|
-
process.kill(process.pid, signal);
|
|
117
|
-
});
|
|
118
|
-
tscProcess.stderr.pipe(process.stderr);
|
|
119
|
-
const rl = (0, readline_1.createInterface)({ input: tscProcess.stdout });
|
|
120
|
-
rl.on("line", function (line) {
|
|
121
|
-
(0, stdout_manipulator_1.print)(line, { clear });
|
|
122
|
-
const state = (0, stdout_manipulator_1.detectState)(line);
|
|
123
|
-
if (state.compilationCompleteWithoutError) {
|
|
124
|
-
exports.status.hasTsErrors = false;
|
|
125
|
-
if (firstTime) {
|
|
126
|
-
firstTime = false;
|
|
127
|
-
Signal.emitFirstSuccess();
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
Signal.emitSuccess();
|
|
131
|
-
runTsxCommand();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (state.compilationError && !exports.status.hasTsErrors) {
|
|
135
|
-
exports.status.hasTsErrors = true;
|
|
136
|
-
// tsc found errors — kill tsx immediately
|
|
137
|
-
if (exports.tsxKiller)
|
|
138
|
-
(0, exports.tsxKiller)();
|
|
108
|
+
function restartTsx() {
|
|
109
|
+
compilationId++;
|
|
110
|
+
(0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
|
|
111
|
+
if (previousCompilationId !== compilationId)
|
|
112
|
+
return;
|
|
113
|
+
if (compilationErrorSinceStart)
|
|
139
114
|
Signal.emitFail();
|
|
115
|
+
else {
|
|
116
|
+
Signal.emitSuccess();
|
|
117
|
+
runTsxCommand();
|
|
140
118
|
}
|
|
141
|
-
if (state.fileEmitted !== null)
|
|
142
|
-
Signal.emitFile(state.fileEmitted);
|
|
143
119
|
});
|
|
144
120
|
}
|
|
145
|
-
function restartTsx() {
|
|
146
|
-
if (!exports.status.hasTsErrors)
|
|
147
|
-
runTsxCommand();
|
|
148
|
-
spawnTscProcess();
|
|
149
|
-
}
|
|
150
121
|
if (watch)
|
|
151
122
|
(0, file_watcher_1.setupFileWatcher)(restartTsx, fileConfig);
|
|
152
|
-
|
|
153
|
-
|
|
123
|
+
const rl = (0, readline_1.createInterface)({ input: tscProcess.stdout });
|
|
124
|
+
let tscKilledTsx = false;
|
|
125
|
+
rl.on("line", function (line) {
|
|
126
|
+
(0, stdout_manipulator_1.print)(line, {
|
|
127
|
+
clear,
|
|
128
|
+
});
|
|
129
|
+
const state = (0, stdout_manipulator_1.detectState)(line);
|
|
130
|
+
const compilationStarted = state.compilationStarted;
|
|
131
|
+
const compilationError = state.compilationError;
|
|
132
|
+
const compilationCompleteWithoutError = state.compilationCompleteWithoutError;
|
|
133
|
+
if (compilationCompleteWithoutError)
|
|
134
|
+
exports.status.hasTsErrors = false;
|
|
135
|
+
if (compilationError) {
|
|
136
|
+
exports.status.hasTsErrors = true;
|
|
137
|
+
compilationId++;
|
|
138
|
+
(0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
|
|
139
|
+
if (previousCompilationId !== compilationId)
|
|
140
|
+
return;
|
|
141
|
+
tscKilledTsx = true;
|
|
142
|
+
Signal.emitStarted();
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
compilationErrorSinceStart =
|
|
146
|
+
(!compilationStarted && compilationErrorSinceStart) || compilationError;
|
|
147
|
+
if (state.fileEmitted !== null)
|
|
148
|
+
Signal.emitFile(state.fileEmitted);
|
|
149
|
+
if (compilationCompleteWithoutError && !exports.status.hasTsErrors && !firstTime) {
|
|
150
|
+
compilationId++;
|
|
151
|
+
if (tscKilledTsx)
|
|
152
|
+
(0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
|
|
153
|
+
if (previousCompilationId !== compilationId)
|
|
154
|
+
return;
|
|
155
|
+
if (compilationErrorSinceStart)
|
|
156
|
+
Signal.emitFail();
|
|
157
|
+
else {
|
|
158
|
+
Signal.emitSuccess();
|
|
159
|
+
tscKilledTsx = false;
|
|
160
|
+
runTsxCommand();
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
else if (firstTime &&
|
|
165
|
+
compilationCompleteWithoutError &&
|
|
166
|
+
!exports.status.hasTsErrors) {
|
|
167
|
+
firstTime = false;
|
|
168
|
+
Signal.emitFirstSuccess();
|
|
169
|
+
}
|
|
170
|
+
});
|
|
154
171
|
if (typeof process.on === "function")
|
|
155
172
|
process.on("message", (msg) => {
|
|
156
173
|
if (msg === "run-on-success-command" && exports.tsxKiller)
|
|
157
174
|
(0, exports.tsxKiller)().then(runTsxCommand);
|
|
158
175
|
});
|
|
176
|
+
const sendSignal = (msg) => process.send && process.send(msg);
|
|
177
|
+
const Signal = {
|
|
178
|
+
emitStarted: () => sendSignal("started"),
|
|
179
|
+
emitFirstSuccess: () => sendSignal("first_success"),
|
|
180
|
+
emitSuccess: () => sendSignal("success"),
|
|
181
|
+
emitFail: () => sendSignal("compile_errors"),
|
|
182
|
+
emitFile: (path) => sendSignal(`file_emitted:${path}`),
|
|
183
|
+
};
|
|
159
184
|
(0, node_cleanup_1.default)((_exitCode, signal) => {
|
|
160
|
-
if (signal
|
|
161
|
-
|
|
185
|
+
if (signal)
|
|
186
|
+
tscProcess.kill(signal);
|
|
162
187
|
(0, file_watcher_1.stopFileWatcher)();
|
|
163
188
|
(0, killer_1.killProcesses)(0).then(() => process.exit());
|
|
189
|
+
// don't call cleanup handler again
|
|
164
190
|
(0, node_cleanup_1.uninstall)();
|
|
165
191
|
return false;
|
|
166
192
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oCAEC;AAED,oCAEC;AAID,8BAEC;AAcD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|