ttsc 0.15.2 → 0.15.4
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/lib/TtscCompiler.js +4 -1
- package/lib/TtscCompiler.js.map +1 -1
- package/lib/compiler/internal/project/readProjectConfig.js +4 -1
- package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.d.ts +1 -0
- package/lib/compiler/internal/transformProjectInMemory.js +36 -0
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +14 -0
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runtimeHooks.js +361 -18
- package/lib/launcher/internal/runtimeHooks.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.js +256 -1
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscCompilerTransformation.d.ts +18 -0
- package/package.json +9 -9
- package/src/TtscCompiler.ts +5 -1
- package/src/compiler/internal/project/readProjectConfig.ts +5 -1
- package/src/compiler/internal/transformProjectInMemory.ts +46 -0
- package/src/launcher/internal/prepareExecution.ts +16 -0
- package/src/launcher/internal/runtimeHooks.ts +468 -27
- package/src/plugin/internal/loadProjectPlugins.ts +292 -1
- package/src/structures/ITtscCompilerTransformation.ts +20 -0
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.loadProjectPlugins = loadProjectPlugins;
|
|
7
7
|
exports.hasProjectPluginEntries = hasProjectPluginEntries;
|
|
8
|
+
const node_child_process_1 = __importDefault(require("node:child_process"));
|
|
8
9
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
10
|
const node_module_1 = require("node:module");
|
|
11
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
10
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
13
|
const paths_1 = require("../../compiler/internal/paths");
|
|
12
14
|
const readProjectConfig_1 = require("../../compiler/internal/project/readProjectConfig");
|
|
@@ -426,7 +428,7 @@ function loadPluginEntry(entry, context, baseDir) {
|
|
|
426
428
|
throw new Error(`ttsc: plugin entry is missing a string "transform" field`);
|
|
427
429
|
}
|
|
428
430
|
const request = resolvePluginRequest(specifier, baseDir);
|
|
429
|
-
const mod =
|
|
431
|
+
const mod = requirePluginEntry(request, context);
|
|
430
432
|
const candidate = mod.createTtscPlugin ??
|
|
431
433
|
mod.default ??
|
|
432
434
|
mod.plugin ??
|
|
@@ -446,6 +448,108 @@ function loadPluginEntry(entry, context, baseDir) {
|
|
|
446
448
|
throw new Error(`ttsc: plugin "${specifier}" does not export a valid ttsc plugin`);
|
|
447
449
|
});
|
|
448
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* Require a plugin descriptor entry, falling back to `ttsx` when Node cannot
|
|
453
|
+
* load a `.ts` source entry directly.
|
|
454
|
+
*
|
|
455
|
+
* A descriptor entry that is `.ts` source — especially a package root that
|
|
456
|
+
* re-exports a runtime alongside the descriptor — fails Node's loader on its
|
|
457
|
+
* first extensionless import or un-stripped type, and its imports can fan out
|
|
458
|
+
* into a whole transitive graph of source packages. Rather than reimplement
|
|
459
|
+
* that graph build, run the entry through `ttsx`, which already builds each
|
|
460
|
+
* `.ts` dependency on demand. The run is forced plugins-off across the whole
|
|
461
|
+
* graph (`--no-plugins` for the entry, `TTSC_PLUGIN_DESCRIPTOR_LOAD` for every
|
|
462
|
+
* dependency), so the descriptor's own — possibly self-hosting — transform
|
|
463
|
+
* never runs and cannot deadlock. A package that loads directly (a compiled
|
|
464
|
+
* descriptor, or Bun's native `.ts`) never reaches the fallback.
|
|
465
|
+
*/
|
|
466
|
+
function requirePluginEntry(request, context) {
|
|
467
|
+
try {
|
|
468
|
+
return require(request);
|
|
469
|
+
}
|
|
470
|
+
catch (error) {
|
|
471
|
+
if (!TS_SOURCE_PATTERN.test(request)) {
|
|
472
|
+
throw error;
|
|
473
|
+
}
|
|
474
|
+
const descriptor = loadDescriptorViaTtsx(request, context);
|
|
475
|
+
if (descriptor === undefined) {
|
|
476
|
+
throw error;
|
|
477
|
+
}
|
|
478
|
+
return { default: descriptor };
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
const TS_SOURCE_PATTERN = /\.(?:[cm]?ts|tsx)$/i;
|
|
482
|
+
/**
|
|
483
|
+
* Evaluate a `.ts` plugin descriptor entry in a child `ttsx` process and return
|
|
484
|
+
* the descriptor it produces. A generated shim imports the entry, invokes its
|
|
485
|
+
* factory with `context`, and writes the descriptor as JSON; `ttsx` runs the
|
|
486
|
+
* shim with plugins disabled across the whole graph. Returns `undefined` when
|
|
487
|
+
* `ttsx` is unavailable, so the caller can rethrow the original load error.
|
|
488
|
+
*/
|
|
489
|
+
function loadDescriptorViaTtsx(request, context) {
|
|
490
|
+
const node = process.env.TTSC_NODE_BINARY ?? process.execPath;
|
|
491
|
+
const ttsx = process.env.TTSC_TTSX_BINARY;
|
|
492
|
+
if (ttsx === undefined || ttsx.length === 0) {
|
|
493
|
+
return undefined;
|
|
494
|
+
}
|
|
495
|
+
const dir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), "ttsc-plugin-descriptor-"));
|
|
496
|
+
const out = node_path_1.default.join(dir, "descriptor.json");
|
|
497
|
+
const shim = node_path_1.default.join(dir, "load-descriptor.mts");
|
|
498
|
+
// ttsx type-checks and builds the shim's own project, so it needs a tsconfig
|
|
499
|
+
// to anchor on; a minimal one is enough (the shim is `@ts-nocheck`).
|
|
500
|
+
node_fs_1.default.writeFileSync(node_path_1.default.join(dir, "tsconfig.json"), JSON.stringify({
|
|
501
|
+
compilerOptions: {
|
|
502
|
+
module: "nodenext",
|
|
503
|
+
moduleResolution: "nodenext",
|
|
504
|
+
skipLibCheck: true,
|
|
505
|
+
target: "es2022",
|
|
506
|
+
},
|
|
507
|
+
}));
|
|
508
|
+
node_fs_1.default.writeFileSync(shim, [
|
|
509
|
+
`// @ts-nocheck`,
|
|
510
|
+
`import { writeFileSync } from "node:fs";`,
|
|
511
|
+
`import { pathToFileURL } from "node:url";`,
|
|
512
|
+
`const mod = await import(pathToFileURL(process.env.TTSC_PLUGIN_ENTRY).href);`,
|
|
513
|
+
`const context = JSON.parse(process.env.TTSC_PLUGIN_CONTEXT);`,
|
|
514
|
+
`const candidate = mod.createTtscPlugin ?? mod.default ?? mod.plugin ?? mod;`,
|
|
515
|
+
`const descriptor =`,
|
|
516
|
+
` typeof candidate === "function" ? candidate(context) : candidate;`,
|
|
517
|
+
`writeFileSync(process.env.TTSC_PLUGIN_DESCRIPTOR_OUT, JSON.stringify(descriptor));`,
|
|
518
|
+
``,
|
|
519
|
+
].join("\n"));
|
|
520
|
+
try {
|
|
521
|
+
const result = node_child_process_1.default.spawnSync(node, [ttsx, "--no-plugins", shim], {
|
|
522
|
+
cwd: context.projectRoot,
|
|
523
|
+
encoding: "utf8",
|
|
524
|
+
env: {
|
|
525
|
+
...process.env,
|
|
526
|
+
TTSC_PLUGIN_CONTEXT: JSON.stringify({
|
|
527
|
+
binary: context.binary,
|
|
528
|
+
cwd: context.cwd,
|
|
529
|
+
plugin: context.plugin,
|
|
530
|
+
projectRoot: context.projectRoot,
|
|
531
|
+
tsconfig: context.tsconfig,
|
|
532
|
+
}),
|
|
533
|
+
TTSC_PLUGIN_DESCRIPTOR_LOAD: "1",
|
|
534
|
+
TTSC_PLUGIN_DESCRIPTOR_OUT: out,
|
|
535
|
+
TTSC_PLUGIN_ENTRY: request,
|
|
536
|
+
},
|
|
537
|
+
windowsHide: true,
|
|
538
|
+
});
|
|
539
|
+
if (result.status !== 0 || !node_fs_1.default.existsSync(out)) {
|
|
540
|
+
throw new Error([
|
|
541
|
+
`ttsc: failed to load plugin descriptor "${request}" through ttsx`,
|
|
542
|
+
result.stderr || result.stdout || "",
|
|
543
|
+
]
|
|
544
|
+
.filter((line) => line.trim().length !== 0)
|
|
545
|
+
.join("\n"));
|
|
546
|
+
}
|
|
547
|
+
return JSON.parse(node_fs_1.default.readFileSync(out, "utf8"));
|
|
548
|
+
}
|
|
549
|
+
finally {
|
|
550
|
+
node_fs_1.default.rmSync(dir, { force: true, recursive: true });
|
|
551
|
+
}
|
|
552
|
+
}
|
|
449
553
|
function withPluginLoaderEnv(run) {
|
|
450
554
|
const previousNode = process.env.TTSC_NODE_BINARY;
|
|
451
555
|
const previousTtsx = process.env.TTSC_TTSX_BINARY;
|
|
@@ -625,8 +729,159 @@ function resolvePluginRequest(specifier, projectRoot) {
|
|
|
625
729
|
if (isRelativePluginSpecifier(specifier)) {
|
|
626
730
|
return resolveRealPath(node_path_1.default.resolve(projectRoot, specifier));
|
|
627
731
|
}
|
|
732
|
+
// A package whose main `.` entry is a runtime barrel cannot double as a
|
|
733
|
+
// plugin descriptor entry: loading it during plugin bootstrap drags the
|
|
734
|
+
// runtime in (and, for a self-hosting transform like typia, deadlocks —
|
|
735
|
+
// loading the transform would have to build the runtime the transform
|
|
736
|
+
// emits). Such a package opts in with a `ttsc` export condition that points
|
|
737
|
+
// at a runtime-free descriptor; honour it here, scoped to plugin resolution.
|
|
738
|
+
const conditioned = resolvePluginExportCondition(specifier, projectRoot);
|
|
739
|
+
if (conditioned !== null) {
|
|
740
|
+
return conditioned;
|
|
741
|
+
}
|
|
628
742
|
return resolveRealPath(require.resolve(specifier, { paths: [projectRoot] }));
|
|
629
743
|
}
|
|
744
|
+
/** Condition names ttsc activates when resolving a plugin entry's package `exports`. */
|
|
745
|
+
const PLUGIN_EXPORT_CONDITIONS = [
|
|
746
|
+
"ttsc",
|
|
747
|
+
"node",
|
|
748
|
+
"require",
|
|
749
|
+
"default",
|
|
750
|
+
];
|
|
751
|
+
/**
|
|
752
|
+
* Resolve a bare plugin specifier under the dedicated `ttsc` export condition.
|
|
753
|
+
*
|
|
754
|
+
* A package whose `.` entry is a runtime barrel (e.g. `typia`, whose index
|
|
755
|
+
* re-exports the whole validator runtime) cannot serve as the plugin descriptor
|
|
756
|
+
* entry: loading it during plugin bootstrap pulls the runtime in and, for a
|
|
757
|
+
* self-hosting transform, forms a cycle. Such a package opts in by adding a
|
|
758
|
+
* `ttsc` condition to its `exports` that points at a runtime-free descriptor:
|
|
759
|
+
*
|
|
760
|
+
* "exports": { ".": { "ttsc": "./lib/transform.js", "default": "./lib/index.js" } }
|
|
761
|
+
*
|
|
762
|
+
* The condition is honoured ONLY here, scoped to plugin-entry resolution. A
|
|
763
|
+
* process-wide `--conditions=ttsc` would also redirect the package's normal
|
|
764
|
+
* `import`s to the descriptor and break its runtime, so it must not be used.
|
|
765
|
+
*
|
|
766
|
+
* Returns an absolute path when the package opts in, or `null` to fall back to
|
|
767
|
+
* the normal `require.resolve` — no `exports`, no `ttsc` branch for the
|
|
768
|
+
* requested subpath, or an unresolved/missing target — so a package that does
|
|
769
|
+
* not opt in resolves exactly as it did before.
|
|
770
|
+
*/
|
|
771
|
+
function resolvePluginExportCondition(specifier, baseDir) {
|
|
772
|
+
const split = splitPackageSpecifier(specifier);
|
|
773
|
+
if (split === null) {
|
|
774
|
+
return null;
|
|
775
|
+
}
|
|
776
|
+
const packageJson = resolveDependencyPackageJson(split.packageName, baseDir);
|
|
777
|
+
if (packageJson === undefined) {
|
|
778
|
+
return null;
|
|
779
|
+
}
|
|
780
|
+
const exportsField = readPackageManifest(packageJson)?.exports;
|
|
781
|
+
if (exportsField === undefined) {
|
|
782
|
+
return null;
|
|
783
|
+
}
|
|
784
|
+
const target = selectExportTarget(exportsField, split.subpath);
|
|
785
|
+
// Only take over when the package actually opts in with a `ttsc` condition
|
|
786
|
+
// for this subpath; otherwise defer so behaviour is unchanged for every
|
|
787
|
+
// package that does not.
|
|
788
|
+
if (target === undefined || !containsCondition(target, "ttsc")) {
|
|
789
|
+
return null;
|
|
790
|
+
}
|
|
791
|
+
const resolved = resolveConditionalTarget(target, PLUGIN_EXPORT_CONDITIONS);
|
|
792
|
+
if (resolved === null || !resolved.startsWith("./")) {
|
|
793
|
+
return null;
|
|
794
|
+
}
|
|
795
|
+
const file = node_path_1.default.resolve(node_path_1.default.dirname(packageJson), resolved);
|
|
796
|
+
return node_fs_1.default.existsSync(file) ? resolveRealPath(file) : null;
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* Split a bare specifier into its package name and the `.`-prefixed subpath it
|
|
800
|
+
* addresses (`"typia"` → `.`, `"typia/lib/transform"` → `./lib/transform`,
|
|
801
|
+
* `"@scope/pkg/sub"` → `./sub`). Returns `null` for a relative/empty specifier
|
|
802
|
+
* or a malformed scoped name.
|
|
803
|
+
*/
|
|
804
|
+
function splitPackageSpecifier(specifier) {
|
|
805
|
+
if (specifier.length === 0 || specifier.startsWith(".")) {
|
|
806
|
+
return null;
|
|
807
|
+
}
|
|
808
|
+
const segments = specifier.split("/");
|
|
809
|
+
const nameSegments = specifier.startsWith("@") ? 2 : 1;
|
|
810
|
+
if (segments.length < nameSegments) {
|
|
811
|
+
return null;
|
|
812
|
+
}
|
|
813
|
+
const rest = segments.slice(nameSegments).join("/");
|
|
814
|
+
return {
|
|
815
|
+
packageName: segments.slice(0, nameSegments).join("/"),
|
|
816
|
+
subpath: rest.length === 0 ? "." : `./${rest}`,
|
|
817
|
+
};
|
|
818
|
+
}
|
|
819
|
+
/**
|
|
820
|
+
* The `exports` entry addressing `subpath`, applying Node's rule that an
|
|
821
|
+
* `exports` value with no `.`-prefixed keys is sugar for the `.` target.
|
|
822
|
+
* Returns `undefined` when no entry addresses the subpath.
|
|
823
|
+
*/
|
|
824
|
+
function selectExportTarget(exportsField, subpath) {
|
|
825
|
+
if (typeof exportsField === "string" || Array.isArray(exportsField)) {
|
|
826
|
+
return subpath === "." ? exportsField : undefined;
|
|
827
|
+
}
|
|
828
|
+
if (typeof exportsField !== "object" || exportsField === null) {
|
|
829
|
+
return undefined;
|
|
830
|
+
}
|
|
831
|
+
const record = exportsField;
|
|
832
|
+
const isSubpathMap = Object.keys(record).some((key) => key === "." || key.startsWith("./"));
|
|
833
|
+
if (!isSubpathMap) {
|
|
834
|
+
// Conditions object: the whole value is the `.` target.
|
|
835
|
+
return subpath === "." ? exportsField : undefined;
|
|
836
|
+
}
|
|
837
|
+
return subpath in record ? record[subpath] : undefined;
|
|
838
|
+
}
|
|
839
|
+
/** True when condition key `condition` appears anywhere in a (nested) target. */
|
|
840
|
+
function containsCondition(target, condition) {
|
|
841
|
+
if (Array.isArray(target)) {
|
|
842
|
+
return target.some((entry) => containsCondition(entry, condition));
|
|
843
|
+
}
|
|
844
|
+
if (typeof target !== "object" || target === null) {
|
|
845
|
+
return false;
|
|
846
|
+
}
|
|
847
|
+
return Object.entries(target).some(([key, value]) => key === condition || containsCondition(value, condition));
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Resolve a (possibly conditional) export target to a relative file string,
|
|
851
|
+
* honouring `conditions` — a string is the target, an array is a fallback list,
|
|
852
|
+
* an object picks the first key in the active condition set (package key order
|
|
853
|
+
* wins, as Node does), and an explicit `null` blocks the target.
|
|
854
|
+
*/
|
|
855
|
+
function resolveConditionalTarget(target, conditions) {
|
|
856
|
+
if (typeof target === "string") {
|
|
857
|
+
return target;
|
|
858
|
+
}
|
|
859
|
+
if (target === null || target === undefined) {
|
|
860
|
+
return null;
|
|
861
|
+
}
|
|
862
|
+
if (Array.isArray(target)) {
|
|
863
|
+
for (const entry of target) {
|
|
864
|
+
const resolved = resolveConditionalTarget(entry, conditions);
|
|
865
|
+
if (resolved !== null) {
|
|
866
|
+
return resolved;
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
return null;
|
|
870
|
+
}
|
|
871
|
+
if (typeof target !== "object") {
|
|
872
|
+
return null;
|
|
873
|
+
}
|
|
874
|
+
const active = new Set(conditions);
|
|
875
|
+
for (const [key, value] of Object.entries(target)) {
|
|
876
|
+
if (active.has(key)) {
|
|
877
|
+
const resolved = resolveConditionalTarget(value, conditions);
|
|
878
|
+
if (resolved !== null) {
|
|
879
|
+
return resolved;
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
return null;
|
|
884
|
+
}
|
|
630
885
|
function resolveRealPath(location) {
|
|
631
886
|
try {
|
|
632
887
|
return node_fs_1.default.realpathSync(location);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadProjectPlugins.js","sourceRoot":"","sources":["../../../src/plugin/internal/loadProjectPlugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loadProjectPlugins.js","sourceRoot":"","sources":["../../../src/plugin/internal/loadProjectPlugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,18 @@ export declare namespace ITtscCompilerTransformation {
|
|
|
24
24
|
* Program.
|
|
25
25
|
*/
|
|
26
26
|
typescript: Record<string, string>;
|
|
27
|
+
/**
|
|
28
|
+
* Source files the transform consulted per transformed file, keyed the same
|
|
29
|
+
* way as {@link typescript}. Each entry lists the project-relative or
|
|
30
|
+
* absolute paths whose content influenced that output beyond the file
|
|
31
|
+
* itself — e.g. the declaration files a type-driven code generator read.
|
|
32
|
+
*
|
|
33
|
+
* Optional: only present when the transform native source reported a
|
|
34
|
+
* `dependencies` object in its stdout envelope. Bundler adapters use it to
|
|
35
|
+
* register watch files so type-only imports participate in HMR
|
|
36
|
+
* invalidation. ttsc passes the paths through verbatim.
|
|
37
|
+
*/
|
|
38
|
+
dependencies?: Record<string, string[]>;
|
|
27
39
|
}
|
|
28
40
|
/** Source-to-source transformation result that completed with diagnostics. */
|
|
29
41
|
interface IFailure {
|
|
@@ -39,6 +51,12 @@ export declare namespace ITtscCompilerTransformation {
|
|
|
39
51
|
typescript: Record<string, string>;
|
|
40
52
|
/** Diagnostics reported during transformation. */
|
|
41
53
|
diagnostics: ITtscCompilerDiagnostic[];
|
|
54
|
+
/**
|
|
55
|
+
* Source files the transform consulted per transformed file. Same shape and
|
|
56
|
+
* semantics as {@link ISuccess.dependencies}; may be partial when the
|
|
57
|
+
* transform did not complete its pass.
|
|
58
|
+
*/
|
|
59
|
+
dependencies?: Record<string, string[]>;
|
|
42
60
|
}
|
|
43
61
|
/** Unexpected host-level error during transformation. */
|
|
44
62
|
interface IException {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ttsc",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
4
4
|
"description": "General-purpose TypeScript-Go compiler, runtime, plugin host, and LSP host.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -28,17 +28,17 @@
|
|
|
28
28
|
"homepage": "https://ttsc.dev",
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^25.3.0",
|
|
31
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
31
|
+
"@typescript/native-preview": "7.0.0-dev.20260615.1",
|
|
32
32
|
"rimraf": "^6.1.2"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@ttsc/linux-x64": "0.15.
|
|
36
|
-
"@ttsc/linux-
|
|
37
|
-
"@ttsc/
|
|
38
|
-
"@ttsc/
|
|
39
|
-
"@ttsc/
|
|
40
|
-
"@ttsc/win32-
|
|
41
|
-
"@ttsc/
|
|
35
|
+
"@ttsc/linux-x64": "0.15.4",
|
|
36
|
+
"@ttsc/linux-arm": "0.15.4",
|
|
37
|
+
"@ttsc/linux-arm64": "0.15.4",
|
|
38
|
+
"@ttsc/darwin-x64": "0.15.4",
|
|
39
|
+
"@ttsc/darwin-arm64": "0.15.4",
|
|
40
|
+
"@ttsc/win32-x64": "0.15.4",
|
|
41
|
+
"@ttsc/win32-arm64": "0.15.4"
|
|
42
42
|
},
|
|
43
43
|
"sideEffects": false,
|
|
44
44
|
"files": [
|
package/src/TtscCompiler.ts
CHANGED
|
@@ -236,6 +236,7 @@ interface ProjectResult {
|
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
interface ProjectTransformation {
|
|
239
|
+
dependencies?: Record<string, string[]>;
|
|
239
240
|
result: TtscBuildResult;
|
|
240
241
|
typescript: Record<string, string>;
|
|
241
242
|
}
|
|
@@ -362,17 +363,20 @@ function createProcessDiagnostic(
|
|
|
362
363
|
function toCompilerTransformation(
|
|
363
364
|
project: ProjectTransformation,
|
|
364
365
|
): ITtscCompilerTransformation {
|
|
365
|
-
const { result, typescript } = project;
|
|
366
|
+
const { dependencies, result, typescript } = project;
|
|
367
|
+
const dependencyField = dependencies === undefined ? {} : { dependencies };
|
|
366
368
|
if (result.status === 0 && !hasErrorDiagnostics(result.diagnostics)) {
|
|
367
369
|
return {
|
|
368
370
|
...(result.diagnostics.length === 0
|
|
369
371
|
? {}
|
|
370
372
|
: { diagnostics: result.diagnostics }),
|
|
373
|
+
...dependencyField,
|
|
371
374
|
type: "success",
|
|
372
375
|
typescript,
|
|
373
376
|
};
|
|
374
377
|
}
|
|
375
378
|
return {
|
|
379
|
+
...dependencyField,
|
|
376
380
|
diagnostics:
|
|
377
381
|
result.diagnostics.length === 0
|
|
378
382
|
? [createProcessDiagnostic(result)]
|
|
@@ -299,7 +299,11 @@ function isRelativeSpecifier(specifier: string): boolean {
|
|
|
299
299
|
* commas before handing off to `JSON.parse`.
|
|
300
300
|
*/
|
|
301
301
|
function parseJsonc(input: string): unknown {
|
|
302
|
-
return JSON.parse(stripTrailingCommas(stripComments(input)));
|
|
302
|
+
return JSON.parse(stripTrailingCommas(stripComments(stripLeadingBom(input))));
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
function stripLeadingBom(input: string): string {
|
|
306
|
+
return input.charCodeAt(0) === 0xfeff ? input.slice(1) : input;
|
|
303
307
|
}
|
|
304
308
|
|
|
305
309
|
/**
|
|
@@ -38,6 +38,7 @@ import { outputText, spawnNative } from "./spawnNative";
|
|
|
38
38
|
* to their transformed TypeScript source text.
|
|
39
39
|
*/
|
|
40
40
|
export function transformProjectInMemory(options: ITtscCompilerContext): {
|
|
41
|
+
dependencies?: Record<string, string[]>;
|
|
41
42
|
result: TtscBuildResult;
|
|
42
43
|
typescript: Record<string, string>;
|
|
43
44
|
} {
|
|
@@ -70,6 +71,7 @@ function transformProjectWithNativeHost(
|
|
|
70
71
|
options: ITtscCompilerContext,
|
|
71
72
|
project: ITtscParsedProjectConfig,
|
|
72
73
|
): {
|
|
74
|
+
dependencies?: Record<string, string[]>;
|
|
73
75
|
result: TtscBuildResult;
|
|
74
76
|
typescript: Record<string, string>;
|
|
75
77
|
} {
|
|
@@ -97,6 +99,9 @@ function transformProjectWithNativeHost(
|
|
|
97
99
|
outputText(res.stderr),
|
|
98
100
|
);
|
|
99
101
|
return {
|
|
102
|
+
...(output.dependencies === undefined
|
|
103
|
+
? {}
|
|
104
|
+
: { dependencies: output.dependencies }),
|
|
100
105
|
result: {
|
|
101
106
|
diagnostics: output.diagnostics,
|
|
102
107
|
status: res.status ?? 1,
|
|
@@ -112,6 +117,7 @@ function transformProjectWithPlugins(
|
|
|
112
117
|
cwd: string,
|
|
113
118
|
project: ITtscParsedProjectConfig,
|
|
114
119
|
): {
|
|
120
|
+
dependencies?: Record<string, string[]>;
|
|
115
121
|
result: TtscBuildResult;
|
|
116
122
|
typescript: Record<string, string>;
|
|
117
123
|
} {
|
|
@@ -149,6 +155,9 @@ function transformProjectWithPlugins(
|
|
|
149
155
|
if (transformers.length === 0) {
|
|
150
156
|
const transformed = transformProjectWithNativeHost(options, project);
|
|
151
157
|
return {
|
|
158
|
+
...(transformed.dependencies === undefined
|
|
159
|
+
? {}
|
|
160
|
+
: { dependencies: transformed.dependencies }),
|
|
152
161
|
result: appendBuildOutput(checked, transformed.result),
|
|
153
162
|
typescript: transformed.typescript,
|
|
154
163
|
};
|
|
@@ -180,6 +189,9 @@ function transformProjectWithPlugins(
|
|
|
180
189
|
stderr: outputText(res.stderr),
|
|
181
190
|
};
|
|
182
191
|
return {
|
|
192
|
+
...(output.dependencies === undefined
|
|
193
|
+
? {}
|
|
194
|
+
: { dependencies: output.dependencies }),
|
|
183
195
|
result: appendBuildOutput(checked, result),
|
|
184
196
|
typescript: output.typescript,
|
|
185
197
|
};
|
|
@@ -312,16 +324,23 @@ function nativePluginEnv(
|
|
|
312
324
|
* The `typescript` field must be a `Record<string, string>`. Any other shape is
|
|
313
325
|
* treated as a protocol error and throws with the stderr/stdout context. JSON
|
|
314
326
|
* parse errors are also wrapped with the same context message.
|
|
327
|
+
*
|
|
328
|
+
* The optional `dependencies` field (per-file consulted-source lists, see
|
|
329
|
+
* `ITtscCompilerTransformation`) is forwarded when well-formed; entries that
|
|
330
|
+
* are not string arrays are dropped rather than failing the transform — the
|
|
331
|
+
* field is advisory watch metadata, not output.
|
|
315
332
|
*/
|
|
316
333
|
function parseNativeTransformOutput(
|
|
317
334
|
stdout: string,
|
|
318
335
|
stderr: string,
|
|
319
336
|
): {
|
|
337
|
+
dependencies?: Record<string, string[]>;
|
|
320
338
|
diagnostics: ITtscCompilerDiagnostic[];
|
|
321
339
|
typescript: Record<string, string>;
|
|
322
340
|
} {
|
|
323
341
|
try {
|
|
324
342
|
const parsed = JSON.parse(stdout) as {
|
|
343
|
+
dependencies?: Record<string, string[]>;
|
|
325
344
|
diagnostics?: ITtscCompilerDiagnostic[];
|
|
326
345
|
typescript?: Record<string, string>;
|
|
327
346
|
};
|
|
@@ -330,7 +349,9 @@ function parseNativeTransformOutput(
|
|
|
330
349
|
"ttsc: native transform host did not return a TypeScript source map",
|
|
331
350
|
);
|
|
332
351
|
}
|
|
352
|
+
const dependencies = parseDependencyLists(parsed.dependencies);
|
|
333
353
|
return {
|
|
354
|
+
...(dependencies === undefined ? {} : { dependencies }),
|
|
334
355
|
diagnostics: Array.isArray(parsed.diagnostics) ? parsed.diagnostics : [],
|
|
335
356
|
typescript: parsed.typescript,
|
|
336
357
|
};
|
|
@@ -345,6 +366,31 @@ function parseNativeTransformOutput(
|
|
|
345
366
|
}
|
|
346
367
|
}
|
|
347
368
|
|
|
369
|
+
/**
|
|
370
|
+
* Normalize the optional `dependencies` envelope field into a record of string
|
|
371
|
+
* arrays, or `undefined` when absent or carrying nothing usable.
|
|
372
|
+
*/
|
|
373
|
+
function parseDependencyLists(
|
|
374
|
+
value: unknown,
|
|
375
|
+
): Record<string, string[]> | undefined {
|
|
376
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
377
|
+
return undefined;
|
|
378
|
+
}
|
|
379
|
+
const output: Record<string, string[]> = {};
|
|
380
|
+
for (const [key, entries] of Object.entries(value)) {
|
|
381
|
+
if (!Array.isArray(entries)) {
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
const files = entries.filter(
|
|
385
|
+
(entry): entry is string => typeof entry === "string",
|
|
386
|
+
);
|
|
387
|
+
if (files.length !== 0) {
|
|
388
|
+
output[key] = files;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return Object.keys(output).length === 0 ? undefined : output;
|
|
392
|
+
}
|
|
393
|
+
|
|
348
394
|
/** Type guard: true when `value` is a non-null, non-array object of strings. */
|
|
349
395
|
function isTextRecord(value: unknown): value is Record<string, string> {
|
|
350
396
|
return (
|