tsx-strict 0.4.1 → 0.5.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/README.md +35 -0
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/compiler-provider.d.ts.map +1 -1
- package/dist/compiler-provider.js +2 -2
- package/dist/compiler-provider.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -0
- package/dist/file-watcher.d.ts +2 -1
- package/dist/file-watcher.d.ts.map +1 -1
- package/dist/file-watcher.js +9 -4
- package/dist/file-watcher.js.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -21
- package/dist/index.js.map +1 -1
- package/dist/utils/config-loader.d.ts +3 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +60 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ Run TypeScript files with TSX while providing real-time type checking.
|
|
|
9
9
|
- Intelligent process management
|
|
10
10
|
- Customizable compiler support
|
|
11
11
|
- Memory management options
|
|
12
|
+
- Config file support (`tsx-strict.config.ts` / `tsxs.config.ts`)
|
|
12
13
|
|
|
13
14
|
## Installation
|
|
14
15
|
|
|
@@ -52,6 +53,40 @@ tsxs --no-type-check app.ts
|
|
|
52
53
|
| `--silent` | Suppress output | `false` |
|
|
53
54
|
| `--no-type-check` | Skip type checking (run tsx directly) | `false` |
|
|
54
55
|
|
|
56
|
+
## Config File
|
|
57
|
+
|
|
58
|
+
Create a `tsx-strict.config.ts` or `tsxs.config.ts` at your project root for persistent configuration. CLI args always take precedence over the config file.
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
import { defineConfig } from "tsx-strict/config";
|
|
62
|
+
|
|
63
|
+
export default defineConfig({
|
|
64
|
+
watch: true,
|
|
65
|
+
clear: true,
|
|
66
|
+
typeCheck: true,
|
|
67
|
+
compiler: "typescript/bin/tsc",
|
|
68
|
+
tscArgs: ["--strict"],
|
|
69
|
+
tsxArgs: ["--env-file=.env"],
|
|
70
|
+
maxNodeMem: "4096",
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Watch Options
|
|
75
|
+
|
|
76
|
+
`watch` can be `true` to use defaults, or an object for full control:
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import { defineConfig } from "tsx-strict/config";
|
|
80
|
+
|
|
81
|
+
export default defineConfig({
|
|
82
|
+
watch: {
|
|
83
|
+
include: ["src/**"],
|
|
84
|
+
ignore: ["**/*.test.ts", /generated/, (path) => path.includes("dist")],
|
|
85
|
+
extensions: ["ts", "tsx", "js"],
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
55
90
|
## How It Works
|
|
56
91
|
|
|
57
92
|
Runs `tsc --noEmit` for type checking and `tsx` for execution. Restarts tsx only when type checking passes and kills previous instances to prevent conflicts.
|
package/dist/cli.js
CHANGED
|
@@ -27,7 +27,8 @@ program
|
|
|
27
27
|
.option("-p, --path <path>", "tsconfig.json path", "tsconfig.json")
|
|
28
28
|
.option("--tsc-args <args...>", "Additional tsc arguments")
|
|
29
29
|
.option("--tsx-args <args...>", "Additional tsx arguments")
|
|
30
|
-
.option("--no-type-check", "Skip type checking (run tsx directly)", true)
|
|
30
|
+
.option("-n, --no-type-check", "Skip type checking (run tsx directly)", true)
|
|
31
|
+
.option("--maxNodeMem <maxNodeMem>", "Sets up max node memory", "4096")
|
|
31
32
|
.action(async (file, options) => {
|
|
32
33
|
try {
|
|
33
34
|
await (0, index_1.runTsxStrict)(file, options);
|
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;AAClC,gDAAwB;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACjE,CAAC;AACF,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,IAAI,CAAC,MAAM,CAAC;KACZ,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,uBAAuB,EAAE,UAAU,EAAE,oBAAoB,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAC;KAClE,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AACA,yCAAoC;AACpC,mCAAuC;AACvC,mBAAiB;AACjB,2BAAkC;AAClC,gDAAwB;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACjE,CAAC;AACF,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,IAAI,CAAC,MAAM,CAAC;KACZ,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,uBAAuB,EAAE,UAAU,EAAE,oBAAoB,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAC;KAClE,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,IAAI,CAAC;KAC5E,MAAM,CAAC,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,CAAC;KACtE,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;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler-provider.d.ts","sourceRoot":"","sources":["../src/compiler-provider.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,QAAQ,GAAE,WAAW,CAAC,SAAS,CAAmB,GACjD,MAAM,CA8CR;AAED,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED,wBAAgB,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAgBhD;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"compiler-provider.d.ts","sourceRoot":"","sources":["../src/compiler-provider.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,QAAQ,GAAE,WAAW,CAAC,SAAS,CAAmB,GACjD,MAAM,CA8CR;AAED,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED,wBAAgB,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAgBhD;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BzD"}
|
|
@@ -77,11 +77,11 @@ function isESM(filePath) {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
function getTscArgs(userFilePath) {
|
|
80
|
-
const args = [
|
|
80
|
+
const args = [];
|
|
81
81
|
if (hasTsConfig())
|
|
82
82
|
return args;
|
|
83
83
|
const module = isESM(userFilePath) ? "ES2020" : "commonjs";
|
|
84
|
-
args.push("--target", "ES2020", "--lib", "ES2020,DOM", "--strict", "--module", module, "--esModuleInterop", "--skipLibCheck", "--forceConsistentCasingInFileNames", "--moduleResolution", "node", "--resolveJsonModule", "--tsBuildInfoFile", "--incremental");
|
|
84
|
+
args.push(userFilePath, "--target", "ES2020", "--lib", "ES2020,DOM", "--strict", "--module", module, "--esModuleInterop", "--skipLibCheck", "--forceConsistentCasingInFileNames", "--moduleResolution", "node", "--resolveJsonModule", "--tsBuildInfoFile", "--incremental");
|
|
85
85
|
return args;
|
|
86
86
|
}
|
|
87
87
|
//# sourceMappingURL=compiler-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler-provider.js","sourceRoot":"","sources":["../src/compiler-provider.ts"],"names":[],"mappings":";;;;;AAGA,0CAiDC;AAED,kCAGC;AAED,sBAgBC;AAED,
|
|
1
|
+
{"version":3,"file":"compiler-provider.js","sourceRoot":"","sources":["../src/compiler-provider.ts"],"names":[],"mappings":";;;;;AAGA,0CAiDC;AAED,kCAGC;AAED,sBAgBC;AAED,gCA2BC;AAxGD,gDAAwB;AACxB,4CAAoB;AAEpB,SAAgB,eAAe,CAC7B,WAA0B,EAC1B,WAAmC,OAAO,CAAC,OAAO;IAElD,IAAI,CAAC,WAAW;QAAE,WAAW,GAAG,oBAAoB,CAAC;IAErD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,cAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAEzC,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QACd,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,MAAM,WAAW,GAAG;QAClB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,uBAAuB,OAAO,CAAC,OAAO,mBAAmB;QAC5E,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,+BAA+B;QAClD,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe;QAClC,6BAA6B;QAC7B,uBAAuB;KACxB,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,OAAO,CAAC,KAAK,CAAC,0CAA0C,WAAW,GAAG,CAAC,CAAC;IACxE,OAAO,CAAC,KAAK,CACX,wEAAwE,CACzE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAgB,WAAW;IACzB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC/D,OAAO,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,KAAK,CAAC,QAAiB;IACrC,uBAAuB;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,CAAC,iBAAiB;IACjC,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAE3D,IAAI,CAAC,IAAI,CACP,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EAChB,oCAAoC,EACpC,oBAAoB,EACpB,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,CAChB,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProgramOptions } from ".";
|
|
2
|
+
export type WatchOptions = {
|
|
3
|
+
include?: string[];
|
|
4
|
+
ignore?: (string | RegExp | ((path: string) => boolean))[];
|
|
5
|
+
extensions?: string[];
|
|
6
|
+
};
|
|
7
|
+
export type TsxStrictConfig = ProgramOptions & {
|
|
8
|
+
watch?: boolean | WatchOptions;
|
|
9
|
+
};
|
|
10
|
+
export declare function defineConfig(config: TsxStrictConfig): TsxStrictConfig;
|
|
11
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAErE"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAYA,oCAEC;AAFD,SAAgB,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/file-watcher.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { TsxStrictConfig } from "./config";
|
|
2
|
+
export declare function setupFileWatcher(restartTsx: () => void, config?: Partial<TsxStrictConfig>): void;
|
|
2
3
|
export declare function stopFileWatcher(): void;
|
|
3
4
|
//# sourceMappingURL=file-watcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAgB,MAAM,UAAU,CAAC;AAIzD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,IAAI,EACtB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,QA8DtC;AAED,wBAAgB,eAAe,SAK9B"}
|
package/dist/file-watcher.js
CHANGED
|
@@ -9,13 +9,16 @@ const chokidar_1 = __importDefault(require("chokidar"));
|
|
|
9
9
|
const sheu_1 = __importDefault(require("./sheu"));
|
|
10
10
|
const _1 = require(".");
|
|
11
11
|
let fileWatcher = null;
|
|
12
|
-
function setupFileWatcher(restartTsx) {
|
|
12
|
+
function setupFileWatcher(restartTsx, config = {}) {
|
|
13
13
|
if (fileWatcher) {
|
|
14
14
|
fileWatcher.close();
|
|
15
15
|
fileWatcher = null;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const watchOptions = typeof config.watch === "object"
|
|
18
|
+
? config.watch
|
|
19
|
+
: {};
|
|
20
|
+
fileWatcher = chokidar_1.default.watch(watchOptions.include ?? [process.cwd()], {
|
|
21
|
+
ignored: [/node_modules/, /.build/, /dist/, ...(watchOptions.ignore ?? [])],
|
|
19
22
|
ignoreInitial: true,
|
|
20
23
|
persistent: true,
|
|
21
24
|
});
|
|
@@ -23,7 +26,9 @@ function setupFileWatcher(restartTsx) {
|
|
|
23
26
|
fileWatcher.on("all", (event, path) => {
|
|
24
27
|
if (event === "ready" ||
|
|
25
28
|
isRestarting ||
|
|
26
|
-
(
|
|
29
|
+
(!(watchOptions.extensions
|
|
30
|
+
? new RegExp(`\\.(${watchOptions.extensions.join("|")})$`).test(path)
|
|
31
|
+
: /\.(ts|js|jsx|tsx|mts|cts|mjs|cjs)$/.test(path)) &&
|
|
27
32
|
!path.includes(".env")))
|
|
28
33
|
return;
|
|
29
34
|
isRestarting = true;
|
package/dist/file-watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":";;;;;AAOA,4CAgEC;AAED,0CAKC;AA9ED,wDAA+C;AAC/C,kDAA0B;AAC1B,wBAA8B;AAG9B,IAAI,WAAW,GAAqB,IAAI,CAAC;AAEzC,SAAgB,gBAAgB,CAC9B,UAAsB,EACtB,SAAmC,EAAE;IAErC,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAC9B,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAE,EAA4B,CAAC;IAEpC,WAAW,GAAG,kBAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE;QACpE,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC3E,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpC,IACE,KAAK,KAAK,OAAO;YACjB,YAAY;YACZ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU;gBACxB,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrE,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEzB,OAAO;QAET,YAAY,GAAG,IAAI,CAAC;QACpB,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;QACX,MAAM,MAAM,GAAG,IAAA,YAAS,GAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,WAAW;YACtB,cAAI,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,EAAE;gBACvD,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;;YAEH,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,cAAI,CAAC,IAAI,CACP,+DAA+D,EAC/D,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,cAAI,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,EAAE;wBACvD,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QAEV,UAAU,CAAC,GAAG,EAAE;YACd,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
2
|
export declare let tsxKiller: (() => Promise<void>) | null;
|
|
3
3
|
export declare function setTsxKiller(value: typeof tsxKiller): void;
|
|
4
4
|
export declare function getTsxKiller(): (() => Promise<void>) | null;
|
|
@@ -8,5 +8,16 @@ export declare let status: {
|
|
|
8
8
|
export declare function getStatus(): {
|
|
9
9
|
hasTsErrors?: boolean;
|
|
10
10
|
} & Record<string, any>;
|
|
11
|
-
export
|
|
11
|
+
export type ProgramOptions = {
|
|
12
|
+
watch: boolean;
|
|
13
|
+
include?: string | undefined;
|
|
14
|
+
clear: boolean;
|
|
15
|
+
compiler: string;
|
|
16
|
+
path: string;
|
|
17
|
+
tscArgs?: string[] | undefined;
|
|
18
|
+
tsxArgs?: string[] | undefined;
|
|
19
|
+
typeCheck: boolean;
|
|
20
|
+
maxNodeMem: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function runTsxStrict(file: string, options: ProgramOptions): Promise<void>;
|
|
12
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
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,iBAsJvE"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
2
|
"use strict";
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
@@ -50,6 +50,7 @@ const readline_1 = require("readline");
|
|
|
50
50
|
const killer_1 = require("./killer");
|
|
51
51
|
const compiler_provider_1 = require("./compiler-provider");
|
|
52
52
|
const file_watcher_1 = require("./file-watcher");
|
|
53
|
+
const config_loader_1 = require("./utils/config-loader");
|
|
53
54
|
let firstTime = true;
|
|
54
55
|
exports.tsxKiller = null;
|
|
55
56
|
function setTsxKiller(value) {
|
|
@@ -63,20 +64,15 @@ function getStatus() {
|
|
|
63
64
|
return exports.status;
|
|
64
65
|
}
|
|
65
66
|
async function runTsxStrict(file, options) {
|
|
66
|
-
const
|
|
67
|
+
const fileConfig = await (0, config_loader_1.loadConfig)();
|
|
68
|
+
const { clear = true, typeCheck = true, compiler, watch = false, tscArgs = [], tsxArgs = [], maxNodeMem, } = { ...options, ...fileConfig };
|
|
67
69
|
exports.status = { ...options, ...exports.status };
|
|
68
70
|
function runTsxCommand() {
|
|
69
71
|
const tsxArgsArray = [];
|
|
70
72
|
tsxArgsArray.push(file);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
.split(/\s+/)
|
|
75
|
-
.filter((arg) => arg.length > 0);
|
|
76
|
-
const uniqueArgs = Array.from(new Set([...tsxArgsArray, ...additionalArgs]));
|
|
77
|
-
tsxArgsArray.length = 0;
|
|
78
|
-
tsxArgsArray.push(...uniqueArgs);
|
|
79
|
-
}
|
|
73
|
+
const uniqueArgs = Array.from(new Set([...tsxArgsArray, ...tsxArgs]));
|
|
74
|
+
tsxArgsArray.length = 0;
|
|
75
|
+
tsxArgsArray.push(...uniqueArgs);
|
|
80
76
|
const tsxCommand = `${process.env.npm_lifecycle_script === "npx" ? "npx " : ""}tsx ${tsxArgsArray.join(" ")}`;
|
|
81
77
|
if (exports.tsxKiller)
|
|
82
78
|
((0, exports.tsxKiller)?.()).then(() => (exports.tsxKiller = (0, runner_1.run)(tsxCommand)));
|
|
@@ -93,15 +89,9 @@ async function runTsxStrict(file, options) {
|
|
|
93
89
|
tscArgsArray.push("--noEmit");
|
|
94
90
|
if (watch)
|
|
95
91
|
tscArgsArray.push("--watch");
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
.split(/\s+/)
|
|
100
|
-
.filter((arg) => arg.length > 0);
|
|
101
|
-
const uniqueArgs = Array.from(new Set([...tscArgsArray, ...additionalArgs]));
|
|
102
|
-
tscArgsArray.length = 0;
|
|
103
|
-
tscArgsArray.push(...uniqueArgs);
|
|
104
|
-
}
|
|
92
|
+
const uniqueArgs = Array.from(new Set([...tscArgsArray, ...tscArgs]));
|
|
93
|
+
tscArgsArray.length = 0;
|
|
94
|
+
tscArgsArray.push(...uniqueArgs);
|
|
105
95
|
const tscProcess = (0, cross_spawn_1.default)("node", [...nodeArgs, ...tscArgsArray]);
|
|
106
96
|
if (!tscProcess.stdout)
|
|
107
97
|
throw new Error("Unable to read Typescript stdout");
|
|
@@ -129,7 +119,7 @@ async function runTsxStrict(file, options) {
|
|
|
129
119
|
});
|
|
130
120
|
}
|
|
131
121
|
if (watch)
|
|
132
|
-
(0, file_watcher_1.setupFileWatcher)(restartTsx);
|
|
122
|
+
(0, file_watcher_1.setupFileWatcher)(restartTsx, fileConfig);
|
|
133
123
|
const rl = (0, readline_1.createInterface)({ input: tscProcess.stdout });
|
|
134
124
|
rl.on("line", function (line) {
|
|
135
125
|
(0, stdout_manipulator_1.print)(line, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAa5C,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAWpE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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.loadConfig = loadConfig;
|
|
37
|
+
const fs_1 = require("fs");
|
|
38
|
+
const path_1 = require("path");
|
|
39
|
+
const CONFIG_FILES = [
|
|
40
|
+
"tsx-strict.config.ts",
|
|
41
|
+
"tsx-strict.config.js",
|
|
42
|
+
"tsx-strict.config.mjs",
|
|
43
|
+
"tsxs.config.ts",
|
|
44
|
+
"tsxs.config.js",
|
|
45
|
+
"tsxs.config.mjs",
|
|
46
|
+
];
|
|
47
|
+
let config;
|
|
48
|
+
async function loadConfig() {
|
|
49
|
+
if (config)
|
|
50
|
+
return config;
|
|
51
|
+
for (const file of CONFIG_FILES) {
|
|
52
|
+
const fullPath = (0, path_1.join)(process.cwd(), file);
|
|
53
|
+
if ((0, fs_1.existsSync)(fullPath)) {
|
|
54
|
+
const mod = await Promise.resolve(`${fullPath}`).then(s => __importStar(require(s)));
|
|
55
|
+
config = mod.default ?? mod;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=config-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,gCAWC;AA1BD,2BAAgC;AAChC,+BAA4B;AAG5B,MAAM,YAAY,GAAG;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF,IAAI,MAAuB,CAAC;AAErB,KAAK,UAAU,UAAU;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,yBAAa,QAAQ,uCAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tsx-strict",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "TSX runner with automatic Type-checking",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
"tsx-strict": "./bin/tsx-strict.js",
|
|
9
9
|
"tsxs": "./bin/tsx-strict.js"
|
|
10
10
|
},
|
|
11
|
+
"exports": {
|
|
12
|
+
"./config": {
|
|
13
|
+
"types": "./dist/config.d.ts",
|
|
14
|
+
"import": "./dist/config.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
11
17
|
"scripts": {
|
|
12
18
|
"build": "npx rimraf dist && tsc",
|
|
13
19
|
"prepublishOnly": "npm run build",
|
|
@@ -35,7 +41,7 @@
|
|
|
35
41
|
"bugs": {
|
|
36
42
|
"url": "https://github.com/uanela/tsx-strict/issues"
|
|
37
43
|
},
|
|
38
|
-
"homepage": "https://github.com/uanela/tsx-strict
|
|
44
|
+
"homepage": "https://github.com/uanela/tsx-strict",
|
|
39
45
|
"files": ["dist", "bin", "README.md", "LICENSE"],
|
|
40
46
|
"engines": {
|
|
41
47
|
"node": ">=20.0.0"
|
|
@@ -44,6 +50,7 @@
|
|
|
44
50
|
"tsx": "^4.20.5"
|
|
45
51
|
},
|
|
46
52
|
"devDependencies": {
|
|
53
|
+
"@commander-js/extra-typings": "^14.0.0",
|
|
47
54
|
"@types/cross-spawn": "^6.0.6",
|
|
48
55
|
"@types/jest": "^30.0.0",
|
|
49
56
|
"@types/node": "^18.0.0",
|