@typespec/compiler 0.61.0-dev.2 → 0.61.0-dev.20

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.
Files changed (179) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/config/config-interpolation.d.ts.map +1 -1
  3. package/dist/src/config/config-interpolation.js +39 -11
  4. package/dist/src/config/config-interpolation.js.map +1 -1
  5. package/dist/src/config/config-to-options.d.ts +1 -0
  6. package/dist/src/config/config-to-options.d.ts.map +1 -1
  7. package/dist/src/config/config-to-options.js +45 -2
  8. package/dist/src/config/config-to-options.js.map +1 -1
  9. package/dist/src/core/binder.d.ts.map +1 -1
  10. package/dist/src/core/binder.js +7 -1
  11. package/dist/src/core/binder.js.map +1 -1
  12. package/dist/src/core/checker.d.ts.map +1 -1
  13. package/dist/src/core/checker.js +4 -34
  14. package/dist/src/core/checker.js.map +1 -1
  15. package/dist/src/core/cli/actions/compile/args.d.ts +2 -0
  16. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
  17. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  18. package/dist/src/core/cli/actions/compile/compile.d.ts +1 -4
  19. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  20. package/dist/src/core/cli/actions/compile/compile.js +26 -13
  21. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  22. package/dist/src/core/diagnostic-creator.d.ts.map +1 -1
  23. package/dist/src/core/diagnostic-creator.js +5 -1
  24. package/dist/src/core/diagnostic-creator.js.map +1 -1
  25. package/dist/src/core/index.d.ts +1 -1
  26. package/dist/src/core/index.d.ts.map +1 -1
  27. package/dist/src/core/index.js +1 -1
  28. package/dist/src/core/index.js.map +1 -1
  29. package/dist/src/core/js-marshaller.d.ts.map +1 -1
  30. package/dist/src/core/js-marshaller.js +16 -1
  31. package/dist/src/core/js-marshaller.js.map +1 -1
  32. package/dist/src/core/logger/console-sink.js +1 -1
  33. package/dist/src/core/logger/console-sink.js.map +1 -1
  34. package/dist/src/core/messages.d.ts +27 -12
  35. package/dist/src/core/messages.d.ts.map +1 -1
  36. package/dist/src/core/messages.js +9 -2
  37. package/dist/src/core/messages.js.map +1 -1
  38. package/dist/src/core/numeric.js +1 -1
  39. package/dist/src/core/numeric.js.map +1 -1
  40. package/dist/src/core/program.d.ts.map +1 -1
  41. package/dist/src/core/program.js +19 -38
  42. package/dist/src/core/program.js.map +1 -1
  43. package/dist/src/core/source-loader.d.ts +4 -2
  44. package/dist/src/core/source-loader.d.ts.map +1 -1
  45. package/dist/src/core/source-loader.js +26 -12
  46. package/dist/src/core/source-loader.js.map +1 -1
  47. package/dist/src/core/types.d.ts +30 -4
  48. package/dist/src/core/types.d.ts.map +1 -1
  49. package/dist/src/experimental/index.d.ts +5 -0
  50. package/dist/src/experimental/index.d.ts.map +1 -0
  51. package/dist/src/experimental/index.js +5 -0
  52. package/dist/src/experimental/index.js.map +1 -0
  53. package/dist/src/experimental/mutators.d.ts +57 -0
  54. package/dist/src/experimental/mutators.d.ts.map +1 -0
  55. package/dist/src/experimental/mutators.js +173 -0
  56. package/dist/src/experimental/mutators.js.map +1 -0
  57. package/dist/src/experimental/realm.d.ts +34 -0
  58. package/dist/src/experimental/realm.d.ts.map +1 -0
  59. package/dist/src/experimental/realm.js +128 -0
  60. package/dist/src/experimental/realm.js.map +1 -0
  61. package/dist/src/experimental/state-accessor.d.ts +13 -0
  62. package/dist/src/experimental/state-accessor.d.ts.map +1 -0
  63. package/dist/src/experimental/state-accessor.js +14 -0
  64. package/dist/src/experimental/state-accessor.js.map +1 -0
  65. package/dist/src/experimental/typekit/define-kit.d.ts +28 -0
  66. package/dist/src/experimental/typekit/define-kit.d.ts.map +1 -0
  67. package/dist/src/experimental/typekit/define-kit.js +45 -0
  68. package/dist/src/experimental/typekit/define-kit.js.map +1 -0
  69. package/dist/src/experimental/typekit/index.d.ts +3 -0
  70. package/dist/src/experimental/typekit/index.d.ts.map +1 -0
  71. package/dist/src/experimental/typekit/index.js +3 -0
  72. package/dist/src/experimental/typekit/index.js.map +1 -0
  73. package/dist/src/experimental/typekit/kits/index.d.ts +9 -0
  74. package/dist/src/experimental/typekit/kits/index.d.ts.map +1 -0
  75. package/dist/src/experimental/typekit/kits/index.js +9 -0
  76. package/dist/src/experimental/typekit/kits/index.js.map +1 -0
  77. package/dist/src/experimental/typekit/kits/literal.d.ts +59 -0
  78. package/dist/src/experimental/typekit/kits/literal.d.ts.map +1 -0
  79. package/dist/src/experimental/typekit/kits/literal.js +51 -0
  80. package/dist/src/experimental/typekit/kits/literal.js.map +1 -0
  81. package/dist/src/experimental/typekit/kits/model-property.d.ts +45 -0
  82. package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -0
  83. package/dist/src/experimental/typekit/kits/model-property.js +19 -0
  84. package/dist/src/experimental/typekit/kits/model-property.js.map +1 -0
  85. package/dist/src/experimental/typekit/kits/model.d.ts +48 -0
  86. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -0
  87. package/dist/src/experimental/typekit/kits/model.js +26 -0
  88. package/dist/src/experimental/typekit/kits/model.js.map +1 -0
  89. package/dist/src/experimental/typekit/kits/realm.d.ts +24 -0
  90. package/dist/src/experimental/typekit/kits/realm.d.ts.map +1 -0
  91. package/dist/src/experimental/typekit/kits/realm.js +17 -0
  92. package/dist/src/experimental/typekit/kits/realm.js.map +1 -0
  93. package/dist/src/experimental/typekit/kits/scalar.d.ts +354 -0
  94. package/dist/src/experimental/typekit/kits/scalar.d.ts.map +1 -0
  95. package/dist/src/experimental/typekit/kits/scalar.js +91 -0
  96. package/dist/src/experimental/typekit/kits/scalar.js.map +1 -0
  97. package/dist/src/experimental/typekit/kits/type.d.ts +25 -0
  98. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -0
  99. package/dist/src/experimental/typekit/kits/type.js +55 -0
  100. package/dist/src/experimental/typekit/kits/type.js.map +1 -0
  101. package/dist/src/experimental/typekit/kits/union-variant.d.ts +43 -0
  102. package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -0
  103. package/dist/src/experimental/typekit/kits/union-variant.js +22 -0
  104. package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -0
  105. package/dist/src/experimental/typekit/kits/union.d.ts +56 -0
  106. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -0
  107. package/dist/src/experimental/typekit/kits/union.js +69 -0
  108. package/dist/src/experimental/typekit/kits/union.js.map +1 -0
  109. package/dist/src/experimental/typekit/utils.d.ts +8 -0
  110. package/dist/src/experimental/typekit/utils.d.ts.map +1 -0
  111. package/dist/src/experimental/typekit/utils.js +28 -0
  112. package/dist/src/experimental/typekit/utils.js.map +1 -0
  113. package/dist/src/index.d.ts +3 -0
  114. package/dist/src/index.d.ts.map +1 -1
  115. package/dist/src/init/scaffold.d.ts.map +1 -1
  116. package/dist/src/init/scaffold.js.map +1 -1
  117. package/dist/src/lib/decorators.d.ts +35 -19
  118. package/dist/src/lib/decorators.d.ts.map +1 -1
  119. package/dist/src/lib/decorators.js +70 -88
  120. package/dist/src/lib/decorators.js.map +1 -1
  121. package/dist/src/lib/encoded-names.js +6 -8
  122. package/dist/src/lib/encoded-names.js.map +1 -1
  123. package/dist/src/lib/examples.d.ts.map +1 -1
  124. package/dist/src/lib/examples.js +6 -4
  125. package/dist/src/lib/examples.js.map +1 -1
  126. package/dist/src/lib/service.d.ts +3 -1
  127. package/dist/src/lib/service.d.ts.map +1 -1
  128. package/dist/src/lib/service.js +5 -8
  129. package/dist/src/lib/service.js.map +1 -1
  130. package/dist/src/lib/utils.d.ts +4 -0
  131. package/dist/src/lib/utils.d.ts.map +1 -0
  132. package/dist/src/lib/utils.js +11 -0
  133. package/dist/src/lib/utils.js.map +1 -0
  134. package/dist/src/module-resolver/esm/resolve-package-exports.d.ts +9 -0
  135. package/dist/src/module-resolver/esm/resolve-package-exports.d.ts.map +1 -0
  136. package/dist/src/module-resolver/esm/resolve-package-exports.js +58 -0
  137. package/dist/src/module-resolver/esm/resolve-package-exports.js.map +1 -0
  138. package/dist/src/module-resolver/esm/resolve-package-imports-exports.d.ts +11 -0
  139. package/dist/src/module-resolver/esm/resolve-package-imports-exports.d.ts.map +1 -0
  140. package/dist/src/module-resolver/esm/resolve-package-imports-exports.js +72 -0
  141. package/dist/src/module-resolver/esm/resolve-package-imports-exports.js.map +1 -0
  142. package/dist/src/module-resolver/esm/resolve-package-target.d.ts +10 -0
  143. package/dist/src/module-resolver/esm/resolve-package-target.d.ts.map +1 -0
  144. package/dist/src/module-resolver/esm/resolve-package-target.js +133 -0
  145. package/dist/src/module-resolver/esm/resolve-package-target.js.map +1 -0
  146. package/dist/src/module-resolver/esm/utils.d.ts +35 -0
  147. package/dist/src/module-resolver/esm/utils.d.ts.map +1 -0
  148. package/dist/src/module-resolver/esm/utils.js +40 -0
  149. package/dist/src/module-resolver/esm/utils.js.map +1 -0
  150. package/dist/src/{core → module-resolver}/module-resolver.d.ts +16 -25
  151. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -0
  152. package/dist/src/module-resolver/module-resolver.js +272 -0
  153. package/dist/src/module-resolver/module-resolver.js.map +1 -0
  154. package/dist/src/module-resolver/utils.d.ts +6 -0
  155. package/dist/src/module-resolver/utils.d.ts.map +1 -0
  156. package/dist/src/module-resolver/utils.js +16 -0
  157. package/dist/src/module-resolver/utils.js.map +1 -0
  158. package/dist/src/runner.js +1 -1
  159. package/dist/src/runner.js.map +1 -1
  160. package/dist/src/server/completion.d.ts.map +1 -1
  161. package/dist/src/server/completion.js.map +1 -1
  162. package/dist/src/server/file-system-cache.js +2 -2
  163. package/dist/src/server/file-system-cache.js.map +1 -1
  164. package/dist/src/testing/test-host.js +1 -1
  165. package/dist/src/testing/test-host.js.map +1 -1
  166. package/dist/src/types/package-json.d.ts +40 -0
  167. package/dist/src/types/package-json.d.ts.map +1 -0
  168. package/dist/src/types/package-json.js +2 -0
  169. package/dist/src/types/package-json.js.map +1 -0
  170. package/package.json +11 -7
  171. package/templates/__snapshots__/emitter-ts/.gitignore +9 -0
  172. package/templates/__snapshots__/emitter-ts/eslint.config.js +1 -1
  173. package/templates/__snapshots__/library-ts/.gitignore +9 -0
  174. package/templates/__snapshots__/library-ts/eslint.config.js +1 -1
  175. package/templates/emitter-ts/eslint.config.js +1 -1
  176. package/templates/library-ts/eslint.config.js +1 -1
  177. package/dist/src/core/module-resolver.d.ts.map +0 -1
  178. package/dist/src/core/module-resolver.js +0 -169
  179. package/dist/src/core/module-resolver.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.61.0-dev.2",
3
+ "version": "0.61.0-dev.20",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -34,12 +34,16 @@
34
34
  "default": "./dist/src/testing/index.js"
35
35
  },
36
36
  "./module-resolver": {
37
- "types": "./dist/src/core/module-resolver.d.ts",
38
- "default": "./dist/src/core/module-resolver.js"
37
+ "types": "./dist/module-resolver/module-resolver.d.ts",
38
+ "default": "./dist/src/module-resolver/module-resolver.js"
39
39
  },
40
40
  "./emitter-framework": {
41
41
  "types": "./dist/src/emitter-framework/index.d.ts",
42
42
  "default": "./dist/src/emitter-framework/index.js"
43
+ },
44
+ "./experimental": {
45
+ "types": "./dist/src/experimental/index.d.ts",
46
+ "default": "./dist/src/experimental/index.js"
43
47
  }
44
48
  },
45
49
  "browser": {
@@ -79,13 +83,13 @@
79
83
  "devDependencies": {
80
84
  "@types/babel__code-frame": "~7.0.6",
81
85
  "@types/mustache": "~4.2.5",
82
- "@types/node": "~22.5.4",
86
+ "@types/node": "~22.7.1",
83
87
  "@types/prompts": "~2.4.9",
84
88
  "@types/semver": "^7.5.8",
85
89
  "@types/yargs": "~17.0.33",
86
90
  "@typespec/internal-build-utils": "~0.60.0 || >=0.61.0-dev <0.61.0",
87
- "@vitest/coverage-v8": "^2.1.0",
88
- "@vitest/ui": "^2.1.0",
91
+ "@vitest/coverage-v8": "^2.1.1",
92
+ "@vitest/ui": "^2.1.1",
89
93
  "c8": "^10.1.2",
90
94
  "grammarkdown": "~3.3.2",
91
95
  "rimraf": "~6.0.1",
@@ -93,7 +97,7 @@
93
97
  "tmlanguage-generator": "~0.5.8 || >=0.6.0-dev <0.6.0",
94
98
  "ts-node": "~10.9.2",
95
99
  "typescript": "~5.6.2",
96
- "vitest": "^2.1.0",
100
+ "vitest": "^2.1.1",
97
101
  "vscode-oniguruma": "~2.0.1",
98
102
  "vscode-textmate": "~9.1.0"
99
103
  },
@@ -0,0 +1,9 @@
1
+ # MacOS
2
+ .DS_Store
3
+
4
+ # Default TypeSpec output
5
+ tsp-output/
6
+ dist/
7
+
8
+ # Dependency directories
9
+ node_modules/
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );
@@ -0,0 +1,9 @@
1
+ # MacOS
2
+ .DS_Store
3
+
4
+ # Default TypeSpec output
5
+ tsp-output/
6
+ dist/
7
+
8
+ # Dependency directories
9
+ node_modules/
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/module-resolver.ts"],"names":[],"mappings":"AAEA,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;CAChC;AAED,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;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,KAAK,sBAAsB,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAClE,qBAAa,kBAAmB,SAAQ,KAAK;IAElC,IAAI,EAAE,sBAAsB;gBAA5B,IAAI,EAAE,sBAAsB,EACnC,OAAO,EAAE,MAAM;CAIlB;AAID,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;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAgKjC"}
@@ -1,169 +0,0 @@
1
- import { getDirectoryPath, joinPaths, resolvePath } from "./path-utils.js";
2
- export class ResolveModuleError extends Error {
3
- code;
4
- constructor(code, message) {
5
- super(message);
6
- this.code = code;
7
- }
8
- }
9
- const defaultDirectoryIndexFiles = ["index.mjs", "index.js"];
10
- /**
11
- * Resolve a module
12
- * @param host
13
- * @param name
14
- * @param options
15
- * @returns
16
- */
17
- export async function resolveModule(host, name, options) {
18
- const realpath = async (x) => resolvePath(await host.realpath(x));
19
- const { baseDir } = options;
20
- const absoluteStart = baseDir === "" ? "." : await realpath(resolvePath(baseDir));
21
- if (!(await isDirectory(host, absoluteStart))) {
22
- throw new TypeError(`Provided basedir '${baseDir}'is not a directory.`);
23
- }
24
- // Check if the module name is referencing a path(./foo, /foo, file:/foo)
25
- if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(name)) {
26
- const res = resolvePath(absoluteStart, name);
27
- const m = (await loadAsFile(res)) || (await loadAsDirectory(res));
28
- if (m) {
29
- return m;
30
- }
31
- }
32
- const module = await findAsNodeModule(name, absoluteStart);
33
- if (module)
34
- return module;
35
- throw new ResolveModuleError("MODULE_NOT_FOUND", `Cannot find module '${name}' from '${baseDir}'`);
36
- /**
37
- * Returns a list of all the parent directory and the given one.
38
- */
39
- function listAllParentDirs(baseDir) {
40
- const paths = [baseDir];
41
- let current = getDirectoryPath(baseDir);
42
- while (current !== paths[paths.length - 1]) {
43
- paths.push(current);
44
- current = getDirectoryPath(current);
45
- }
46
- return paths;
47
- }
48
- function getPackageCandidates(name, baseDir) {
49
- const dirs = listAllParentDirs(baseDir);
50
- return dirs.flatMap((x) => [
51
- { path: x, type: "self" },
52
- { path: joinPaths(x, "node_modules", name), type: "node_modules" },
53
- ]);
54
- }
55
- async function findAsNodeModule(name, baseDir) {
56
- const dirs = getPackageCandidates(name, baseDir);
57
- for (const { type, path } of dirs) {
58
- if (type === "node_modules") {
59
- if (await isDirectory(host, path)) {
60
- const n = await loadAsDirectory(path, true);
61
- if (n)
62
- return n;
63
- }
64
- }
65
- else if (type === "self") {
66
- const pkgFile = resolvePath(path, "package.json");
67
- if (await isFile(host, pkgFile)) {
68
- const pkg = await readPackage(host, pkgFile);
69
- if (pkg.name === name) {
70
- const n = await loadPackage(path, pkg);
71
- if (n)
72
- return n;
73
- }
74
- }
75
- }
76
- }
77
- return undefined;
78
- }
79
- async function loadAsDirectory(directory, mustBePackage) {
80
- const pkgFile = resolvePath(directory, "package.json");
81
- if (await isFile(host, pkgFile)) {
82
- const pkg = await readPackage(host, pkgFile);
83
- return loadPackage(directory, pkg);
84
- }
85
- if (mustBePackage) {
86
- return undefined;
87
- }
88
- for (const file of options.directoryIndexFiles ?? defaultDirectoryIndexFiles) {
89
- const resolvedFile = await loadAsFile(joinPaths(directory, file));
90
- if (resolvedFile) {
91
- return resolvedFile;
92
- }
93
- }
94
- return undefined;
95
- }
96
- async function loadPackage(directory, pkg) {
97
- const mainFile = options.resolveMain ? options.resolveMain(pkg) : pkg.main;
98
- if (typeof mainFile !== "string") {
99
- throw new TypeError(`package "${pkg.name}" main must be a string but was '${mainFile}'`);
100
- }
101
- const mainFullPath = resolvePath(directory, mainFile);
102
- let loaded;
103
- try {
104
- loaded = (await loadAsFile(mainFullPath)) ?? (await loadAsDirectory(mainFullPath));
105
- }
106
- catch (e) {
107
- throw new Error(`Cannot find module '${mainFullPath}'. Please verify that the package.json has a valid "main" entry`);
108
- }
109
- if (loaded) {
110
- if (loaded.type === "module") {
111
- return loaded;
112
- }
113
- return {
114
- type: "module",
115
- path: await realpath(directory),
116
- mainFile: loaded.path,
117
- manifest: pkg,
118
- };
119
- }
120
- else {
121
- throw new ResolveModuleError("INVALID_MAIN", `Package ${pkg.name} main file "${mainFile}" is invalid.`);
122
- }
123
- }
124
- async function loadAsFile(file) {
125
- if (await isFile(host, file)) {
126
- return resolvedFile(file);
127
- }
128
- const extensions = [".mjs", ".js"];
129
- for (const ext of extensions) {
130
- const fileWithExtension = file + ext;
131
- if (await isFile(host, fileWithExtension)) {
132
- return resolvedFile(fileWithExtension);
133
- }
134
- }
135
- return undefined;
136
- }
137
- async function resolvedFile(path) {
138
- return { type: "file", path: await realpath(path) };
139
- }
140
- }
141
- async function readPackage(host, pkgfile) {
142
- const content = await host.readFile(pkgfile);
143
- return JSON.parse(content);
144
- }
145
- async function isDirectory(host, path) {
146
- try {
147
- const stats = await host.stat(path);
148
- return stats.isDirectory();
149
- }
150
- catch (e) {
151
- if (e.code === "ENOENT" || e.code === "ENOTDIR") {
152
- return false;
153
- }
154
- throw e;
155
- }
156
- }
157
- async function isFile(host, path) {
158
- try {
159
- const stats = await host.stat(path);
160
- return stats.isFile();
161
- }
162
- catch (e) {
163
- if (e.code === "ENOENT" || e.code === "ENOTDIR") {
164
- return false;
165
- }
166
- throw e;
167
- }
168
- }
169
- //# sourceMappingURL=module-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-resolver.js","sourceRoot":"","sources":["../../../src/core/module-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAyD3E,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAElC;IADT,YACS,IAA4B,EACnC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAwB;IAIrC,CAAC;CACF;AAED,MAAM,0BAA0B,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AA4B7D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB,EACvB,IAAY,EACZ,OAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,aAAa,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAElF,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,qBAAqB,OAAO,sBAAsB,CAAC,CAAC;IAC1E,CAAC;IAED,yEAAyE;IACzE,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,uBAAuB,IAAI,WAAW,OAAO,GAAG,CACjD,CAAC;IAEF;;OAEG;IACH,SAAS,iBAAiB,CAAC,OAAe;QACxC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,OAAe;QAEf,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YACzB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,OAAe;QAEf,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC;wBAAE,OAAO,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAElD,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBACtB,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACvC,IAAI,CAAC;4BAAE,OAAO,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAOD,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,aAAuB;QAEvB,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,IAAI,0BAA0B,EAAE,CAAC;YAC7E,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,GAAgB;QAEhB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,YAAY,GAAG,CAAC,IAAI,oCAAoC,QAAQ,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,uBAAuB,YAAY,iEAAiE,CACrG,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC,IAAI;gBACrB,QAAQ,EAAE,GAAG;aACd,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,WAAW,GAAG,CAAC,IAAI,eAAe,QAAQ,eAAe,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,IAAY;QACpC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAAG,IAAI,GAAG,GAAG,CAAC;YACrC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBAC1C,OAAO,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAY;QACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAuB,EAAE,OAAe;IACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAuB,EAAE,IAAY;IAC9D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAuB,EAAE,IAAY;IACzD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}