@ttsc/unplugin 0.8.1 → 0.10.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 +8 -9
- package/lib/api.js +3 -2
- package/lib/api.js.map +1 -1
- package/lib/api.mjs +1 -1
- package/lib/bun.js +1 -1
- package/lib/bun.js.map +1 -1
- package/lib/bun.mjs +1 -1
- package/lib/bun.mjs.map +1 -1
- package/lib/core/index.d.ts +2 -2
- package/lib/core/index.js +7 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/index.mjs +8 -4
- package/lib/core/index.mjs.map +1 -1
- package/lib/core/options.d.ts +3 -3
- package/lib/core/transform.d.ts +11 -3
- package/lib/core/transform.js +233 -80
- package/lib/core/transform.js.map +1 -1
- package/lib/core/transform.mjs +234 -63
- package/lib/core/transform.mjs.map +1 -1
- package/package.json +4 -7
- package/src/bun.ts +1 -1
- package/src/core/index.ts +14 -4
- package/src/core/options.ts +3 -3
- package/src/core/transform.ts +304 -66
package/lib/core/transform.mjs
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import * as Diff from 'diff-match-patch-es';
|
|
2
1
|
import fs from 'node:fs';
|
|
2
|
+
import crypto from 'node:crypto';
|
|
3
|
+
import os from 'node:os';
|
|
3
4
|
import path from 'node:path';
|
|
4
|
-
import MagicString from 'magic-string';
|
|
5
5
|
import { TtscCompiler } from 'ttsc';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
function createTtscTransformCache() {
|
|
8
|
+
return new Map();
|
|
9
|
+
}
|
|
10
|
+
async function transformTtsc(id, source, options, aliases, cache) {
|
|
8
11
|
const clean = stripQuery(id);
|
|
9
12
|
if (clean.includes("\0")) {
|
|
10
13
|
return undefined;
|
|
@@ -17,104 +20,229 @@ async function transformTtsc(id, source, options, aliases) {
|
|
|
17
20
|
const tsconfigDir = path.dirname(tsconfig);
|
|
18
21
|
const baseUrl = resolveBaseUrl(tsconfigDir, options.compilerOptions);
|
|
19
22
|
const aliasPaths = createAliasPaths(baseUrl, aliases);
|
|
20
|
-
const
|
|
23
|
+
const key = createTransformCacheKey({
|
|
21
24
|
aliasPaths,
|
|
22
|
-
baseUrl,
|
|
23
25
|
compilerOptions: options.compilerOptions,
|
|
26
|
+
plugins: options.plugins,
|
|
24
27
|
tsconfig,
|
|
25
28
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
29
|
+
let transformed = cache?.get(key);
|
|
30
|
+
if (transformed !== undefined) {
|
|
31
|
+
const cached = await transformed;
|
|
32
|
+
if (matchesCachedSource(cached, file, source)) {
|
|
33
|
+
reportSuccessDiagnostics(cached.result);
|
|
34
|
+
const code = selectTransformedSource({
|
|
35
|
+
file,
|
|
36
|
+
projectRoot: cached.projectRoot,
|
|
37
|
+
result: cached.result,
|
|
38
|
+
});
|
|
39
|
+
return createTransformResult(source, code);
|
|
40
|
+
}
|
|
41
|
+
cache?.delete(key);
|
|
42
|
+
transformed = undefined;
|
|
43
|
+
}
|
|
44
|
+
if (transformed === undefined) {
|
|
45
|
+
transformed = transformProject({
|
|
46
|
+
aliasPaths,
|
|
47
|
+
baseUrl,
|
|
48
|
+
compilerOptions: options.compilerOptions,
|
|
49
|
+
currentFile: file,
|
|
50
|
+
currentSource: source,
|
|
30
51
|
plugins: options.plugins,
|
|
31
|
-
tsconfig
|
|
32
|
-
}).transform();
|
|
33
|
-
const code = selectTransformedSource({
|
|
34
|
-
file,
|
|
35
|
-
projectRoot: path.dirname(effectiveTsconfig),
|
|
36
|
-
result,
|
|
52
|
+
tsconfig,
|
|
37
53
|
});
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
finally {
|
|
41
|
-
configured.dispose();
|
|
54
|
+
cache?.set(key, transformed);
|
|
42
55
|
}
|
|
56
|
+
const { projectRoot, result } = await transformed;
|
|
57
|
+
reportSuccessDiagnostics(result);
|
|
58
|
+
const code = selectTransformedSource({ file, projectRoot, result });
|
|
59
|
+
return createTransformResult(source, code);
|
|
43
60
|
}
|
|
44
61
|
function stripQuery(id) {
|
|
45
62
|
const query = id.search(/[?#]/);
|
|
46
|
-
|
|
47
|
-
return clean.endsWith("?__rslib_entry__")
|
|
48
|
-
? clean.slice(0, -"?__rslib_entry__".length)
|
|
49
|
-
: clean;
|
|
63
|
+
return query === -1 ? id : id.slice(0, query);
|
|
50
64
|
}
|
|
51
65
|
function isDeclarationFile(id) {
|
|
52
66
|
return id.endsWith(".d.ts") || id.endsWith(".d.mts") || id.endsWith(".d.cts");
|
|
53
67
|
}
|
|
54
|
-
function createTransformResult(source, code
|
|
68
|
+
function createTransformResult(source, code) {
|
|
55
69
|
if (source === code) {
|
|
56
70
|
return undefined;
|
|
57
71
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
72
|
+
return { code };
|
|
73
|
+
}
|
|
74
|
+
function matchesCachedSource(cached, file, source) {
|
|
75
|
+
const currentKey = toProjectKey(cached.projectRoot, file);
|
|
76
|
+
const currentHashes = collectProjectInputHashes(cached.projectRoot);
|
|
77
|
+
currentHashes[currentKey] = hashText(source);
|
|
78
|
+
return sameHashes(cached.inputHashes, currentHashes);
|
|
79
|
+
}
|
|
80
|
+
function collectInputHashes(props) {
|
|
81
|
+
const hashes = collectProjectInputHashes(props.projectRoot);
|
|
82
|
+
if (props.result.type !== "exception") {
|
|
83
|
+
for (const key of Object.keys(props.result.typescript)) {
|
|
84
|
+
const file = path.resolve(props.projectRoot, key);
|
|
85
|
+
try {
|
|
86
|
+
hashes[key] = hashText(fs.readFileSync(file, "utf8"));
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// A plugin may synthesize a virtual TypeScript file. It should not
|
|
90
|
+
// decide cache reuse for real source files.
|
|
91
|
+
}
|
|
67
92
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
93
|
+
}
|
|
94
|
+
hashes[toProjectKey(props.projectRoot, props.currentFile)] = hashText(props.currentSource);
|
|
95
|
+
return hashes;
|
|
96
|
+
}
|
|
97
|
+
function collectProjectInputHashes(projectRoot) {
|
|
98
|
+
const hashes = {};
|
|
99
|
+
for (const file of listProjectInputFiles(projectRoot)) {
|
|
100
|
+
try {
|
|
101
|
+
hashes[toProjectKey(projectRoot, file)] = hashText(fs.readFileSync(file));
|
|
71
102
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
index += 1;
|
|
103
|
+
catch {
|
|
104
|
+
// File watchers may observe a transform while another process is moving
|
|
105
|
+
// or deleting files. The missing key invalidates older cache entries.
|
|
76
106
|
}
|
|
77
|
-
|
|
78
|
-
|
|
107
|
+
}
|
|
108
|
+
return hashes;
|
|
109
|
+
}
|
|
110
|
+
function listProjectInputFiles(root) {
|
|
111
|
+
const out = [];
|
|
112
|
+
const stack = [root];
|
|
113
|
+
while (stack.length !== 0) {
|
|
114
|
+
const current = stack.pop();
|
|
115
|
+
let entries;
|
|
116
|
+
try {
|
|
117
|
+
entries = fs.readdirSync(current, { withFileTypes: true });
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
for (const entry of entries) {
|
|
123
|
+
if (isIgnoredProjectDirectory(entry.name)) {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const file = path.join(current, entry.name);
|
|
127
|
+
if (entry.isDirectory()) {
|
|
128
|
+
stack.push(file);
|
|
129
|
+
}
|
|
130
|
+
else if (entry.isFile()) {
|
|
131
|
+
out.push(file);
|
|
132
|
+
}
|
|
79
133
|
}
|
|
80
|
-
offset += text.length;
|
|
81
134
|
}
|
|
82
|
-
|
|
83
|
-
|
|
135
|
+
out.sort();
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
138
|
+
function isIgnoredProjectDirectory(name) {
|
|
139
|
+
return (name === ".git" ||
|
|
140
|
+
name === ".ttsc" ||
|
|
141
|
+
name === ".cache" ||
|
|
142
|
+
name === ".next" ||
|
|
143
|
+
name === ".nuxt" ||
|
|
144
|
+
name === ".svelte-kit" ||
|
|
145
|
+
name === ".turbo" ||
|
|
146
|
+
name === ".vite" ||
|
|
147
|
+
name === "build" ||
|
|
148
|
+
name === "coverage" ||
|
|
149
|
+
name === "dist" ||
|
|
150
|
+
name === "node_modules" ||
|
|
151
|
+
name === "out" ||
|
|
152
|
+
name === "temp" ||
|
|
153
|
+
name === "tmp");
|
|
154
|
+
}
|
|
155
|
+
function sameHashes(left, right) {
|
|
156
|
+
const leftKeys = Object.keys(left);
|
|
157
|
+
const rightKeys = Object.keys(right);
|
|
158
|
+
if (leftKeys.length !== rightKeys.length) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return leftKeys.every((key) => right[key] === left[key]);
|
|
162
|
+
}
|
|
163
|
+
function hashText(input) {
|
|
164
|
+
return crypto.createHash("sha256").update(input).digest("hex");
|
|
165
|
+
}
|
|
166
|
+
async function transformProject(props) {
|
|
167
|
+
const configured = createTransformTsconfig(props);
|
|
168
|
+
const projectRoot = path.dirname(props.tsconfig);
|
|
169
|
+
try {
|
|
170
|
+
const result = new TtscCompiler({
|
|
171
|
+
cwd: projectRoot,
|
|
172
|
+
plugins: props.plugins,
|
|
173
|
+
projectRoot,
|
|
174
|
+
tsconfig: configured.path,
|
|
175
|
+
}).transform();
|
|
176
|
+
return {
|
|
177
|
+
inputHashes: collectInputHashes({
|
|
178
|
+
currentFile: props.currentFile,
|
|
179
|
+
currentSource: props.currentSource,
|
|
180
|
+
projectRoot,
|
|
181
|
+
result,
|
|
182
|
+
}),
|
|
183
|
+
projectRoot,
|
|
184
|
+
result,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
configured.dispose();
|
|
84
189
|
}
|
|
85
|
-
return {
|
|
86
|
-
code: magic.toString(),
|
|
87
|
-
map: magic.generateMap({
|
|
88
|
-
file: `${id}.map`,
|
|
89
|
-
includeContent: true,
|
|
90
|
-
source: id,
|
|
91
|
-
}),
|
|
92
|
-
};
|
|
93
190
|
}
|
|
94
191
|
function createTransformTsconfig(props) {
|
|
95
|
-
const compilerOptions = {
|
|
192
|
+
const compilerOptions = normalizeCompilerOptionsForGeneratedTsconfig({
|
|
96
193
|
...props.compilerOptions,
|
|
97
194
|
...createAliasCompilerOptions(props),
|
|
98
|
-
};
|
|
195
|
+
}, path.dirname(props.tsconfig));
|
|
99
196
|
if (Object.keys(compilerOptions).length === 0) {
|
|
100
197
|
return {
|
|
101
198
|
path: props.tsconfig,
|
|
102
199
|
dispose: () => undefined,
|
|
103
200
|
};
|
|
104
201
|
}
|
|
105
|
-
const directory = path.
|
|
106
|
-
const file = path.join(directory,
|
|
107
|
-
.toString(36)
|
|
108
|
-
.slice(2)}.json`);
|
|
202
|
+
const directory = fs.mkdtempSync(path.join(os.tmpdir(), "ttsc-unplugin-"));
|
|
203
|
+
const file = path.join(directory, "tsconfig.json");
|
|
109
204
|
fs.writeFileSync(file, JSON.stringify({
|
|
110
|
-
extends:
|
|
205
|
+
extends: normalizePath(props.tsconfig),
|
|
111
206
|
compilerOptions,
|
|
112
207
|
}, null, 2), "utf8");
|
|
113
208
|
return {
|
|
114
209
|
path: file,
|
|
115
|
-
dispose: () => fs.rmSync(
|
|
210
|
+
dispose: () => fs.rmSync(directory, { force: true, recursive: true }),
|
|
116
211
|
};
|
|
117
212
|
}
|
|
213
|
+
function normalizeCompilerOptionsForGeneratedTsconfig(compilerOptions, tsconfigDir) {
|
|
214
|
+
const output = { ...compilerOptions };
|
|
215
|
+
for (const key of ["baseUrl", "declarationDir", "outDir", "rootDir"]) {
|
|
216
|
+
if (typeof output[key] === "string") {
|
|
217
|
+
output[key] = path.resolve(tsconfigDir, output[key]);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
for (const key of ["rootDirs", "typeRoots"]) {
|
|
221
|
+
if (Array.isArray(output[key])) {
|
|
222
|
+
output[key] = output[key].map((entry) => typeof entry === "string" ? path.resolve(tsconfigDir, entry) : entry);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (hasPaths(output.paths) && typeof output.baseUrl !== "string") {
|
|
226
|
+
output.baseUrl = tsconfigDir;
|
|
227
|
+
}
|
|
228
|
+
if (Array.isArray(output.plugins)) {
|
|
229
|
+
output.plugins = output.plugins.map((entry) => normalizePluginConfigForGeneratedTsconfig(entry, tsconfigDir));
|
|
230
|
+
}
|
|
231
|
+
return output;
|
|
232
|
+
}
|
|
233
|
+
function normalizePluginConfigForGeneratedTsconfig(entry, tsconfigDir) {
|
|
234
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
|
|
235
|
+
return entry;
|
|
236
|
+
}
|
|
237
|
+
const output = { ...entry };
|
|
238
|
+
for (const key of ["config", "source", "transform"]) {
|
|
239
|
+
const value = output[key];
|
|
240
|
+
if (typeof value === "string" && isRelativeSpecifier(value)) {
|
|
241
|
+
output[key] = path.resolve(tsconfigDir, value);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return output;
|
|
245
|
+
}
|
|
118
246
|
function createAliasCompilerOptions(props) {
|
|
119
247
|
if (Object.keys(props.aliasPaths).length === 0) {
|
|
120
248
|
return {};
|
|
@@ -127,6 +255,12 @@ function createAliasCompilerOptions(props) {
|
|
|
127
255
|
},
|
|
128
256
|
};
|
|
129
257
|
}
|
|
258
|
+
function hasPaths(value) {
|
|
259
|
+
return (typeof value === "object" &&
|
|
260
|
+
value !== null &&
|
|
261
|
+
!Array.isArray(value) &&
|
|
262
|
+
Object.keys(value).length !== 0);
|
|
263
|
+
}
|
|
130
264
|
function readPaths(value) {
|
|
131
265
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
132
266
|
return {};
|
|
@@ -186,12 +320,40 @@ function normalizeAliases(aliases) {
|
|
|
186
320
|
}
|
|
187
321
|
return [];
|
|
188
322
|
}
|
|
323
|
+
function createTransformCacheKey(props) {
|
|
324
|
+
return stableStringify({
|
|
325
|
+
aliasPaths: props.aliasPaths,
|
|
326
|
+
compilerOptions: props.compilerOptions,
|
|
327
|
+
plugins: props.plugins,
|
|
328
|
+
tsconfig: path.resolve(props.tsconfig),
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
function stableStringify(value) {
|
|
332
|
+
if (Array.isArray(value)) {
|
|
333
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
334
|
+
}
|
|
335
|
+
if (value && typeof value === "object") {
|
|
336
|
+
return `{${Object.entries(value)
|
|
337
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
338
|
+
.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
|
|
339
|
+
.join(",")}}`;
|
|
340
|
+
}
|
|
341
|
+
return JSON.stringify(value);
|
|
342
|
+
}
|
|
343
|
+
function isRelativeSpecifier(value) {
|
|
344
|
+
return (value === "." ||
|
|
345
|
+
value === ".." ||
|
|
346
|
+
value.startsWith("./") ||
|
|
347
|
+
value.startsWith("../") ||
|
|
348
|
+
value.startsWith(".\\") ||
|
|
349
|
+
value.startsWith("..\\"));
|
|
350
|
+
}
|
|
189
351
|
function isAlias(value) {
|
|
190
352
|
return (typeof value === "object" &&
|
|
191
353
|
value !== null &&
|
|
192
354
|
"find" in value &&
|
|
193
355
|
"replacement" in value &&
|
|
194
|
-
|
|
356
|
+
typeof value.find === "string" &&
|
|
195
357
|
typeof value.replacement === "string");
|
|
196
358
|
}
|
|
197
359
|
function selectTransformedSource(props) {
|
|
@@ -213,6 +375,15 @@ function selectTransformedSource(props) {
|
|
|
213
375
|
}
|
|
214
376
|
throw new Error(`ttsc transform did not return output for ${props.file}`);
|
|
215
377
|
}
|
|
378
|
+
function reportSuccessDiagnostics(result) {
|
|
379
|
+
if (result.type !== "success" || result.diagnostics === undefined) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const text = formatDiagnostics(result.diagnostics);
|
|
383
|
+
if (text.length !== 0) {
|
|
384
|
+
process.stderr.write(`${text}\n`);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
216
387
|
function formatDiagnostics(diagnostics) {
|
|
217
388
|
if (diagnostics.length === 0) {
|
|
218
389
|
return "ttsc transform failed";
|
|
@@ -268,5 +439,5 @@ function normalizePath(file) {
|
|
|
268
439
|
return file.replace(/\\/g, "/");
|
|
269
440
|
}
|
|
270
441
|
|
|
271
|
-
export { createTransformResult, isDeclarationFile, stripQuery, transformTtsc };
|
|
442
|
+
export { createTransformResult, createTtscTransformCache, isDeclarationFile, stripQuery, transformTtsc };
|
|
272
443
|
//# sourceMappingURL=transform.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.mjs","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform.mjs","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/unplugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Bundler adapters for ttsc plugins.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
@@ -82,8 +82,6 @@
|
|
|
82
82
|
"src"
|
|
83
83
|
],
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"diff-match-patch-es": "^1.0.1",
|
|
86
|
-
"magic-string": "^0.30.21",
|
|
87
85
|
"unplugin": "^2.3.11"
|
|
88
86
|
},
|
|
89
87
|
"devDependencies": {
|
|
@@ -91,7 +89,7 @@
|
|
|
91
89
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
92
90
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
93
91
|
"@types/node": "^25.3.0",
|
|
94
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
92
|
+
"@typescript/native-preview": "7.0.0-dev.20260510.1",
|
|
95
93
|
"esbuild": "^0.25.12",
|
|
96
94
|
"rimraf": "^6.1.2",
|
|
97
95
|
"rollup": "^4.60.3",
|
|
@@ -101,7 +99,7 @@
|
|
|
101
99
|
"tslib": "^2.8.1",
|
|
102
100
|
"typescript": "^6.0.3",
|
|
103
101
|
"vite": "^7.1.12",
|
|
104
|
-
"ttsc": "0.
|
|
102
|
+
"ttsc": "0.10.0"
|
|
105
103
|
},
|
|
106
104
|
"repository": {
|
|
107
105
|
"type": "git",
|
|
@@ -115,7 +113,6 @@
|
|
|
115
113
|
"homepage": "https://github.com/samchon/ttsc/tree/master/packages/unplugin#readme",
|
|
116
114
|
"sideEffects": false,
|
|
117
115
|
"scripts": {
|
|
118
|
-
"build": "rimraf lib && tsgo --emitDeclarationOnly && rollup -c"
|
|
119
|
-
"test": "pnpm --dir ../.. --filter ttsc build && pnpm run build && node --test --test-reporter=spec ../../tests/unplugin/**/*.test.cjs"
|
|
116
|
+
"build": "rimraf lib && tsgo --emitDeclarationOnly && rollup -c"
|
|
120
117
|
}
|
|
121
118
|
}
|
package/src/bun.ts
CHANGED
package/src/core/index.ts
CHANGED
|
@@ -3,10 +3,15 @@ import { createUnplugin } from "unplugin";
|
|
|
3
3
|
|
|
4
4
|
import type { TtscUnpluginOptions } from "./options";
|
|
5
5
|
import { resolveOptions } from "./options";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
createTtscTransformCache,
|
|
8
|
+
isDeclarationFile,
|
|
9
|
+
stripQuery,
|
|
10
|
+
transformTtsc,
|
|
11
|
+
} from "./transform";
|
|
7
12
|
|
|
8
13
|
const name = "ttsc-unplugin";
|
|
9
|
-
const sourceFilePattern = /\.[cm]?
|
|
14
|
+
const sourceFilePattern = /\.[cm]?tsx?$/;
|
|
10
15
|
const nodeModulesPattern = /(?:^|[/\\])node_modules(?:[/\\]|$)/;
|
|
11
16
|
const virtualModulePattern = /\0/;
|
|
12
17
|
|
|
@@ -15,6 +20,7 @@ const unpluginFactory: UnpluginFactory<
|
|
|
15
20
|
false
|
|
16
21
|
> = (rawOptions = {}) => {
|
|
17
22
|
const options = resolveOptions(rawOptions);
|
|
23
|
+
const transformCache = createTtscTransformCache();
|
|
18
24
|
let aliases: unknown;
|
|
19
25
|
|
|
20
26
|
return {
|
|
@@ -27,6 +33,10 @@ const unpluginFactory: UnpluginFactory<
|
|
|
27
33
|
},
|
|
28
34
|
},
|
|
29
35
|
|
|
36
|
+
buildStart() {
|
|
37
|
+
transformCache.clear();
|
|
38
|
+
},
|
|
39
|
+
|
|
30
40
|
transformInclude(id) {
|
|
31
41
|
const file = stripQuery(id);
|
|
32
42
|
return isTransformTarget(file);
|
|
@@ -37,7 +47,7 @@ const unpluginFactory: UnpluginFactory<
|
|
|
37
47
|
if (!isTransformTarget(file)) {
|
|
38
48
|
return undefined;
|
|
39
49
|
}
|
|
40
|
-
return transformTtsc(file, source, options, aliases);
|
|
50
|
+
return transformTtsc(file, source, options, aliases, transformCache);
|
|
41
51
|
},
|
|
42
52
|
};
|
|
43
53
|
};
|
|
@@ -49,7 +59,7 @@ export type {
|
|
|
49
59
|
TtscUnpluginCompilerOptionsJson,
|
|
50
60
|
TtscUnpluginOptions,
|
|
51
61
|
} from "./options";
|
|
52
|
-
export { resolveOptions, transformTtsc, unplugin };
|
|
62
|
+
export { createTtscTransformCache, resolveOptions, transformTtsc, unplugin };
|
|
53
63
|
|
|
54
64
|
export default unplugin;
|
|
55
65
|
|
package/src/core/options.ts
CHANGED
|
@@ -22,9 +22,9 @@ export interface TtscUnpluginOptions {
|
|
|
22
22
|
/**
|
|
23
23
|
* `ttsc` plugin entries.
|
|
24
24
|
*
|
|
25
|
-
* `undefined` reads `compilerOptions.plugins`
|
|
26
|
-
* `false` disables project plugins, and
|
|
27
|
-
* plugin list.
|
|
25
|
+
* `undefined` reads project plugins from `compilerOptions.plugins` and
|
|
26
|
+
* directly installed package markers, `false` disables project plugins, and
|
|
27
|
+
* an array overrides the project plugin list.
|
|
28
28
|
*/
|
|
29
29
|
plugins?: readonly ITtscProjectPluginConfig[] | false;
|
|
30
30
|
}
|