zshy 0.3.5 → 0.4.1
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 +11 -5
- package/dist/compile.cjs +21 -4
- package/dist/compile.cjs.map +1 -1
- package/dist/compile.d.cts +2 -0
- package/dist/compile.d.cts.map +1 -1
- package/dist/compile.d.ts +2 -0
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +21 -4
- package/dist/compile.js.map +1 -1
- package/dist/tx-paths-resolver.cjs +182 -0
- package/dist/tx-paths-resolver.cjs.map +1 -0
- package/dist/tx-paths-resolver.d.cts +9 -0
- package/dist/tx-paths-resolver.d.cts.map +1 -0
- package/dist/tx-paths-resolver.d.ts +9 -0
- package/dist/tx-paths-resolver.d.ts.map +1 -0
- package/dist/tx-paths-resolver.js +145 -0
- package/dist/tx-paths-resolver.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -303,14 +303,14 @@ And the generated `"exports"` map will look like this:
|
|
|
303
303
|
|
|
304
304
|
If your package is a CLI, specify your CLI entrypoint in `package.json#/zshy/bin`. `zshy` will include this entrypoint in your builds and automatically set `"bin"` in your package.json.
|
|
305
305
|
|
|
306
|
-
```
|
|
306
|
+
```diff
|
|
307
307
|
{
|
|
308
308
|
// package.json
|
|
309
309
|
"name": "my-cli",
|
|
310
310
|
"version": "1.0.0",
|
|
311
311
|
"type": "module",
|
|
312
312
|
"zshy": {
|
|
313
|
-
|
|
313
|
+
+ "bin": "./src/cli.ts"
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
```
|
|
@@ -327,13 +327,17 @@ The `"bin"` field is automatically written into your `package.json`:
|
|
|
327
327
|
"bin": "./src/cli.ts"
|
|
328
328
|
},
|
|
329
329
|
+ "bin": {
|
|
330
|
-
+ "my-cli": "./dist/cli.cjs" //
|
|
330
|
+
+ "my-cli": "./dist/cli.cjs" // CLI entrypoint)
|
|
331
331
|
+ }
|
|
332
332
|
}
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
|
|
336
|
-
|
|
335
|
+
> **Note** — The `"bin"` field defaults to the CJS build unless you have disabled it with `"cjs": false`.
|
|
336
|
+
|
|
337
|
+
<details>
|
|
338
|
+
<summary>Multiple CLIs</summary>
|
|
339
|
+
|
|
340
|
+
For packages that expose multiple CLI tools, `"bin"` can also be an object mappingeach command name to its source file:
|
|
337
341
|
|
|
338
342
|
```jsonc
|
|
339
343
|
{
|
|
@@ -371,6 +375,8 @@ This generates a corresponding object `"bin"` field:
|
|
|
371
375
|
}
|
|
372
376
|
```
|
|
373
377
|
|
|
378
|
+
</details>
|
|
379
|
+
|
|
374
380
|
Be sure to include a [shebang](<https://en.wikipedia.org/wiki/Shebang_(Unix)>) as the first line of your CLI entrypoint file:
|
|
375
381
|
|
|
376
382
|
```ts
|
package/dist/compile.cjs
CHANGED
|
@@ -42,6 +42,7 @@ const tx_cjs_interop_declaration_js_1 = require("./tx-cjs-interop-declaration.cj
|
|
|
42
42
|
const tx_export_equals_js_1 = require("./tx-export-equals.cjs");
|
|
43
43
|
const tx_extension_rewrite_js_1 = require("./tx-extension-rewrite.cjs");
|
|
44
44
|
const tx_import_meta_shim_js_1 = require("./tx-import-meta-shim.cjs");
|
|
45
|
+
const tx_paths_resolver_js_1 = require("./tx-paths-resolver.cjs");
|
|
45
46
|
const utils = __importStar(require("./utils.cjs"));
|
|
46
47
|
async function compileProject(config, entryPoints, ctx) {
|
|
47
48
|
// Deduplicate entry points before compilation
|
|
@@ -85,6 +86,13 @@ async function compileProject(config, entryPoints, ctx) {
|
|
|
85
86
|
options: programOptions,
|
|
86
87
|
host,
|
|
87
88
|
});
|
|
89
|
+
// Create a transformer factory to resolve tsconfig paths
|
|
90
|
+
const pathsResolverTransformer = config.paths ? (0, tx_paths_resolver_js_1.createPathsResolverTransformer)({
|
|
91
|
+
baseUrl: config.baseUrl,
|
|
92
|
+
paths: config.paths,
|
|
93
|
+
tsconfigDir: path.dirname(config.configPath),
|
|
94
|
+
rootDir: config.rootDir,
|
|
95
|
+
}) : null;
|
|
88
96
|
// Create a transformer factory to rewrite extensions
|
|
89
97
|
const extensionRewriteTransformer = (0, tx_extension_rewrite_js_1.createExtensionRewriteTransformer)({
|
|
90
98
|
rootDir: config.rootDir,
|
|
@@ -127,11 +135,20 @@ async function compileProject(config, entryPoints, ctx) {
|
|
|
127
135
|
}
|
|
128
136
|
}
|
|
129
137
|
// Prepare transformers
|
|
130
|
-
const before = [
|
|
131
|
-
|
|
132
|
-
|
|
138
|
+
const before = [];
|
|
139
|
+
// Add paths resolver transformer first if paths are configured
|
|
140
|
+
if (pathsResolverTransformer) {
|
|
141
|
+
before.push(pathsResolverTransformer);
|
|
142
|
+
}
|
|
143
|
+
// Then add extension rewriter
|
|
144
|
+
before.push(extensionRewriteTransformer);
|
|
133
145
|
const after = [];
|
|
134
|
-
const afterDeclarations = [
|
|
146
|
+
const afterDeclarations = [];
|
|
147
|
+
// Add transformers for declarations
|
|
148
|
+
if (pathsResolverTransformer) {
|
|
149
|
+
afterDeclarations.push(pathsResolverTransformer);
|
|
150
|
+
}
|
|
151
|
+
afterDeclarations.push(extensionRewriteTransformer);
|
|
135
152
|
// Add import.meta shim transformer for CJS builds
|
|
136
153
|
if (config.format === "cjs") {
|
|
137
154
|
before.unshift((0, tx_import_meta_shim_js_1.createImportMetaShimTransformer)());
|
package/dist/compile.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/compile.d.cts
CHANGED
|
@@ -15,6 +15,8 @@ export interface ProjectOptions {
|
|
|
15
15
|
verbose: boolean;
|
|
16
16
|
dryRun: boolean;
|
|
17
17
|
cjsInterop?: boolean;
|
|
18
|
+
paths?: Record<string, string[]>;
|
|
19
|
+
baseUrl?: string;
|
|
18
20
|
}
|
|
19
21
|
export declare function compileProject(config: ProjectOptions, entryPoints: string[], ctx: BuildContext): Promise<void>;
|
|
20
22
|
//# sourceMappingURL=compile.d.ts.map
|
package/dist/compile.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6QpH"}
|
package/dist/compile.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface ProjectOptions {
|
|
|
15
15
|
verbose: boolean;
|
|
16
16
|
dryRun: boolean;
|
|
17
17
|
cjsInterop?: boolean;
|
|
18
|
+
paths?: Record<string, string[]>;
|
|
19
|
+
baseUrl?: string;
|
|
18
20
|
}
|
|
19
21
|
export declare function compileProject(config: ProjectOptions, entryPoints: string[], ctx: BuildContext): Promise<void>;
|
|
20
22
|
//# sourceMappingURL=compile.d.ts.map
|
package/dist/compile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6QpH"}
|
package/dist/compile.js
CHANGED
|
@@ -6,6 +6,7 @@ import { createCjsInteropDeclarationTransformer } from "./tx-cjs-interop-declara
|
|
|
6
6
|
import { createExportEqualsTransformer } from "./tx-export-equals.js";
|
|
7
7
|
import { createExtensionRewriteTransformer } from "./tx-extension-rewrite.js";
|
|
8
8
|
import { createImportMetaShimTransformer } from "./tx-import-meta-shim.js";
|
|
9
|
+
import { createPathsResolverTransformer } from "./tx-paths-resolver.js";
|
|
9
10
|
import * as utils from "./utils.js";
|
|
10
11
|
export async function compileProject(config, entryPoints, ctx) {
|
|
11
12
|
// Deduplicate entry points before compilation
|
|
@@ -49,6 +50,13 @@ export async function compileProject(config, entryPoints, ctx) {
|
|
|
49
50
|
options: programOptions,
|
|
50
51
|
host,
|
|
51
52
|
});
|
|
53
|
+
// Create a transformer factory to resolve tsconfig paths
|
|
54
|
+
const pathsResolverTransformer = config.paths ? createPathsResolverTransformer({
|
|
55
|
+
baseUrl: config.baseUrl,
|
|
56
|
+
paths: config.paths,
|
|
57
|
+
tsconfigDir: path.dirname(config.configPath),
|
|
58
|
+
rootDir: config.rootDir,
|
|
59
|
+
}) : null;
|
|
52
60
|
// Create a transformer factory to rewrite extensions
|
|
53
61
|
const extensionRewriteTransformer = createExtensionRewriteTransformer({
|
|
54
62
|
rootDir: config.rootDir,
|
|
@@ -91,11 +99,20 @@ export async function compileProject(config, entryPoints, ctx) {
|
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
// Prepare transformers
|
|
94
|
-
const before = [
|
|
95
|
-
|
|
96
|
-
|
|
102
|
+
const before = [];
|
|
103
|
+
// Add paths resolver transformer first if paths are configured
|
|
104
|
+
if (pathsResolverTransformer) {
|
|
105
|
+
before.push(pathsResolverTransformer);
|
|
106
|
+
}
|
|
107
|
+
// Then add extension rewriter
|
|
108
|
+
before.push(extensionRewriteTransformer);
|
|
97
109
|
const after = [];
|
|
98
|
-
const afterDeclarations = [
|
|
110
|
+
const afterDeclarations = [];
|
|
111
|
+
// Add transformers for declarations
|
|
112
|
+
if (pathsResolverTransformer) {
|
|
113
|
+
afterDeclarations.push(pathsResolverTransformer);
|
|
114
|
+
}
|
|
115
|
+
afterDeclarations.push(extensionRewriteTransformer);
|
|
99
116
|
// Add import.meta shim transformer for CJS builds
|
|
100
117
|
if (config.format === "cjs") {
|
|
101
118
|
before.unshift(createImportMetaShimTransformer());
|
package/dist/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,4BAA4B;AAClE,OAAO,EAAE,sCAAsC,EAAE,wCAAwC;AACzF,OAAO,EAAE,6BAA6B,EAAE,8BAA8B;AACtE,OAAO,EAAE,iCAAiC,EAAE,kCAAkC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,iCAAiC;AAC3E,OAAO,KAAK,KAAK,mBAAmB;
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
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.createPathsResolverTransformer = void 0;
|
|
37
|
+
const fs = __importStar(require("node:fs"));
|
|
38
|
+
const path = __importStar(require("node:path"));
|
|
39
|
+
const ts = __importStar(require("typescript"));
|
|
40
|
+
function matchPathPattern(moduleSpecifier, pattern) {
|
|
41
|
+
// Handle wildcard patterns
|
|
42
|
+
if (pattern.includes("*")) {
|
|
43
|
+
// Convert pattern to regex
|
|
44
|
+
const regexPattern = pattern
|
|
45
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
46
|
+
.replace(/\\\*/g, "(.*)");
|
|
47
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
48
|
+
const match = moduleSpecifier.match(regex);
|
|
49
|
+
if (match) {
|
|
50
|
+
return { matched: true, captured: match[1] };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if (moduleSpecifier === pattern) {
|
|
54
|
+
// Exact match
|
|
55
|
+
return { matched: true };
|
|
56
|
+
}
|
|
57
|
+
return { matched: false };
|
|
58
|
+
}
|
|
59
|
+
function resolvePaths(moduleSpecifier, config) {
|
|
60
|
+
// Skip relative imports
|
|
61
|
+
if (moduleSpecifier.startsWith("./") || moduleSpecifier.startsWith("../")) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
// Skip node modules
|
|
65
|
+
if (!moduleSpecifier.startsWith("@") && !moduleSpecifier.includes("/") && !config.paths?.[moduleSpecifier]) {
|
|
66
|
+
// Check if this could be a paths alias
|
|
67
|
+
const hasMatchingPattern = config.paths && Object.keys(config.paths).some(pattern => {
|
|
68
|
+
const cleanPattern = pattern.replace("*", "");
|
|
69
|
+
return moduleSpecifier.startsWith(cleanPattern);
|
|
70
|
+
});
|
|
71
|
+
if (!hasMatchingPattern) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (!config.paths)
|
|
76
|
+
return null;
|
|
77
|
+
// Try to match against path patterns
|
|
78
|
+
for (const [pattern, replacements] of Object.entries(config.paths)) {
|
|
79
|
+
const { matched, captured } = matchPathPattern(moduleSpecifier, pattern);
|
|
80
|
+
if (matched) {
|
|
81
|
+
// Try each replacement in order
|
|
82
|
+
for (const replacement of replacements) {
|
|
83
|
+
let resolvedPath = replacement;
|
|
84
|
+
// Replace wildcard with captured content
|
|
85
|
+
if (captured !== undefined && replacement.includes("*")) {
|
|
86
|
+
resolvedPath = replacement.replace("*", captured);
|
|
87
|
+
}
|
|
88
|
+
// Resolve relative to baseUrl or tsconfig directory
|
|
89
|
+
const basePath = config.baseUrl
|
|
90
|
+
? path.resolve(config.tsconfigDir, config.baseUrl)
|
|
91
|
+
: config.tsconfigDir;
|
|
92
|
+
const absolutePath = path.resolve(basePath, resolvedPath);
|
|
93
|
+
// Check if the path exists (try with various extensions)
|
|
94
|
+
const extensions = [".ts", ".tsx", ".js", ".jsx", "/index.ts", "/index.tsx", "/index.js", "/index.jsx"];
|
|
95
|
+
// First try exact path
|
|
96
|
+
if (fs.existsSync(absolutePath)) {
|
|
97
|
+
// Check if it's a directory with index file
|
|
98
|
+
if (fs.statSync(absolutePath).isDirectory()) {
|
|
99
|
+
for (const ext of ["/index.ts", "/index.tsx", "/index.js", "/index.jsx"]) {
|
|
100
|
+
if (fs.existsSync(absolutePath + ext)) {
|
|
101
|
+
// Return relative path from the source file location
|
|
102
|
+
return absolutePath + ext;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return absolutePath;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Try with extensions
|
|
111
|
+
for (const ext of extensions) {
|
|
112
|
+
if (fs.existsSync(absolutePath + ext)) {
|
|
113
|
+
return absolutePath + ext;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
const createPathsResolverTransformer = (config) => (context) => {
|
|
122
|
+
return (sourceFile) => {
|
|
123
|
+
const visitor = (node) => {
|
|
124
|
+
const isImport = ts.isImportDeclaration(node);
|
|
125
|
+
const isExport = ts.isExportDeclaration(node);
|
|
126
|
+
const isDynamicImport = ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword;
|
|
127
|
+
let originalText;
|
|
128
|
+
if (isImport || isExport || isDynamicImport) {
|
|
129
|
+
if (isImport || isExport) {
|
|
130
|
+
if (!node.moduleSpecifier || !ts.isStringLiteral(node.moduleSpecifier)) {
|
|
131
|
+
return ts.visitEachChild(node, visitor, context);
|
|
132
|
+
}
|
|
133
|
+
originalText = node.moduleSpecifier.text;
|
|
134
|
+
}
|
|
135
|
+
else if (isDynamicImport) {
|
|
136
|
+
const arg = node.arguments[0];
|
|
137
|
+
if (!ts.isStringLiteral(arg)) {
|
|
138
|
+
return ts.visitEachChild(node, visitor, context);
|
|
139
|
+
}
|
|
140
|
+
originalText = arg.text;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
return ts.visitEachChild(node, visitor, context);
|
|
144
|
+
}
|
|
145
|
+
// Try to resolve using paths
|
|
146
|
+
const resolvedPath = resolvePaths(originalText, config);
|
|
147
|
+
if (resolvedPath && ts.isSourceFile(sourceFile)) {
|
|
148
|
+
// Convert absolute path to relative path from current source file
|
|
149
|
+
const sourceFileDir = path.dirname(sourceFile.fileName);
|
|
150
|
+
let relativePath = path.relative(sourceFileDir, resolvedPath);
|
|
151
|
+
// Ensure it starts with ./ or ../
|
|
152
|
+
if (!relativePath.startsWith(".")) {
|
|
153
|
+
relativePath = "./" + relativePath;
|
|
154
|
+
}
|
|
155
|
+
// Convert to posix path
|
|
156
|
+
relativePath = relativePath.replace(/\\/g, "/");
|
|
157
|
+
// Remove extension for TypeScript files
|
|
158
|
+
if (relativePath.endsWith(".ts") || relativePath.endsWith(".tsx")) {
|
|
159
|
+
relativePath = relativePath.replace(/\.(ts|tsx)$/, "");
|
|
160
|
+
}
|
|
161
|
+
// Update the node with resolved path
|
|
162
|
+
if (isImport) {
|
|
163
|
+
return ts.factory.updateImportDeclaration(node, node.modifiers, node.importClause, ts.factory.createStringLiteral(relativePath), node.assertClause);
|
|
164
|
+
}
|
|
165
|
+
else if (isExport) {
|
|
166
|
+
return ts.factory.updateExportDeclaration(node, node.modifiers, node.isTypeOnly, node.exportClause, ts.factory.createStringLiteral(relativePath), node.assertClause);
|
|
167
|
+
}
|
|
168
|
+
else if (isDynamicImport) {
|
|
169
|
+
return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [
|
|
170
|
+
ts.factory.createStringLiteral(relativePath),
|
|
171
|
+
...node.arguments.slice(1),
|
|
172
|
+
]);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return ts.visitEachChild(node, visitor, context);
|
|
177
|
+
};
|
|
178
|
+
return ts.visitNode(sourceFile, visitor);
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
exports.createPathsResolverTransformer = createPathsResolverTransformer;
|
|
182
|
+
//# sourceMappingURL=tx-paths-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-paths-resolver.js","sourceRoot":"","sources":["../src/tx-paths-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as ts from "typescript";
|
|
2
|
+
export interface PathsConfig {
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
paths?: Record<string, string[]>;
|
|
5
|
+
tsconfigDir: string;
|
|
6
|
+
rootDir: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const createPathsResolverTransformer: (config: PathsConfig) => ts.TransformerFactory<ts.SourceFile | ts.Bundle>;
|
|
9
|
+
//# sourceMappingURL=tx-paths-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-paths-resolver.d.ts","sourceRoot":"","sources":["../src/tx-paths-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmGD,eAAO,MAAM,8BAA8B,GACxC,QAAQ,WAAW,KAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,MAAM,CA+ErE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as ts from "typescript";
|
|
2
|
+
export interface PathsConfig {
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
paths?: Record<string, string[]>;
|
|
5
|
+
tsconfigDir: string;
|
|
6
|
+
rootDir: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const createPathsResolverTransformer: (config: PathsConfig) => ts.TransformerFactory<ts.SourceFile | ts.Bundle>;
|
|
9
|
+
//# sourceMappingURL=tx-paths-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-paths-resolver.d.ts","sourceRoot":"","sources":["../src/tx-paths-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmGD,eAAO,MAAM,8BAA8B,GACxC,QAAQ,WAAW,KAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,MAAM,CA+ErE,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as ts from "typescript";
|
|
4
|
+
function matchPathPattern(moduleSpecifier, pattern) {
|
|
5
|
+
// Handle wildcard patterns
|
|
6
|
+
if (pattern.includes("*")) {
|
|
7
|
+
// Convert pattern to regex
|
|
8
|
+
const regexPattern = pattern
|
|
9
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
10
|
+
.replace(/\\\*/g, "(.*)");
|
|
11
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
12
|
+
const match = moduleSpecifier.match(regex);
|
|
13
|
+
if (match) {
|
|
14
|
+
return { matched: true, captured: match[1] };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else if (moduleSpecifier === pattern) {
|
|
18
|
+
// Exact match
|
|
19
|
+
return { matched: true };
|
|
20
|
+
}
|
|
21
|
+
return { matched: false };
|
|
22
|
+
}
|
|
23
|
+
function resolvePaths(moduleSpecifier, config) {
|
|
24
|
+
// Skip relative imports
|
|
25
|
+
if (moduleSpecifier.startsWith("./") || moduleSpecifier.startsWith("../")) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
// Skip node modules
|
|
29
|
+
if (!moduleSpecifier.startsWith("@") && !moduleSpecifier.includes("/") && !config.paths?.[moduleSpecifier]) {
|
|
30
|
+
// Check if this could be a paths alias
|
|
31
|
+
const hasMatchingPattern = config.paths && Object.keys(config.paths).some(pattern => {
|
|
32
|
+
const cleanPattern = pattern.replace("*", "");
|
|
33
|
+
return moduleSpecifier.startsWith(cleanPattern);
|
|
34
|
+
});
|
|
35
|
+
if (!hasMatchingPattern) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (!config.paths)
|
|
40
|
+
return null;
|
|
41
|
+
// Try to match against path patterns
|
|
42
|
+
for (const [pattern, replacements] of Object.entries(config.paths)) {
|
|
43
|
+
const { matched, captured } = matchPathPattern(moduleSpecifier, pattern);
|
|
44
|
+
if (matched) {
|
|
45
|
+
// Try each replacement in order
|
|
46
|
+
for (const replacement of replacements) {
|
|
47
|
+
let resolvedPath = replacement;
|
|
48
|
+
// Replace wildcard with captured content
|
|
49
|
+
if (captured !== undefined && replacement.includes("*")) {
|
|
50
|
+
resolvedPath = replacement.replace("*", captured);
|
|
51
|
+
}
|
|
52
|
+
// Resolve relative to baseUrl or tsconfig directory
|
|
53
|
+
const basePath = config.baseUrl
|
|
54
|
+
? path.resolve(config.tsconfigDir, config.baseUrl)
|
|
55
|
+
: config.tsconfigDir;
|
|
56
|
+
const absolutePath = path.resolve(basePath, resolvedPath);
|
|
57
|
+
// Check if the path exists (try with various extensions)
|
|
58
|
+
const extensions = [".ts", ".tsx", ".js", ".jsx", "/index.ts", "/index.tsx", "/index.js", "/index.jsx"];
|
|
59
|
+
// First try exact path
|
|
60
|
+
if (fs.existsSync(absolutePath)) {
|
|
61
|
+
// Check if it's a directory with index file
|
|
62
|
+
if (fs.statSync(absolutePath).isDirectory()) {
|
|
63
|
+
for (const ext of ["/index.ts", "/index.tsx", "/index.js", "/index.jsx"]) {
|
|
64
|
+
if (fs.existsSync(absolutePath + ext)) {
|
|
65
|
+
// Return relative path from the source file location
|
|
66
|
+
return absolutePath + ext;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return absolutePath;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Try with extensions
|
|
75
|
+
for (const ext of extensions) {
|
|
76
|
+
if (fs.existsSync(absolutePath + ext)) {
|
|
77
|
+
return absolutePath + ext;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
export const createPathsResolverTransformer = (config) => (context) => {
|
|
86
|
+
return (sourceFile) => {
|
|
87
|
+
const visitor = (node) => {
|
|
88
|
+
const isImport = ts.isImportDeclaration(node);
|
|
89
|
+
const isExport = ts.isExportDeclaration(node);
|
|
90
|
+
const isDynamicImport = ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword;
|
|
91
|
+
let originalText;
|
|
92
|
+
if (isImport || isExport || isDynamicImport) {
|
|
93
|
+
if (isImport || isExport) {
|
|
94
|
+
if (!node.moduleSpecifier || !ts.isStringLiteral(node.moduleSpecifier)) {
|
|
95
|
+
return ts.visitEachChild(node, visitor, context);
|
|
96
|
+
}
|
|
97
|
+
originalText = node.moduleSpecifier.text;
|
|
98
|
+
}
|
|
99
|
+
else if (isDynamicImport) {
|
|
100
|
+
const arg = node.arguments[0];
|
|
101
|
+
if (!ts.isStringLiteral(arg)) {
|
|
102
|
+
return ts.visitEachChild(node, visitor, context);
|
|
103
|
+
}
|
|
104
|
+
originalText = arg.text;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return ts.visitEachChild(node, visitor, context);
|
|
108
|
+
}
|
|
109
|
+
// Try to resolve using paths
|
|
110
|
+
const resolvedPath = resolvePaths(originalText, config);
|
|
111
|
+
if (resolvedPath && ts.isSourceFile(sourceFile)) {
|
|
112
|
+
// Convert absolute path to relative path from current source file
|
|
113
|
+
const sourceFileDir = path.dirname(sourceFile.fileName);
|
|
114
|
+
let relativePath = path.relative(sourceFileDir, resolvedPath);
|
|
115
|
+
// Ensure it starts with ./ or ../
|
|
116
|
+
if (!relativePath.startsWith(".")) {
|
|
117
|
+
relativePath = "./" + relativePath;
|
|
118
|
+
}
|
|
119
|
+
// Convert to posix path
|
|
120
|
+
relativePath = relativePath.replace(/\\/g, "/");
|
|
121
|
+
// Remove extension for TypeScript files
|
|
122
|
+
if (relativePath.endsWith(".ts") || relativePath.endsWith(".tsx")) {
|
|
123
|
+
relativePath = relativePath.replace(/\.(ts|tsx)$/, "");
|
|
124
|
+
}
|
|
125
|
+
// Update the node with resolved path
|
|
126
|
+
if (isImport) {
|
|
127
|
+
return ts.factory.updateImportDeclaration(node, node.modifiers, node.importClause, ts.factory.createStringLiteral(relativePath), node.assertClause);
|
|
128
|
+
}
|
|
129
|
+
else if (isExport) {
|
|
130
|
+
return ts.factory.updateExportDeclaration(node, node.modifiers, node.isTypeOnly, node.exportClause, ts.factory.createStringLiteral(relativePath), node.assertClause);
|
|
131
|
+
}
|
|
132
|
+
else if (isDynamicImport) {
|
|
133
|
+
return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [
|
|
134
|
+
ts.factory.createStringLiteral(relativePath),
|
|
135
|
+
...node.arguments.slice(1),
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return ts.visitEachChild(node, visitor, context);
|
|
141
|
+
};
|
|
142
|
+
return ts.visitNode(sourceFile, visitor);
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=tx-paths-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-paths-resolver.js","sourceRoot":"","sources":["../src/tx-paths-resolver.ts"],"names":[],"mappings":"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"}
|