tsx-strict 0.1.4 → 0.2.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/bin/tsx-strict.js CHANGED
File without changes
package/dist/cli.js CHANGED
@@ -7,12 +7,16 @@ require("./index");
7
7
  const fs_1 = require("fs");
8
8
  const packageJson = JSON.parse((0, fs_1.readFileSync)("./package.json", "utf8"));
9
9
  const program = new commander_1.Command();
10
+ function collect(value, previous) {
11
+ return previous.concat([value]);
12
+ }
10
13
  program
11
14
  .name("tsx-strict")
12
15
  .description("Run TSX with automatic Type-checking")
13
16
  .version(packageJson.version)
14
17
  .argument("<file>", "TypeScript file to run")
15
18
  .option("-w, --watch", "Enable watch mode", false)
19
+ .option("--include <pattern>", "Include glob pattern to watch", collect, [])
16
20
  .option("--no-clear", "Do not clear screen", true)
17
21
  .option("--compiler", "Compiler", "typescript/bin/tsc")
18
22
  .option("--tsc-args <args...>", "Additional tsc arguments")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,mCAAuC;AACvC,mBAAiB;AACjB,2BAAkC;AAElC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,oBAAoB,CAAC;KACtD,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,EAAE,IAAI,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,IAAA,oBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AACL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,mCAAuC;AACvC,mBAAiB;AACjB,2BAAkC;AAElC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,SAAS,OAAO,CAAC,KAAU,EAAE,QAAa;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,OAAO,EAAE,EAAE,CAAC;KAC3E,MAAM,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,oBAAoB,CAAC;KACtD,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,EAAE,IAAI,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,IAAA,oBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AACL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ interface DependencyOptions {
2
+ extensions?: string[];
3
+ exclude?: RegExp;
4
+ maxDepth?: number;
5
+ }
6
+ declare function extractDependencies(content: string, currentFile: string): string[];
7
+ declare function resolveWithExtensions(basePath: string): string | null;
8
+ declare function getAllDependencies(entryFile: string, options?: DependencyOptions): Set<string>;
9
+ export { getAllDependencies, extractDependencies, resolveWithExtensions };
10
+ export type { DependencyOptions };
11
+ //# sourceMappingURL=dependency-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-extractor.d.ts","sourceRoot":"","sources":["../src/dependency-extractor.ts"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA+B3E;AAED,iBAAS,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoB9D;AAED,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,GAAG,CAAC,MAAM,CAAC,CAuCb;AAED,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,116 @@
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.getAllDependencies = getAllDependencies;
37
+ exports.extractDependencies = extractDependencies;
38
+ exports.resolveWithExtensions = resolveWithExtensions;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ function extractDependencies(content, currentFile) {
42
+ const dependencies = [];
43
+ const currentDir = path.dirname(currentFile);
44
+ // Regex patterns for different import styles
45
+ const patterns = [
46
+ // ES6 imports: import ... from 'path'
47
+ /import\s+(?:[\w{}\s,*]+\s+from\s+)?['"]([^'"]+)['"]/g,
48
+ // CommonJS: require('path')
49
+ /require\s*\(['"]([^'"]+)['"]\)/g,
50
+ // Dynamic imports: import('path')
51
+ /import\s*\(['"]([^'"]+)['"]\)/g,
52
+ ];
53
+ patterns.forEach((pattern) => {
54
+ let match;
55
+ while ((match = pattern.exec(content)) !== null) {
56
+ const importPath = match[1];
57
+ if (!importPath.startsWith(".") && !importPath.startsWith("/"))
58
+ continue;
59
+ let resolvedPath = path.resolve(currentDir, importPath);
60
+ if (!fs.existsSync(resolvedPath))
61
+ resolvedPath = resolveWithExtensions(resolvedPath);
62
+ if (resolvedPath)
63
+ dependencies.push(resolvedPath);
64
+ }
65
+ });
66
+ return dependencies;
67
+ }
68
+ function resolveWithExtensions(basePath) {
69
+ const extensions = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".json"];
70
+ if (fs.existsSync(basePath))
71
+ return basePath;
72
+ for (const ext of extensions) {
73
+ const pathWithExt = basePath + ext;
74
+ if (fs.existsSync(pathWithExt))
75
+ return pathWithExt;
76
+ }
77
+ if (fs.existsSync(basePath) && fs.statSync(basePath).isDirectory()) {
78
+ for (const ext of extensions) {
79
+ const indexPath = path.join(basePath, `index${ext}`);
80
+ if (fs.existsSync(indexPath)) {
81
+ return indexPath;
82
+ }
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ function getAllDependencies(entryFile, options = {}) {
88
+ const { extensions = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs"], exclude = /node_modules/, maxDepth = Infinity, } = options;
89
+ const visited = new Set();
90
+ const dependencies = new Set();
91
+ function walk(filePath, depth = 0) {
92
+ const normalizedPath = path.resolve(filePath);
93
+ if (visited.has(normalizedPath) || depth > maxDepth)
94
+ return;
95
+ visited.add(normalizedPath);
96
+ if (exclude && exclude.test(normalizedPath))
97
+ return;
98
+ if (!fs.existsSync(normalizedPath))
99
+ return console.warn(`File not found: ${normalizedPath}`);
100
+ const ext = path.extname(normalizedPath);
101
+ if (!extensions.includes(ext))
102
+ return;
103
+ dependencies.add(normalizedPath);
104
+ try {
105
+ const content = fs.readFileSync(normalizedPath, "utf-8");
106
+ const deps = extractDependencies(content, normalizedPath);
107
+ deps.forEach((dep) => walk(dep, depth + 1));
108
+ }
109
+ catch (error) {
110
+ console.error(`Error reading ${normalizedPath}:`, error.message);
111
+ }
112
+ }
113
+ walk(entryFile);
114
+ return dependencies;
115
+ }
116
+ //# sourceMappingURL=dependency-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-extractor.js","sourceRoot":"","sources":["../src/dependency-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function setupFileWatcher(restartTsx: () => void): void;
2
+ export declare function stopFileWatcher(): void;
3
+ //# sourceMappingURL=file-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,IAAI,QA0BtD;AAED,wBAAgB,eAAe,SAK9B"}
@@ -0,0 +1,42 @@
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.setupFileWatcher = setupFileWatcher;
7
+ exports.stopFileWatcher = stopFileWatcher;
8
+ const chokidar_1 = __importDefault(require("chokidar"));
9
+ const sheu_1 = __importDefault(require("./sheu"));
10
+ let fileWatcher = null;
11
+ function setupFileWatcher(restartTsx) {
12
+ if (fileWatcher) {
13
+ fileWatcher.close();
14
+ fileWatcher = null;
15
+ }
16
+ fileWatcher = chokidar_1.default.watch([process.cwd()], {
17
+ ignored: [/node_modules/, /(^|[\/\\])\../, /.json/],
18
+ ignoreInitial: true,
19
+ persistent: true,
20
+ });
21
+ fileWatcher.on("all", (event, path) => {
22
+ if (event === "ready" || !/\.(ts|tsx|js|jsx)$/.test(path))
23
+ return;
24
+ path = path.replace(process.cwd(), "");
25
+ path = path.startsWith("/")
26
+ ? path.replace("/", "")
27
+ : path.startsWith("\\")
28
+ ? path.replace("\\", "")
29
+ : path;
30
+ sheu_1.default.info(`Restarting because of file changes: ${path}`, {
31
+ timestamp: true,
32
+ });
33
+ restartTsx?.();
34
+ });
35
+ }
36
+ function stopFileWatcher() {
37
+ if (fileWatcher) {
38
+ fileWatcher.close();
39
+ fileWatcher = null;
40
+ }
41
+ }
42
+ //# sourceMappingURL=file-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":";;;;;AAKA,4CA0BC;AAED,0CAKC;AAtCD,wDAA+C;AAC/C,kDAA0B;AAE1B,IAAI,WAAW,GAAqB,IAAI,CAAC;AAEzC,SAAgB,gBAAgB,CAAC,UAAsB;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,WAAW,GAAG,kBAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE;QAC5C,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC;QACnD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,CAAC,CAAC,IAAI,CAAC;QAEX,cAAI,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,EAAE;YACvD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,UAAU,EAAE,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAWA,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,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAgJ5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,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,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAoK5E"}
package/dist/index.js CHANGED
@@ -48,6 +48,7 @@ const stdout_manipulator_1 = require("./stdout-manipulator");
48
48
  const readline_1 = require("readline");
49
49
  const killer_1 = require("./killer");
50
50
  const compiler_provider_1 = require("./compiler-provider");
51
+ const file_watcher_1 = require("./file-watcher");
51
52
  let firstTime = true;
52
53
  exports.tsxKiller = null;
53
54
  function setTsxKiller(value) {
@@ -57,16 +58,11 @@ function getTsxKiller() {
57
58
  return exports.tsxKiller;
58
59
  }
59
60
  async function runTsxStrict(file, options) {
60
- const { clear = true, typeCheck = true, compiler = "tsc", watch = false, tscArgs = "", tsxArgs = "", maxNodeMem, } = options;
61
- runTsxCommand();
62
- if (!typeCheck)
63
- return;
61
+ const { clear = true, typeCheck = true, compiler = "tsc", watch = false, tscArgs = "", tsxArgs = "", maxNodeMem, include, } = options;
64
62
  function runTsxCommand() {
65
63
  const tsxArgsArray = [];
66
- if (!clear && watch)
67
- tsxArgsArray.push("--watch-preserve-output");
68
- else if (watch)
69
- tsxArgsArray.push("--watch");
64
+ // if (!clear && watch) tsxArgsArray.push("--watch-preserve-output");
65
+ // else if (watch) tsxArgsArray.push("--watch");
70
66
  tsxArgsArray.push(file);
71
67
  if (tsxArgs.trim()) {
72
68
  const additionalArgs = tsxArgs
@@ -78,8 +74,14 @@ async function runTsxStrict(file, options) {
78
74
  tsxArgsArray.push(...uniqueArgs);
79
75
  }
80
76
  const tsxCommand = `npx tsx ${tsxArgsArray.join(" ")}`;
81
- exports.tsxKiller = (0, runner_1.run)(tsxCommand);
77
+ if (exports.tsxKiller)
78
+ ((0, exports.tsxKiller)?.()).then(() => (exports.tsxKiller = (0, runner_1.run)(tsxCommand)));
79
+ else
80
+ exports.tsxKiller = (0, runner_1.run)(tsxCommand);
82
81
  }
82
+ runTsxCommand();
83
+ if (!typeCheck)
84
+ return;
83
85
  const tscArgsArray = [];
84
86
  const nodeArgs = maxNodeMem ? [`--max_old_space_size=${maxNodeMem}`] : [];
85
87
  tscArgsArray.push((0, compiler_provider_1.getCompilerPath)(compiler));
@@ -107,6 +109,22 @@ async function runTsxStrict(file, options) {
107
109
  tscProcess.stderr.pipe(process.stderr);
108
110
  let compilationId = 0;
109
111
  let compilationErrorSinceStart = false;
112
+ let hasTsErrors = false;
113
+ function restartTsx() {
114
+ compilationId++;
115
+ (0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
116
+ if (previousCompilationId !== compilationId)
117
+ return;
118
+ if (compilationErrorSinceStart)
119
+ Signal.emitFail();
120
+ else {
121
+ Signal.emitSuccess();
122
+ runTsxCommand();
123
+ }
124
+ });
125
+ }
126
+ if (watch)
127
+ (0, file_watcher_1.setupFileWatcher)(restartTsx);
110
128
  const rl = (0, readline_1.createInterface)({ input: tscProcess.stdout });
111
129
  rl.on("line", function (line) {
112
130
  (0, stdout_manipulator_1.print)(line, {
@@ -115,12 +133,11 @@ async function runTsxStrict(file, options) {
115
133
  const state = (0, stdout_manipulator_1.detectState)(line);
116
134
  const compilationStarted = state.compilationStarted;
117
135
  const compilationError = state.compilationError;
118
- const compilationComplete = state.compilationComplete;
119
- compilationErrorSinceStart =
120
- (!compilationStarted && compilationErrorSinceStart) || compilationError;
121
- if (state.fileEmitted !== null)
122
- Signal.emitFile(state.fileEmitted);
123
- if (compilationStarted) {
136
+ const compilationCompleteWithoutError = state.compilationCompleteWithoutError;
137
+ if (compilationCompleteWithoutError)
138
+ hasTsErrors = false;
139
+ if (compilationError) {
140
+ hasTsErrors = true;
124
141
  compilationId++;
125
142
  (0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
126
143
  if (previousCompilationId !== compilationId)
@@ -128,7 +145,11 @@ async function runTsxStrict(file, options) {
128
145
  Signal.emitStarted();
129
146
  });
130
147
  }
131
- if (compilationComplete) {
148
+ compilationErrorSinceStart =
149
+ (!compilationStarted && compilationErrorSinceStart) || compilationError;
150
+ if (state.fileEmitted !== null)
151
+ Signal.emitFile(state.fileEmitted);
152
+ if (compilationCompleteWithoutError && !hasTsErrors && !firstTime) {
132
153
  compilationId++;
133
154
  (0, killer_1.killProcesses)(compilationId).then((previousCompilationId) => {
134
155
  if (previousCompilationId !== compilationId)
@@ -136,15 +157,15 @@ async function runTsxStrict(file, options) {
136
157
  if (compilationErrorSinceStart)
137
158
  Signal.emitFail();
138
159
  else {
139
- if (firstTime) {
140
- firstTime = false;
141
- Signal.emitFirstSuccess();
142
- }
143
160
  Signal.emitSuccess();
144
161
  runTsxCommand();
145
162
  }
146
163
  });
147
164
  }
165
+ else if (firstTime && compilationCompleteWithoutError && !hasTsErrors) {
166
+ firstTime = false;
167
+ Signal.emitFirstSuccess();
168
+ }
148
169
  });
149
170
  if (typeof process.on === "function")
150
171
  process.on("message", (msg) => {
@@ -162,6 +183,7 @@ async function runTsxStrict(file, options) {
162
183
  (0, node_cleanup_1.default)((_exitCode, signal) => {
163
184
  if (signal)
164
185
  tscProcess.kill(signal);
186
+ (0, file_watcher_1.stopFileWatcher)();
165
187
  (0, killer_1.killProcesses)(0).then(() => process.exit());
166
188
  // don't call cleanup handler again
167
189
  (0, node_cleanup_1.uninstall)();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCAEC;AAED,oCAEC;AAED,oCAgJC;AAnKD,6DAAsD;AACtD,8DAAgC;AAChC,qCAA+B;AAC/B,6DAAuE;AACvE,uCAA2C;AAC3C,qCAAyC;AACzC,2DAAsD;AAEtD,IAAI,SAAS,GAAG,IAAI,CAAC;AACV,QAAA,SAAS,GAAiC,IAAI,CAAC;AAE1D,SAAgB,YAAY,CAAC,KAAuB;IAClD,iBAAS,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,iBAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,OAA4B;IAC3E,MAAM,EACJ,KAAK,GAAG,IAAI,EACZ,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,UAAU,GACX,GAAG,OAAO,CAAC;IAEZ,aAAa,EAAE,CAAC;IAChB,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,SAAS,aAAa;QACpB,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,KAAK,IAAI,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aAC7D,IAAI,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,OAAO;iBAC3B,IAAI,EAAE;iBACN,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC,CAC9C,CAAC;YACF,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEvD,iBAAS,GAAG,IAAA,YAAG,EAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,YAAY,CAAC,IAAI,CAAC,IAAA,mCAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9B,IAAI,KAAK;QAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,OAAO;aAC3B,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC,CAC9C,CAAC;QACF,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAE5E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAgB,EAAE,MAAqB,EAAE,EAAE;QAChE,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,0BAA0B,GAAG,KAAK,CAAC;IAEvC,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI;QAC1B,IAAA,0BAAK,EAAC,IAAI,EAAE;YACV,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAA,gCAAW,EAAC,IAAI,CAAC,CAAC;QAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAChD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAEtD,0BAA0B;YACxB,CAAC,CAAC,kBAAkB,IAAI,0BAA0B,CAAC,IAAI,gBAAgB,CAAC;QAE1E,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnE,IAAI,kBAAkB,EAAE,CAAC;YACvB,aAAa,EAAE,CAAC;YAChB,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,qBAA0B,EAAE,EAAE;gBAC/D,IAAI,qBAAqB,KAAK,aAAa;oBAAE,OAAO;gBAEpD,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;YAChB,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,qBAA0B,EAAE,EAAE;gBAC/D,IAAI,qBAAqB,KAAK,aAAa;oBAAE,OAAO;gBACpD,IAAI,0BAA0B;oBAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;qBAC7C,CAAC;oBACJ,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS,GAAG,KAAK,CAAC;wBAClB,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,CAAC;oBAED,MAAM,CAAC,WAAW,EAAE,CAAC;oBACrB,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU;QAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;YACpC,IAAI,GAAG,KAAK,wBAAwB,IAAI,iBAAS;gBAC/C,IAAA,iBAAS,GAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACxC,gBAAgB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QACnD,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAC5C,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;KAC/D,CAAC;IAEF,IAAA,sBAAW,EAAC,CAAC,SAAwB,EAAE,MAAqB,EAAE,EAAE;QAC9D,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAE3C,IAAA,sBAAa,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,mCAAmC;QACnC,IAAA,wBAAS,GAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"killer.d.ts","sourceRoot":"","sources":["../src/killer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAQ,MAAM,eAAe,CAAC;AAenD,wBAAgB,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvD;AAID,wBAAsB,aAAa,CACjC,oBAAoB,EAAE,MAAM,GAE3B,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
1
+ {"version":3,"file":"killer.d.ts","sourceRoot":"","sources":["../src/killer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAQ,MAAM,eAAe,CAAC;AAenD,wBAAgB,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvD;AAID,wBAAsB,aAAa,CACjC,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
package/dist/killer.js CHANGED
@@ -42,12 +42,9 @@ function kill(child) {
42
42
  });
43
43
  }
44
44
  let runningKillProcessesPromise = null;
45
- async function killProcesses(currentCompilationId
46
- // killAll: boolean = false
47
- ) {
48
- if (runningKillProcessesPromise) {
45
+ async function killProcesses(currentCompilationId) {
46
+ if (runningKillProcessesPromise)
49
47
  return runningKillProcessesPromise.then(() => currentCompilationId);
50
- }
51
48
  const promisesToWaitFor = [];
52
49
  const tsxKiller = (0, _1.getTsxKiller)();
53
50
  if (tsxKiller) {
@@ -1 +1 @@
1
- {"version":3,"file":"killer.js","sourceRoot":"","sources":["../src/killer.ts"],"names":[],"mappings":";;;;;AAiBA,oBAqBC;AAID,sCA4BC;AAtED,sDAA6B;AAC7B,8DAAgC;AAChC,iDAAmD;AACnD,wBAA+C;AAE/C,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,UAAU;AAClC,IAAI,KAAK,GAAG,IAAI,CAAC;AAEjB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE/C,4DAA4D;AAC5D,IAAA,oBAAI,EAAC,IAAI,EAAE,UAAU,KAAK;IACxB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,IAAI,CAAC,KAAmB;IACtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,oBAAI,EAAC,iBAAiB,KAAK,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,iBAAM,EAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACxC,MAAM,IAAI,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,GAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;oBACrE,IAAA,qBAAK,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAA,oBAAI,EAAC,SAAS,WAAW,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,2BAA2B,GAA2B,IAAI,CAAC;AAExD,KAAK,UAAU,aAAa,CACjC,oBAA4B;AAC5B,2BAA2B;;IAE3B,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,2BAA2B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,iBAAiB,GAAmB,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG,IAAA,eAAY,GAAE,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,IAAA,eAAY,EAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,2BAA2B,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;SACzD,IAAI,CAAC,GAAG,EAAE;QACT,2BAA2B,GAAG,IAAI,CAAC;QACnC,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,2BAA2B,GAAG,IAAI,CAAC;QACnC,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO,2BAA2B,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"killer.js","sourceRoot":"","sources":["../src/killer.ts"],"names":[],"mappings":";;;;;AAiBA,oBAqBC;AAID,sCA0BC;AApED,sDAA6B;AAC7B,8DAAgC;AAChC,iDAAmD;AACnD,wBAA+C;AAE/C,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,UAAU;AAClC,IAAI,KAAK,GAAG,IAAI,CAAC;AAEjB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE/C,4DAA4D;AAC5D,IAAA,oBAAI,EAAC,IAAI,EAAE,UAAU,KAAK;IACxB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,IAAI,CAAC,KAAmB;IACtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,oBAAI,EAAC,iBAAiB,KAAK,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,iBAAM,EAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACxC,MAAM,IAAI,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,GAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;oBACrE,IAAA,qBAAK,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAA,oBAAI,EAAC,SAAS,WAAW,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,2BAA2B,GAA2B,IAAI,CAAC;AAExD,KAAK,UAAU,aAAa,CACjC,oBAA4B;IAE5B,IAAI,2BAA2B;QAC7B,OAAO,2BAA2B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAEtE,MAAM,iBAAiB,GAAmB,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG,IAAA,eAAY,GAAE,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,IAAA,eAAY,EAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,2BAA2B,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;SACzD,IAAI,CAAC,GAAG,EAAE;QACT,2BAA2B,GAAG,IAAI,CAAC;QACnC,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,2BAA2B,GAAG,IAAI,CAAC;QACnC,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO,2BAA2B,CAAC;AACrC,CAAC"}
package/dist/sheu.d.ts ADDED
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Sheu - Simplified terminal color utility for styling console output
3
+ */
4
+ declare class Sheu {
5
+ /**
6
+ * Get current timestamp in HH:MM:SS format
7
+ */
8
+ private getTimestamp;
9
+ /**
10
+ * Apply timestamp and bold formatting if requested
11
+ */
12
+ private formatText;
13
+ /**
14
+ * Get ANSI color code for color name
15
+ */
16
+ private getColorCode;
17
+ /**
18
+ * Red color
19
+ */
20
+ red(content: any, options?: {
21
+ timestamp?: boolean | string;
22
+ bold?: boolean;
23
+ }): string;
24
+ /**
25
+ * Blue color
26
+ */
27
+ blue(content: any, options?: {
28
+ timestamp?: boolean | string;
29
+ bold?: boolean;
30
+ }): string;
31
+ /**
32
+ * Green color
33
+ */
34
+ green(content: any, options?: {
35
+ timestamp?: boolean | string;
36
+ bold?: boolean;
37
+ }): string;
38
+ /**
39
+ * Yellow color
40
+ */
41
+ yellow(content: any, options?: {
42
+ timestamp?: boolean | string;
43
+ bold?: boolean;
44
+ }): string;
45
+ /**
46
+ * Cyan color
47
+ */
48
+ cyan(content: any, options?: {
49
+ timestamp?: boolean | string;
50
+ bold?: boolean;
51
+ }): string;
52
+ /**
53
+ * Magenta color
54
+ */
55
+ magenta(content: any, options?: {
56
+ timestamp?: boolean | string;
57
+ bold?: boolean;
58
+ }): string;
59
+ /**
60
+ * White color
61
+ */
62
+ white(content: any, options?: {
63
+ timestamp?: boolean | string;
64
+ bold?: boolean;
65
+ }): string;
66
+ /**
67
+ * Black color
68
+ */
69
+ black(content: any, options?: {
70
+ timestamp?: boolean | string;
71
+ bold?: boolean;
72
+ }): string;
73
+ /**
74
+ * Gray color
75
+ */
76
+ gray(content: any, options?: {
77
+ timestamp?: boolean | string;
78
+ bold?: boolean;
79
+ }): string;
80
+ /**
81
+ * Orange color
82
+ */
83
+ orange(content: any, options?: {
84
+ timestamp?: boolean | string;
85
+ bold?: boolean;
86
+ }): string;
87
+ /**
88
+ * Bold text formatting
89
+ */
90
+ bold(content: any, options?: {
91
+ timestamp?: boolean | string;
92
+ }): string;
93
+ /**
94
+ * Info label with cyan color [INFO]
95
+ */
96
+ info(message: any, options?: {
97
+ timestamp?: boolean | string;
98
+ bold?: boolean;
99
+ }): string;
100
+ /**
101
+ * Simple Log with no label
102
+ */
103
+ print(message: any, options?: {
104
+ timestamp?: boolean | string;
105
+ bold?: boolean;
106
+ }): string;
107
+ /**
108
+ * Error label with red color [ERROR]
109
+ */
110
+ error(message: any, options?: {
111
+ timestamp?: boolean | string;
112
+ bold?: boolean;
113
+ }): string;
114
+ /**
115
+ * Ready label with green color [READY]
116
+ */
117
+ ready(message: string, options?: {
118
+ timestamp?: boolean | string;
119
+ bold?: boolean;
120
+ }): string;
121
+ /**
122
+ * Done label with green color [DONE]
123
+ */
124
+ done(message: any, options?: {
125
+ timestamp?: boolean | string;
126
+ bold?: boolean;
127
+ }): string;
128
+ /**
129
+ * Warning label with yellow color [WARN]
130
+ */
131
+ warn(message: any, options?: {
132
+ timestamp?: boolean | string;
133
+ bold?: boolean;
134
+ }): string;
135
+ /**
136
+ * Debug label with magenta color [DEBUG]
137
+ */
138
+ debug(message: any, options?: {
139
+ timestamp?: boolean | string;
140
+ bold?: boolean;
141
+ }): string;
142
+ }
143
+ declare const sheu: Sheu;
144
+ export default sheu;
145
+ //# sourceMappingURL=sheu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheu.d.ts","sourceRoot":"","sources":["../src/sheu.ts"],"names":[],"mappings":"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"}
package/dist/sheu.js ADDED
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Sheu - Simplified terminal color utility for styling console output
5
+ */
6
+ class Sheu {
7
+ /**
8
+ * Get current timestamp in HH:MM:SS format
9
+ */
10
+ getTimestamp() {
11
+ return new Date().toTimeString().split(" ")[0];
12
+ }
13
+ /**
14
+ * Apply timestamp and bold formatting if requested
15
+ */
16
+ formatText(content = "", options = {}) {
17
+ const label = options?.label
18
+ ? content
19
+ ? options?.label + " "
20
+ : content === null
21
+ ? options?.label + " "
22
+ : options?.label
23
+ : "";
24
+ let result = `${label}${content}`;
25
+ if (options.timestamp) {
26
+ const timestamp = this.getTimestamp();
27
+ if (options.timestamp === true)
28
+ result = `${label}\x1b[90m${timestamp}\x1b[0m ${content}`;
29
+ else if (typeof options.timestamp === "string") {
30
+ const colorCode = this.getColorCode(options.timestamp);
31
+ result = `${label}${colorCode}${timestamp}\x1b[0m ${content}`;
32
+ }
33
+ }
34
+ if (options.bold)
35
+ result = `\x1b[1m${result}\x1b[0m`;
36
+ return result;
37
+ }
38
+ /**
39
+ * Get ANSI color code for color name
40
+ */
41
+ getColorCode(color) {
42
+ const colorMap = {
43
+ red: "\x1b[31m",
44
+ blue: "\x1b[34m",
45
+ green: "\x1b[32m",
46
+ yellow: "\x1b[33m",
47
+ cyan: "\x1b[36m",
48
+ magenta: "\x1b[35m",
49
+ white: "\x1b[37m",
50
+ black: "\x1b[30m",
51
+ gray: "\x1b[90m",
52
+ orange: "\x1b[91m",
53
+ };
54
+ return colorMap[color] || "\x1b[90m"; // Default to gray if color not found
55
+ }
56
+ /**
57
+ * Red color
58
+ */
59
+ red(content, options) {
60
+ const coloredText = `\x1b[31m${content}\x1b[0m`;
61
+ return this.formatText(coloredText, options || {});
62
+ }
63
+ /**
64
+ * Blue color
65
+ */
66
+ blue(content, options) {
67
+ const coloredText = `\x1b[34m${content}\x1b[0m`;
68
+ return this.formatText(coloredText, options || {});
69
+ }
70
+ /**
71
+ * Green color
72
+ */
73
+ green(content, options) {
74
+ const coloredText = `\x1b[32m${content}\x1b[0m`;
75
+ return this.formatText(coloredText, options || {});
76
+ }
77
+ /**
78
+ * Yellow color
79
+ */
80
+ yellow(content, options) {
81
+ const coloredText = `\x1b[33m${content}\x1b[0m`;
82
+ return this.formatText(coloredText, options || {});
83
+ }
84
+ /**
85
+ * Cyan color
86
+ */
87
+ cyan(content, options) {
88
+ const coloredText = `\x1b[36m${content}\x1b[0m`;
89
+ return this.formatText(coloredText, options || {});
90
+ }
91
+ /**
92
+ * Magenta color
93
+ */
94
+ magenta(content, options) {
95
+ const coloredText = `\x1b[35m${content}\x1b[0m`;
96
+ return this.formatText(coloredText, options || {});
97
+ }
98
+ /**
99
+ * White color
100
+ */
101
+ white(content, options) {
102
+ const coloredText = `\x1b[37m${content}\x1b[0m`;
103
+ return this.formatText(coloredText, options || {});
104
+ }
105
+ /**
106
+ * Black color
107
+ */
108
+ black(content, options) {
109
+ const coloredText = `\x1b[30m${content}\x1b[0m`;
110
+ return this.formatText(coloredText, options || {});
111
+ }
112
+ /**
113
+ * Gray color
114
+ */
115
+ gray(content, options) {
116
+ const coloredText = `\x1b[90m${content}\x1b[0m`;
117
+ return this.formatText(coloredText, options || {});
118
+ }
119
+ /**
120
+ * Orange color
121
+ */
122
+ orange(content, options) {
123
+ const coloredText = `\x1b[91m${content}\x1b[0m`;
124
+ return this.formatText(coloredText, options || {});
125
+ }
126
+ /**
127
+ * Bold text formatting
128
+ */
129
+ bold(content, options) {
130
+ return this.formatText(content, { ...options, bold: true });
131
+ }
132
+ /**
133
+ * Info label with cyan color [INFO]
134
+ */
135
+ info(message, options) {
136
+ const label = `[\x1b[36mInfo\x1b[0m]`;
137
+ const result = this.formatText(message, { ...options, label });
138
+ console.info(result);
139
+ return result;
140
+ }
141
+ /**
142
+ * Simple Log with no label
143
+ */
144
+ print(message, options) {
145
+ const result = this.formatText(message, { ...options });
146
+ console.info(result);
147
+ return result;
148
+ }
149
+ /**
150
+ * Error label with red color [ERROR]
151
+ */
152
+ error(message, options) {
153
+ const label = `[\x1b[31mError\x1b[0m]`;
154
+ const result = this.formatText(message, { ...options, label });
155
+ console.error(result);
156
+ return result;
157
+ }
158
+ /**
159
+ * Ready label with green color [READY]
160
+ */
161
+ ready(message, options) {
162
+ // const label = `\x1b[32m✓\x1b[0m`;
163
+ const label = `[\x1b[32mReady\x1b[0m]`;
164
+ const result = this.formatText(message, { ...options, label });
165
+ console.info(result);
166
+ return result;
167
+ }
168
+ /**
169
+ * Done label with green color [DONE]
170
+ */
171
+ done(message, options) {
172
+ const label = `[\x1b[32mDone\x1b[0m]`;
173
+ const result = this.formatText(message, { ...options, label });
174
+ console.info(result);
175
+ return result;
176
+ }
177
+ /**
178
+ * Warning label with yellow color [WARN]
179
+ */
180
+ warn(message, options) {
181
+ const label = `[\x1b[33mWarn\x1b[0m]`;
182
+ const result = this.formatText(message, { ...options, label });
183
+ console.warn(result);
184
+ return result;
185
+ }
186
+ /**
187
+ * Debug label with magenta color [DEBUG]
188
+ */
189
+ debug(message, options) {
190
+ const label = `[\x1b[35mDebug\x1b[0m]`;
191
+ const result = this.formatText(message, { ...options, label });
192
+ console.debug(result);
193
+ return result;
194
+ }
195
+ }
196
+ const sheu = new Sheu();
197
+ exports.default = sheu;
198
+ //# sourceMappingURL=sheu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheu.js","sourceRoot":"","sources":["../src/sheu.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare function detectState(line: string): {
11
11
  compilationError: boolean;
12
12
  compilationComplete: boolean;
13
13
  fileEmitted: string | null;
14
+ compilationCompleteWithoutError: boolean;
14
15
  };
15
16
  export {};
16
17
  //# sourceMappingURL=stdout-manipulator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdout-manipulator.d.ts","sourceRoot":"","sources":["../src/stdout-manipulator.ts"],"names":[],"mappings":"AAgEA,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAKF,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,EACE,QAAgB,EAChB,2BAAmC,EACnC,kBAA0B,GAC3B,GAAE,YAAiB,GACnB,IAAI,CA4BN;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;;;;;EAwBvC"}
1
+ {"version":3,"file":"stdout-manipulator.d.ts","sourceRoot":"","sources":["../src/stdout-manipulator.ts"],"names":[],"mappings":"AAgEA,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAKF,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,EACE,QAAgB,EAChB,2BAAmC,EACnC,kBAA0B,GAC3B,GAAE,YAAiB,GACnB,IAAI,CA4BN;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM;;;;;;EAoBvC"}
@@ -74,12 +74,9 @@ function deleteClear(line) {
74
74
  }
75
75
  function detectState(line) {
76
76
  const clearLine = stripAnsi(line);
77
- const compilationStarted = compilationStartedRegex.test(clearLine) ||
78
- nativeCompilationStartedRegex.test(clearLine);
79
- const compilationError = compilationCompleteWithErrorRegex.test(clearLine) ||
80
- nativeCompilationCompleteWithErrorRegex.test(clearLine) ||
81
- typescriptErrorRegex.test(clearLine) ||
82
- typescriptPrettyErrorRegex.test(clearLine);
77
+ const compilationStarted = compilationStartedRegex.test(clearLine);
78
+ const compilationError = line.includes("): error TS");
79
+ const compilationCompleteWithoutError = line.includes("Found 0 errors");
83
80
  const compilationComplete = compilationCompleteRegex.test(clearLine) ||
84
81
  nativeCompilationCompleteRegex.test(clearLine);
85
82
  const fileEmittedExec = typescriptEmittedFileRegex.exec(clearLine);
@@ -89,6 +86,7 @@ function detectState(line) {
89
86
  compilationError,
90
87
  compilationComplete,
91
88
  fileEmitted,
89
+ compilationCompleteWithoutError,
92
90
  };
93
91
  }
94
92
  //# sourceMappingURL=stdout-manipulator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdout-manipulator.js","sourceRoot":"","sources":["../src/stdout-manipulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdout-manipulator.js","sourceRoot":"","sources":["../src/stdout-manipulator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tsx-strict",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Type-safe TSX runner with automatic Type-checking",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "postbuild": "npx rimraf dist/examples",
14
14
  "dev": "ts-node-dev src/cli.ts src/examples/development/src/app.ts",
15
15
  "start": "node bin/tsx-strict.js src/examples/development/src/app.ts",
16
- "test": "echo \"Error: no test specified\" && exit 1",
16
+ "test": "jest --coverage",
17
17
  "clean": "npx rimraf dist",
18
18
  "typecheck": "tsc --noEmit"
19
19
  },
@@ -44,14 +44,18 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/cross-spawn": "^6.0.6",
47
+ "@types/jest": "^30.0.0",
47
48
  "@types/node": "^18.0.0",
48
49
  "@types/node-cleanup": "^2.1.5",
49
50
  "@types/ps-tree": "^1.1.6",
51
+ "jest": "^30.2.0",
50
52
  "rimraf": "^5.0.0",
53
+ "ts-jest": "^29.4.5",
51
54
  "ts-node-dev": "^2.0.0",
52
55
  "typescript": "^5.3.0"
53
56
  },
54
57
  "dependencies": {
58
+ "chokidar": "^4.0.3",
55
59
  "commander": "^14.0.0",
56
60
  "cross-spawn": "^7.0.6",
57
61
  "node-cleanup": "^2.1.2",