@typespec/compiler 1.5.0-dev.20 → 1.5.0-dev.22
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/dist/manifest.js +2 -2
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +1 -1
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/source-loader.d.ts +1 -1
- package/dist/src/core/source-loader.d.ts.map +1 -1
- package/dist/src/core/source-loader.js +6 -2
- package/dist/src/core/source-loader.js.map +1 -1
- package/dist/src/core/types.d.ts +1 -1
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/module-resolver/index.d.ts +3 -0
- package/dist/src/module-resolver/index.d.ts.map +1 -0
- package/dist/src/module-resolver/index.js +2 -0
- package/dist/src/module-resolver/index.js.map +1 -0
- package/dist/src/module-resolver/module-resolver.d.ts +3 -46
- package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
- package/dist/src/module-resolver/module-resolver.js +25 -94
- package/dist/src/module-resolver/module-resolver.js.map +1 -1
- package/dist/src/module-resolver/node-package-resolver.d.ts +24 -0
- package/dist/src/module-resolver/node-package-resolver.d.ts.map +1 -0
- package/dist/src/module-resolver/node-package-resolver.js +56 -0
- package/dist/src/module-resolver/node-package-resolver.js.map +1 -0
- package/dist/src/module-resolver/types.d.ts +47 -0
- package/dist/src/module-resolver/types.d.ts.map +1 -0
- package/dist/src/module-resolver/types.js +2 -0
- package/dist/src/module-resolver/types.js.map +1 -0
- package/dist/src/module-resolver/utils.d.ts +9 -0
- package/dist/src/module-resolver/utils.d.ts.map +1 -1
- package/dist/src/module-resolver/utils.js +53 -0
- package/dist/src/module-resolver/utils.js.map +1 -1
- package/dist/src/runner.js +1 -1
- package/dist/src/runner.js.map +1 -1
- package/dist/src/server/serverlib.js +1 -1
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/testing/test-compiler-host.d.ts.map +1 -1
- package/dist/src/testing/test-compiler-host.js +16 -7
- package/dist/src/testing/test-compiler-host.js.map +1 -1
- package/dist/src/testing/tester.d.ts.map +1 -1
- package/dist/src/testing/tester.js +32 -12
- package/dist/src/testing/tester.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ModuleResolutionResult, NodePackage, ResolveModuleHost } from "./types.js";
|
|
2
2
|
export interface ResolveModuleOptions {
|
|
3
3
|
baseDir: string;
|
|
4
4
|
/**
|
|
@@ -19,23 +19,6 @@ export interface ResolveModuleOptions {
|
|
|
19
19
|
*/
|
|
20
20
|
readonly fallbackOnMissingCondition?: boolean;
|
|
21
21
|
}
|
|
22
|
-
export interface ResolveModuleHost {
|
|
23
|
-
/**
|
|
24
|
-
* Resolve the real path for the current host.
|
|
25
|
-
*/
|
|
26
|
-
realpath(path: string): Promise<string>;
|
|
27
|
-
/**
|
|
28
|
-
* Get information about the given path
|
|
29
|
-
*/
|
|
30
|
-
stat(path: string): Promise<{
|
|
31
|
-
isDirectory(): boolean;
|
|
32
|
-
isFile(): boolean;
|
|
33
|
-
}>;
|
|
34
|
-
/**
|
|
35
|
-
* Read a utf-8 encoded file.
|
|
36
|
-
*/
|
|
37
|
-
readFile(path: string): Promise<string>;
|
|
38
|
-
}
|
|
39
22
|
type ResolveModuleErrorCode = "MODULE_NOT_FOUND" | "INVALID_MAIN" | "INVALID_MODULE"
|
|
40
23
|
/** When an imports points to an invalid file. */
|
|
41
24
|
| "INVALID_MODULE_IMPORT_TARGET"
|
|
@@ -43,28 +26,8 @@ type ResolveModuleErrorCode = "MODULE_NOT_FOUND" | "INVALID_MAIN" | "INVALID_MOD
|
|
|
43
26
|
| "INVALID_MODULE_EXPORT_TARGET";
|
|
44
27
|
export declare class ResolveModuleError extends Error {
|
|
45
28
|
code: ResolveModuleErrorCode;
|
|
46
|
-
pkgJson?:
|
|
47
|
-
constructor(code: ResolveModuleErrorCode, message: string, pkgJson?:
|
|
48
|
-
}
|
|
49
|
-
export type ModuleResolutionResult = ResolvedFile | ResolvedModule;
|
|
50
|
-
export interface ResolvedFile {
|
|
51
|
-
type: "file";
|
|
52
|
-
path: string;
|
|
53
|
-
}
|
|
54
|
-
export interface ResolvedModule {
|
|
55
|
-
type: "module";
|
|
56
|
-
/**
|
|
57
|
-
* Root of the package. (Same level as package.json)
|
|
58
|
-
*/
|
|
59
|
-
path: string;
|
|
60
|
-
/**
|
|
61
|
-
* Resolved main file for the module.
|
|
62
|
-
*/
|
|
63
|
-
mainFile: string;
|
|
64
|
-
/**
|
|
65
|
-
* Value of package.json.
|
|
66
|
-
*/
|
|
67
|
-
manifest: PackageJson;
|
|
29
|
+
pkgJson?: NodePackage | undefined;
|
|
30
|
+
constructor(code: ResolveModuleErrorCode, message: string, pkgJson?: NodePackage | undefined);
|
|
68
31
|
}
|
|
69
32
|
/**
|
|
70
33
|
* Resolve a module
|
|
@@ -75,11 +38,5 @@ export interface ResolvedModule {
|
|
|
75
38
|
* @throws {ResolveModuleError} When the module cannot be resolved.
|
|
76
39
|
*/
|
|
77
40
|
export declare function resolveModule(host: ResolveModuleHost, specifier: string, options: ResolveModuleOptions): Promise<ModuleResolutionResult>;
|
|
78
|
-
interface PackageJsonFile extends PackageJson {
|
|
79
|
-
readonly file: {
|
|
80
|
-
readonly path: string;
|
|
81
|
-
readonly text: string;
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
41
|
export {};
|
|
85
42
|
//# sourceMappingURL=module-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-resolver.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/module-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-resolver.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/module-resolver.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,WAAW,EAGX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IAEnC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED,KAAK,sBAAsB,GACvB,kBAAkB,GAClB,cAAc,GACd,gBAAgB;AAClB,iDAAiD;GAC/C,8BAA8B;AAChC,iDAAiD;GAC/C,8BAA8B,CAAC;AAEnC,qBAAa,kBAAmB,SAAQ,KAAK;IAElC,IAAI,EAAE,sBAAsB;IAE5B,OAAO,CAAC,EAAE,WAAW;gBAFrB,IAAI,EAAE,sBAAsB,EACnC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,WAAW,YAAA;CAI/B;AAID;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CA+RjC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { joinPaths, normalizePath, resolvePath } from "../core/path-utils.js";
|
|
2
2
|
import { resolvePackageExports } from "./esm/resolve-package-exports.js";
|
|
3
3
|
import { resolvePackageImports } from "./esm/resolve-package-imports.js";
|
|
4
4
|
import { EsmResolveError, InvalidPackageTargetError, NoMatchingConditionsError, } from "./esm/utils.js";
|
|
5
|
-
import {
|
|
5
|
+
import { NodePackageResolver } from "./node-package-resolver.js";
|
|
6
|
+
import { fileURLToPath, isFile, listDirHierarchy, parseNodeModuleSpecifier, pathToFileURL, readPackage, } from "./utils.js";
|
|
6
7
|
export class ResolveModuleError extends Error {
|
|
7
8
|
code;
|
|
8
9
|
pkgJson;
|
|
@@ -22,6 +23,7 @@ const defaultDirectoryIndexFiles = ["index.mjs", "index.js"];
|
|
|
22
23
|
* @throws {ResolveModuleError} When the module cannot be resolved.
|
|
23
24
|
*/
|
|
24
25
|
export async function resolveModule(host, specifier, options) {
|
|
26
|
+
const nodePackageResolver = new NodePackageResolver(host);
|
|
25
27
|
const { baseDir } = options;
|
|
26
28
|
const absoluteStart = await realpath(resolvePath(baseDir));
|
|
27
29
|
// Check if the module name is referencing a path(./foo, /foo, file:/foo)
|
|
@@ -45,14 +47,13 @@ export async function resolveModule(host, specifier, options) {
|
|
|
45
47
|
return module;
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return module;
|
|
50
|
+
const moduleSpecifier = parseNodeModuleSpecifier(specifier);
|
|
51
|
+
if (moduleSpecifier !== null) {
|
|
52
|
+
const pkg = await nodePackageResolver.resolve(moduleSpecifier.packageName, absoluteStart);
|
|
53
|
+
const n = pkg && (await loadPackage(pkg, moduleSpecifier.subPath));
|
|
54
|
+
if (n)
|
|
55
|
+
return n;
|
|
56
|
+
}
|
|
56
57
|
throw new ResolveModuleError("MODULE_NOT_FOUND", `Cannot find module '${specifier}' from '${baseDir}'`);
|
|
57
58
|
async function realpath(path) {
|
|
58
59
|
try {
|
|
@@ -65,59 +66,25 @@ export async function resolveModule(host, specifier, options) {
|
|
|
65
66
|
throw e;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Returns a list of all the parent directory and the given one.
|
|
70
|
-
*/
|
|
71
|
-
function listDirHierarchy(baseDir) {
|
|
72
|
-
const paths = [baseDir];
|
|
73
|
-
let current = getDirectoryPath(baseDir);
|
|
74
|
-
while (current !== paths[paths.length - 1]) {
|
|
75
|
-
paths.push(current);
|
|
76
|
-
current = getDirectoryPath(current);
|
|
77
|
-
}
|
|
78
|
-
return paths;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Equivalent implementation to node LOAD_PACKAGE_SELF
|
|
82
|
-
* Resolve if the import is importing the current package.
|
|
83
|
-
*/
|
|
84
|
-
async function resolveSelf(name, baseDir) {
|
|
85
|
-
for (const dir of listDirHierarchy(baseDir)) {
|
|
86
|
-
const pkgFile = resolvePath(dir, "package.json");
|
|
87
|
-
if (!(await isFile(host, pkgFile)))
|
|
88
|
-
continue;
|
|
89
|
-
const pkg = await readPackage(host, pkgFile);
|
|
90
|
-
if (pkg.name === name) {
|
|
91
|
-
return loadPackage(dir, pkg);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return undefined;
|
|
98
|
-
}
|
|
99
69
|
/**
|
|
100
70
|
* Equivalent implementation to node LOAD_NODE_MODULES with a few non supported features.
|
|
101
71
|
* Cannot load any random file under the load path(only packages).
|
|
102
72
|
*/
|
|
103
|
-
async function resolveAsNodeModule(
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
73
|
+
async function resolveAsNodeModule(specifier, baseDir) {
|
|
74
|
+
const pkg = await nodePackageResolver.resolveFromNodeModules(specifier.packageName, baseDir);
|
|
75
|
+
if (pkg) {
|
|
76
|
+
return await loadPackage(pkg, specifier.subPath);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
106
79
|
return undefined;
|
|
107
|
-
const dirs = listDirHierarchy(baseDir);
|
|
108
|
-
for (const dir of dirs) {
|
|
109
|
-
const n = await loadPackageAtPath(joinPaths(dir, "node_modules", module.packageName), module.subPath);
|
|
110
|
-
if (n)
|
|
111
|
-
return n;
|
|
112
80
|
}
|
|
113
|
-
return undefined;
|
|
114
81
|
}
|
|
115
82
|
async function loadPackageAtPath(path, subPath) {
|
|
116
83
|
const pkgFile = resolvePath(path, "package.json");
|
|
117
84
|
if (!(await isFile(host, pkgFile)))
|
|
118
85
|
return undefined;
|
|
119
86
|
const pkg = await readPackage(host, pkgFile);
|
|
120
|
-
const n = await loadPackage(
|
|
87
|
+
const n = await loadPackage(pkg, subPath);
|
|
121
88
|
if (n)
|
|
122
89
|
return n;
|
|
123
90
|
return undefined;
|
|
@@ -134,7 +101,10 @@ export async function resolveModule(host, specifier, options) {
|
|
|
134
101
|
conditions: options.conditions ?? [],
|
|
135
102
|
ignoreDefaultCondition: options.fallbackOnMissingCondition,
|
|
136
103
|
resolveId: async (id, baseDir) => {
|
|
137
|
-
const
|
|
104
|
+
const specifier = parseNodeModuleSpecifier(id);
|
|
105
|
+
if (specifier === null)
|
|
106
|
+
return undefined;
|
|
107
|
+
const resolved = await resolveAsNodeModule(specifier, fileURLToPath(baseDir.toString()));
|
|
138
108
|
return resolved && pathToFileURL(resolved.mainFile);
|
|
139
109
|
},
|
|
140
110
|
}, pkg.imports);
|
|
@@ -231,14 +201,14 @@ export async function resolveModule(host, specifier, options) {
|
|
|
231
201
|
}
|
|
232
202
|
return undefined;
|
|
233
203
|
}
|
|
234
|
-
async function loadPackage(
|
|
235
|
-
const e = await resolveNodePackageExports(subPath ?? "", pkg,
|
|
204
|
+
async function loadPackage(pkg, subPath) {
|
|
205
|
+
const e = await resolveNodePackageExports(subPath ?? "", pkg, pkg.dir);
|
|
236
206
|
if (e)
|
|
237
207
|
return e;
|
|
238
208
|
if (subPath !== undefined && subPath !== "") {
|
|
239
209
|
return undefined;
|
|
240
210
|
}
|
|
241
|
-
return loadPackageLegacy(
|
|
211
|
+
return loadPackageLegacy(pkg.dir, pkg);
|
|
242
212
|
}
|
|
243
213
|
async function loadPackageLegacy(directory, pkg) {
|
|
244
214
|
const mainFile = options.resolveMain ? options.resolveMain(pkg) : pkg.main;
|
|
@@ -288,43 +258,4 @@ export async function resolveModule(host, specifier, options) {
|
|
|
288
258
|
return { type: "file", path: await realpath(path) };
|
|
289
259
|
}
|
|
290
260
|
}
|
|
291
|
-
async function readPackage(host, pkgfile) {
|
|
292
|
-
const content = await host.readFile(pkgfile);
|
|
293
|
-
return {
|
|
294
|
-
...JSON.parse(content),
|
|
295
|
-
file: {
|
|
296
|
-
path: pkgfile,
|
|
297
|
-
text: content,
|
|
298
|
-
},
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
async function isFile(host, path) {
|
|
302
|
-
try {
|
|
303
|
-
const stats = await host.stat(path);
|
|
304
|
-
return stats.isFile();
|
|
305
|
-
}
|
|
306
|
-
catch (e) {
|
|
307
|
-
if (e.code === "ENOENT" || e.code === "ENOTDIR") {
|
|
308
|
-
return false;
|
|
309
|
-
}
|
|
310
|
-
throw e;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
function pathToFileURL(path) {
|
|
314
|
-
return `file://${path}`;
|
|
315
|
-
}
|
|
316
|
-
function fileURLToPath(url) {
|
|
317
|
-
if (!url.startsWith("file://"))
|
|
318
|
-
throw new Error("Cannot convert non file: URL to path");
|
|
319
|
-
const pathname = url.slice("file://".length);
|
|
320
|
-
for (let n = 0; n < pathname.length; n++) {
|
|
321
|
-
if (pathname[n] === "%") {
|
|
322
|
-
const third = pathname.codePointAt(n + 2) | 0x20;
|
|
323
|
-
if (pathname[n + 1] === "2" && third === 102) {
|
|
324
|
-
throw new Error("Invalid url to path: must not include encoded / characters");
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
return decodeURIComponent(pathname);
|
|
329
|
-
}
|
|
330
261
|
//# sourceMappingURL=module-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-resolver.js","sourceRoot":"","sources":["../../../src/module-resolver/module-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-resolver.js","sourceRoot":"","sources":["../../../src/module-resolver/module-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NodePackage, ResolveModuleHost } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Utility to resolve node packages.
|
|
4
|
+
*/
|
|
5
|
+
export declare class NodePackageResolver {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(host: ResolveModuleHost);
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a node package with the given specifier from the baseDir.
|
|
10
|
+
* @param specifier Node package specifier
|
|
11
|
+
* @returns NodePackage if found or undefined otherwise
|
|
12
|
+
*/
|
|
13
|
+
resolve(specifier: string, baseDir: string): Promise<NodePackage | undefined>;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve the NodePackage for the given specifier
|
|
16
|
+
* Implementation from LOAD_PACKAGE_SELF minus the exports resolution which is called separately.
|
|
17
|
+
*/
|
|
18
|
+
resolveSelf(packageName: string, baseDir: string): Promise<NodePackage | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve a node package from `node_modules`. Follows the implementation of LOAD_NODE_MODULES minus following the exports field.
|
|
21
|
+
*/
|
|
22
|
+
resolveFromNodeModules(packageName: string, baseDir: string): Promise<NodePackage | undefined>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=node-package-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-package-resolver.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/node-package-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG5D;;GAEG;AACH,qBAAa,mBAAmB;;gBAGlB,IAAI,EAAE,iBAAiB;IAInC;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAOnF;;;OAGG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAczF;;OAEG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAcpC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { joinPaths, resolvePath } from "../core/path-utils.js";
|
|
2
|
+
import { isFile, listDirHierarchy, readPackage } from "./utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Utility to resolve node packages.
|
|
5
|
+
*/
|
|
6
|
+
export class NodePackageResolver {
|
|
7
|
+
#host;
|
|
8
|
+
constructor(host) {
|
|
9
|
+
this.#host = host;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Resolve a node package with the given specifier from the baseDir.
|
|
13
|
+
* @param specifier Node package specifier
|
|
14
|
+
* @returns NodePackage if found or undefined otherwise
|
|
15
|
+
*/
|
|
16
|
+
async resolve(specifier, baseDir) {
|
|
17
|
+
return ((await this.resolveSelf(specifier, baseDir)) ??
|
|
18
|
+
(await this.resolveFromNodeModules(specifier, baseDir)));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the NodePackage for the given specifier
|
|
22
|
+
* Implementation from LOAD_PACKAGE_SELF minus the exports resolution which is called separately.
|
|
23
|
+
*/
|
|
24
|
+
async resolveSelf(packageName, baseDir) {
|
|
25
|
+
for (const dir of listDirHierarchy(baseDir)) {
|
|
26
|
+
const pkgFile = resolvePath(dir, "package.json");
|
|
27
|
+
if (!(await isFile(this.#host, pkgFile)))
|
|
28
|
+
continue;
|
|
29
|
+
const pkg = await readPackage(this.#host, pkgFile);
|
|
30
|
+
if (pkg.name === packageName) {
|
|
31
|
+
return pkg;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a node package from `node_modules`. Follows the implementation of LOAD_NODE_MODULES minus following the exports field.
|
|
41
|
+
*/
|
|
42
|
+
async resolveFromNodeModules(packageName, baseDir) {
|
|
43
|
+
const dirs = listDirHierarchy(baseDir);
|
|
44
|
+
for (const dir of dirs) {
|
|
45
|
+
const path = joinPaths(dir, "node_modules", packageName);
|
|
46
|
+
const pkgFile = resolvePath(path, "package.json");
|
|
47
|
+
if (await isFile(this.#host, pkgFile)) {
|
|
48
|
+
const pkg = await readPackage(this.#host, pkgFile);
|
|
49
|
+
if (pkg)
|
|
50
|
+
return pkg;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=node-package-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-package-resolver.js","sourceRoot":"","sources":["../../../src/module-resolver/node-package-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAoB;IAEzB,YAAY,IAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,OAAe;QAC9C,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,OAAe;QACpD,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAAE,SAAS;YACnD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,WAAmB,EACnB,OAAe;QAEf,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAElD,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnD,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PackageJson } from "../types/package-json.js";
|
|
2
|
+
export interface ResolveModuleHost {
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the real path for the current host.
|
|
5
|
+
*/
|
|
6
|
+
realpath(path: string): Promise<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Get information about the given path
|
|
9
|
+
*/
|
|
10
|
+
stat(path: string): Promise<{
|
|
11
|
+
isDirectory(): boolean;
|
|
12
|
+
isFile(): boolean;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Read a utf-8 encoded file.
|
|
16
|
+
*/
|
|
17
|
+
readFile(path: string): Promise<string>;
|
|
18
|
+
}
|
|
19
|
+
export type ModuleResolutionResult = ResolvedFile | ResolvedModule;
|
|
20
|
+
export interface ResolvedFile {
|
|
21
|
+
type: "file";
|
|
22
|
+
path: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ResolvedModule {
|
|
25
|
+
type: "module";
|
|
26
|
+
/**
|
|
27
|
+
* Root of the package. (Same level as package.json)
|
|
28
|
+
*/
|
|
29
|
+
path: string;
|
|
30
|
+
/**
|
|
31
|
+
* Resolved main file for the module.
|
|
32
|
+
*/
|
|
33
|
+
mainFile: string;
|
|
34
|
+
/**
|
|
35
|
+
* Value of package.json.
|
|
36
|
+
*/
|
|
37
|
+
manifest: PackageJson;
|
|
38
|
+
}
|
|
39
|
+
export interface NodePackage extends PackageJson {
|
|
40
|
+
/** Package root dir(Where package.json is located) */
|
|
41
|
+
readonly dir: string;
|
|
42
|
+
readonly file: {
|
|
43
|
+
readonly path: string;
|
|
44
|
+
readonly text: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,IAAI,OAAO,CAAC;QAAC,MAAM,IAAI,OAAO,CAAA;KAAE,CAAC,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/module-resolver/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import type { NodePackage, ResolveModuleHost } from "./types.js";
|
|
1
2
|
export interface NodeModuleSpecifier {
|
|
2
3
|
readonly packageName: string;
|
|
3
4
|
readonly subPath: string;
|
|
4
5
|
}
|
|
5
6
|
export declare function parseNodeModuleSpecifier(id: string): NodeModuleSpecifier | null;
|
|
7
|
+
export declare function readPackage(host: ResolveModuleHost, pkgfile: string): Promise<NodePackage>;
|
|
8
|
+
export declare function isFile(host: ResolveModuleHost, path: string): Promise<boolean>;
|
|
9
|
+
export declare function pathToFileURL(path: string): string;
|
|
10
|
+
export declare function fileURLToPath(url: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a list of all the parent directory and the given one.
|
|
13
|
+
*/
|
|
14
|
+
export declare function listDirHierarchy(baseDir: string): string[];
|
|
6
15
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/module-resolver/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAgB/E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAUhG;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,oBAUjE;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAgBxC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAS1D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getDirectoryPath } from "../core/path-utils.js";
|
|
1
2
|
// returns the imported package name for bare module imports
|
|
2
3
|
export function parseNodeModuleSpecifier(id) {
|
|
3
4
|
if (id.startsWith(".") || id.startsWith("/")) {
|
|
@@ -13,4 +14,56 @@ export function parseNodeModuleSpecifier(id) {
|
|
|
13
14
|
// my-package -> my-package
|
|
14
15
|
return { packageName: split[0], subPath: split.slice(1).join("/") };
|
|
15
16
|
}
|
|
17
|
+
export async function readPackage(host, pkgfile) {
|
|
18
|
+
const content = await host.readFile(pkgfile);
|
|
19
|
+
return {
|
|
20
|
+
...JSON.parse(content),
|
|
21
|
+
dir: getDirectoryPath(pkgfile),
|
|
22
|
+
file: {
|
|
23
|
+
path: pkgfile,
|
|
24
|
+
text: content,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export async function isFile(host, path) {
|
|
29
|
+
try {
|
|
30
|
+
const stats = await host.stat(path);
|
|
31
|
+
return stats.isFile();
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
if (e.code === "ENOENT" || e.code === "ENOTDIR") {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
throw e;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function pathToFileURL(path) {
|
|
41
|
+
return `file://${path}`;
|
|
42
|
+
}
|
|
43
|
+
export function fileURLToPath(url) {
|
|
44
|
+
if (!url.startsWith("file://"))
|
|
45
|
+
throw new Error("Cannot convert non file: URL to path");
|
|
46
|
+
const pathname = url.slice("file://".length);
|
|
47
|
+
for (let n = 0; n < pathname.length; n++) {
|
|
48
|
+
if (pathname[n] === "%") {
|
|
49
|
+
const third = pathname.codePointAt(n + 2) | 0x20;
|
|
50
|
+
if (pathname[n + 1] === "2" && third === 102) {
|
|
51
|
+
throw new Error("Invalid url to path: must not include encoded / characters");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return decodeURIComponent(pathname);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Returns a list of all the parent directory and the given one.
|
|
59
|
+
*/
|
|
60
|
+
export function listDirHierarchy(baseDir) {
|
|
61
|
+
const paths = [baseDir];
|
|
62
|
+
let current = getDirectoryPath(baseDir);
|
|
63
|
+
while (current !== paths[paths.length - 1]) {
|
|
64
|
+
paths.push(current);
|
|
65
|
+
current = getDirectoryPath(current);
|
|
66
|
+
}
|
|
67
|
+
return paths;
|
|
68
|
+
}
|
|
16
69
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/module-resolver/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/module-resolver/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/runner.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access, readFile, realpath, stat } from "fs/promises";
|
|
2
2
|
import { join, resolve } from "path";
|
|
3
3
|
import { fileURLToPath, pathToFileURL } from "url";
|
|
4
|
-
import { resolveModule } from "./module-resolver/
|
|
4
|
+
import { resolveModule } from "./module-resolver/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Run script given by relative path from @typespec/compiler package root.
|
|
7
7
|
* Prefer local install resolved from cwd over current package.
|
package/dist/src/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAqB,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAqB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB,EAAE,UAAkB;IACtE,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE/C,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;YACnD,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC;SAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,MAAM,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAsB;YAC9B,QAAQ;YACR,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/D,IAAI;SACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,2FAA2F,QAAQ,CAAC,IAAI,IAAI,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,mDAAmD;YACnD,OAAO,MAAM,kBAAkB,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,OAAO,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -18,7 +18,7 @@ import { getTypeSpecCoreTemplates } from "../init/core-templates.js";
|
|
|
18
18
|
import { validateTemplateDefinitions } from "../init/init-template-validate.js";
|
|
19
19
|
import { scaffoldNewProject } from "../init/scaffold.js";
|
|
20
20
|
import { typespecVersion } from "../manifest.js";
|
|
21
|
-
import { resolveModule } from "../module-resolver/
|
|
21
|
+
import { resolveModule } from "../module-resolver/index.js";
|
|
22
22
|
import { listAllFilesInDir } from "../utils/fs-utils.js";
|
|
23
23
|
import { getNormalizedRealPath, resolveTspMain } from "../utils/misc.js";
|
|
24
24
|
import { getSemanticTokens } from "./classify.js";
|