@typespec/compiler 1.15.0-dev.0 → 1.15.0-dev.12

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 (124) hide show
  1. package/cmd/tsp-server.js +1 -1
  2. package/cmd/tsp.js +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/checker.d.ts +2 -2
  5. package/dist/src/core/checker.d.ts.map +1 -1
  6. package/dist/src/core/cli/actions/init.d.ts +2 -0
  7. package/dist/src/core/cli/actions/init.d.ts.map +1 -1
  8. package/dist/src/core/cli/actions/init.js.map +1 -1
  9. package/dist/src/core/cli/cli.d.ts +15 -1
  10. package/dist/src/core/cli/cli.d.ts.map +1 -1
  11. package/dist/src/core/cli/cli.js +38 -19
  12. package/dist/src/core/cli/cli.js.map +1 -1
  13. package/dist/src/core/cli/utils.d.ts +4 -4
  14. package/dist/src/core/cli/utils.d.ts.map +1 -1
  15. package/dist/src/core/cli/utils.js +6 -6
  16. package/dist/src/core/cli/utils.js.map +1 -1
  17. package/dist/src/core/diagnostic-code.d.ts +59 -0
  18. package/dist/src/core/diagnostic-code.d.ts.map +1 -0
  19. package/dist/src/core/diagnostic-code.js +133 -0
  20. package/dist/src/core/diagnostic-code.js.map +1 -0
  21. package/dist/src/core/file-ref.d.ts +26 -0
  22. package/dist/src/core/file-ref.d.ts.map +1 -0
  23. package/dist/src/core/file-ref.js +19 -0
  24. package/dist/src/core/file-ref.js.map +1 -0
  25. package/dist/src/core/library.d.ts.map +1 -1
  26. package/dist/src/core/library.js +2 -0
  27. package/dist/src/core/library.js.map +1 -1
  28. package/dist/src/core/linter.d.ts +2 -1
  29. package/dist/src/core/linter.d.ts.map +1 -1
  30. package/dist/src/core/linter.js +36 -4
  31. package/dist/src/core/linter.js.map +1 -1
  32. package/dist/src/core/messages.d.ts +20 -2
  33. package/dist/src/core/messages.d.ts.map +1 -1
  34. package/dist/src/core/messages.js +6 -0
  35. package/dist/src/core/messages.js.map +1 -1
  36. package/dist/src/core/name-resolver.d.ts.map +1 -1
  37. package/dist/src/core/name-resolver.js.map +1 -1
  38. package/dist/src/core/program.d.ts +5 -0
  39. package/dist/src/core/program.d.ts.map +1 -1
  40. package/dist/src/core/program.js +48 -4
  41. package/dist/src/core/program.js.map +1 -1
  42. package/dist/src/core/scanner.d.ts.map +1 -1
  43. package/dist/src/core/scanner.js.map +1 -1
  44. package/dist/src/core/suppression-tracking.d.ts +15 -3
  45. package/dist/src/core/suppression-tracking.d.ts.map +1 -1
  46. package/dist/src/core/suppression-tracking.js +41 -6
  47. package/dist/src/core/suppression-tracking.js.map +1 -1
  48. package/dist/src/core/types.d.ts +20 -0
  49. package/dist/src/core/types.d.ts.map +1 -1
  50. package/dist/src/core/types.js.map +1 -1
  51. package/dist/src/experimental/cache.d.ts +19 -0
  52. package/dist/src/experimental/cache.d.ts.map +1 -0
  53. package/dist/src/experimental/cache.js +41 -0
  54. package/dist/src/experimental/cache.js.map +1 -0
  55. package/dist/src/experimental/index.d.ts +1 -0
  56. package/dist/src/experimental/index.d.ts.map +1 -1
  57. package/dist/src/experimental/index.js +1 -0
  58. package/dist/src/experimental/index.js.map +1 -1
  59. package/dist/src/experimental/mutators.d.ts.map +1 -1
  60. package/dist/src/experimental/mutators.js.map +1 -1
  61. package/dist/src/index.d.ts +1 -0
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js +1 -0
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/init/core-templates.d.ts +0 -1
  66. package/dist/src/init/core-templates.d.ts.map +1 -1
  67. package/dist/src/init/core-templates.js +3 -9
  68. package/dist/src/init/core-templates.js.map +1 -1
  69. package/dist/src/init/init.d.ts +8 -7
  70. package/dist/src/init/init.d.ts.map +1 -1
  71. package/dist/src/init/init.js +35 -44
  72. package/dist/src/init/init.js.map +1 -1
  73. package/dist/src/init/scaffold.d.ts +4 -2
  74. package/dist/src/init/scaffold.d.ts.map +1 -1
  75. package/dist/src/init/scaffold.js +4 -4
  76. package/dist/src/init/scaffold.js.map +1 -1
  77. package/dist/src/init/template-source/default-core-templates.d.ts +9 -0
  78. package/dist/src/init/template-source/default-core-templates.d.ts.map +1 -0
  79. package/dist/src/init/template-source/default-core-templates.js +12 -0
  80. package/dist/src/init/template-source/default-core-templates.js.map +1 -0
  81. package/dist/src/init/template-source/in-memory-template-source.d.ts +19 -0
  82. package/dist/src/init/template-source/in-memory-template-source.d.ts.map +1 -0
  83. package/dist/src/init/template-source/in-memory-template-source.js +45 -0
  84. package/dist/src/init/template-source/in-memory-template-source.js.map +1 -0
  85. package/dist/src/init/template-source/index.d.ts +5 -0
  86. package/dist/src/init/template-source/index.d.ts.map +1 -0
  87. package/dist/src/init/template-source/index.js +4 -0
  88. package/dist/src/init/template-source/index.js.map +1 -0
  89. package/dist/src/init/template-source/types.d.ts +21 -0
  90. package/dist/src/init/template-source/types.d.ts.map +1 -0
  91. package/dist/src/init/template-source/types.js +2 -0
  92. package/dist/src/init/template-source/types.js.map +1 -0
  93. package/dist/src/init/template-source/uri-template-source.d.ts +30 -0
  94. package/dist/src/init/template-source/uri-template-source.d.ts.map +1 -0
  95. package/dist/src/init/template-source/uri-template-source.js +45 -0
  96. package/dist/src/init/template-source/uri-template-source.js.map +1 -0
  97. package/dist/src/internals/index.d.ts +2 -0
  98. package/dist/src/internals/index.d.ts.map +1 -1
  99. package/dist/src/internals/index.js +1 -0
  100. package/dist/src/internals/index.js.map +1 -1
  101. package/dist/src/internals/standalone.d.ts +15 -0
  102. package/dist/src/internals/standalone.d.ts.map +1 -0
  103. package/dist/src/internals/standalone.js +14 -0
  104. package/dist/src/internals/standalone.js.map +1 -0
  105. package/dist/src/runner.d.ts +1 -1
  106. package/dist/src/runner.d.ts.map +1 -1
  107. package/dist/src/runner.js +3 -11
  108. package/dist/src/runner.js.map +1 -1
  109. package/dist/src/server/completion.js +17 -1
  110. package/dist/src/server/completion.js.map +1 -1
  111. package/dist/src/server/serverlib.d.ts.map +1 -1
  112. package/dist/src/server/serverlib.js +27 -6
  113. package/dist/src/server/serverlib.js.map +1 -1
  114. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  115. package/dist/src/server/tmlanguage.js +2 -6
  116. package/dist/src/server/tmlanguage.js.map +1 -1
  117. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  118. package/dist/src/testing/test-server-host.js +9 -3
  119. package/dist/src/testing/test-server-host.js.map +1 -1
  120. package/entrypoints/cli.js +3 -1
  121. package/package.json +16 -13
  122. package/templates/__snapshots__/emitter-ts/.gitignore +0 -9
  123. package/templates/__snapshots__/library-ts/.gitignore +0 -9
  124. package/templates/__snapshots__/rest/.gitignore +0 -9
@@ -1,6 +1,6 @@
1
1
  import { CliCompilerHost } from "../core/cli/types.js";
2
- import { Diagnostic, SourceFile } from "../core/types.js";
3
- import { InitTemplate } from "./init-template.js";
2
+ import { Diagnostic } from "../core/types.js";
3
+ import { type TemplateSource } from "./template-source/index.js";
4
4
  export interface InitTypeSpecProjectOptions {
5
5
  readonly templatesUrl?: string;
6
6
  readonly template?: string;
@@ -8,14 +8,15 @@ export interface InitTypeSpecProjectOptions {
8
8
  readonly args?: string[];
9
9
  readonly "project-name"?: string;
10
10
  readonly emitters?: string[];
11
+ /**
12
+ * Provider that the `internal:` scheme resolves to (the built-in templates). Defaults to the
13
+ * compiler's on-disk `templates/` directory; the standalone single-executable injects an in-memory
14
+ * bundle instead.
15
+ */
16
+ readonly internalTemplateSource?: TemplateSource;
11
17
  }
12
18
  export declare function initTypeSpecProject(host: CliCompilerHost, directory: string, options?: InitTypeSpecProjectOptions): Promise<void>;
13
19
  export declare function initTypeSpecProjectWorker(host: CliCompilerHost, directory: string, options?: InitTypeSpecProjectOptions): Promise<void>;
14
- export interface LoadedTemplate {
15
- readonly baseUri: string;
16
- readonly templates: Record<string, InitTemplate>;
17
- readonly file: SourceFile;
18
- }
19
20
  /**
20
21
  * Error thrown when init template acquisition fails or template is invalid.
21
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/init/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD,OAAO,EAAgB,UAAU,EAAY,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMlF,OAAO,EAAmB,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAItF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,iBAYzC;AACD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,iBAwGzC;AAkGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AA6KD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IACvB,WAAW,EAAE,SAAS,UAAU,EAAE;gBAAlC,WAAW,EAAE,SAAS,UAAU,EAAE;CAGtD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/init/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD,OAAO,EAAE,UAAU,EAAY,MAAM,kBAAkB,CAAC;AAOxD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,cAAc,CAAC;CAClD;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,iBAYzC;AACD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,iBAiHzC;AA4PD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IACvB,WAAW,EAAE,SAAS,UAAU,EAAE;gBAAlC,WAAW,EAAE,SAAS,UAAU,EAAE;CAGtD"}
@@ -4,15 +4,14 @@ import pc from "picocolors";
4
4
  import * as semver from "semver";
5
5
  import { parseCliArgsArgOption } from "../core/cli/utils.js";
6
6
  import { createDiagnostic } from "../core/messages.js";
7
- import { getBaseFileName, getDirectoryPath } from "../core/path-utils.js";
7
+ import { getBaseFileName } from "../core/path-utils.js";
8
8
  import { NoTarget } from "../core/types.js";
9
9
  import { installTypeSpecDependencies } from "../install/install.js";
10
10
  import { MANIFEST } from "../manifest.js";
11
- import { readUrlOrPath } from "../utils/misc.js";
12
- import { getTypeSpecCoreTemplates } from "./core-templates.js";
13
11
  import { validateTemplateDefinitions } from "./init-template-validate.js";
14
12
  import { checkbox } from "./prompts.js";
15
13
  import { isFileSkipGeneration, makeScaffoldingConfig, scaffoldNewProject } from "./scaffold.js";
14
+ import { defaultInternalTemplateSource, UriTemplateSource, } from "./template-source/index.js";
16
15
  export async function initTypeSpecProject(host, directory, options = {}) {
17
16
  try {
18
17
  await initTypeSpecProjectWorker(host, directory, options);
@@ -34,34 +33,41 @@ export async function initTypeSpecProjectWorker(host, directory, options = {}) {
34
33
  return;
35
34
  }
36
35
  const folderName = getBaseFileName(directory);
37
- // Download template configuration and prompt user to select a template
38
- // No validation is done until one has been selected
39
- const typeSpecCoreTemplates = await getTypeSpecCoreTemplates(host);
40
- const result = options.templatesUrl === undefined
41
- ? typeSpecCoreTemplates
42
- : await downloadTemplates(host, options.templatesUrl, skipPrompts);
36
+ const isRemote = options.templatesUrl !== undefined;
37
+ // A `templatesUrl` points at a filesystem path or URL; otherwise use the built-in ("internal")
38
+ // templates, either an injected provider (e.g. bundled in the standalone executable) or the
39
+ // compiler's on-disk `templates/` directory.
40
+ const source = options.templatesUrl !== undefined
41
+ ? new UriTemplateSource(host, options.templatesUrl)
42
+ : (options.internalTemplateSource ?? defaultInternalTemplateSource(host));
43
+ if (isRemote) {
44
+ warning(`Downloading or using an untrusted template may contain malicious packages that can compromise your system and data. Proceed with caution and verify the source.`);
45
+ if (!skipPrompts && !(await confirm("Continue"))) {
46
+ process.exit(1);
47
+ }
48
+ }
49
+ // No validation is done until a template has been selected.
50
+ const index = await loadTemplateIndex(source, options.templatesUrl);
43
51
  if (skipPrompts && !options.template) {
44
52
  // A template has to be defined if we're skipping prompts
45
- throw new Error(`A template must be specified when --no-prompt is used. Specify one of the following templates via --template: ${Object.keys(result.templates)
53
+ throw new Error(`A template must be specified when --no-prompt is used. Specify one of the following templates via --template: ${Object.keys(index.templates)
46
54
  .map((t) => `"${t}"`)
47
55
  .join(", ")}`);
48
56
  }
49
- const templateName = options.template ?? (await promptTemplateSelection(result.templates));
50
- if (!result.templates[templateName]) {
57
+ const templateName = options.template ?? (await promptTemplateSelection(index.templates));
58
+ if (!index.templates[templateName]) {
51
59
  throw new Error(`Unexpected error: Cannot find template ${templateName}`);
52
60
  }
53
61
  // Validate minimum compiler version for non built-in templates
54
- if (!skipPrompts &&
55
- result !== typeSpecCoreTemplates &&
56
- !(await validateTemplate(result.templates[templateName], result))) {
62
+ if (!skipPrompts && isRemote && !(await validateTemplate(index.templates[templateName], index))) {
57
63
  return;
58
64
  }
59
- const template = result.templates[templateName];
65
+ const template = index.templates[templateName];
60
66
  const name = await resolveProjectName(folderName, options);
61
67
  const emitters = await selectEmitters(template, options);
62
68
  const parameters = await promptCustomParameters(template, options);
63
69
  const scaffoldingConfig = makeScaffoldingConfig(template, {
64
- baseUri: result.baseUri,
70
+ source,
65
71
  name,
66
72
  directory,
67
73
  parameters,
@@ -173,38 +179,23 @@ async function confirm(message) {
173
179
  default: true,
174
180
  });
175
181
  }
176
- async function downloadTemplates(host, url, skipCheck) {
177
- warning(`Downloading or using an untrusted template may contain malicious packages that can compromise your system and data. Proceed with caution and verify the source.`);
178
- if (!skipCheck && !(await confirm("Continue"))) {
179
- process.exit(1);
180
- }
181
- let file;
182
- try {
183
- file = await readUrlOrPath(host, url);
184
- }
185
- catch (e) {
186
- throw new InitTemplateError([
187
- createDiagnostic({
188
- code: "init-template-download-failed",
189
- target: NoTarget,
190
- format: { url: url, message: e.message },
191
- }),
192
- ]);
193
- }
194
- let json;
182
+ async function loadTemplateIndex(source, url) {
195
183
  try {
196
- json = JSON.parse(file.text);
184
+ return await source.loadIndex();
197
185
  }
198
186
  catch (e) {
187
+ if (url === undefined) {
188
+ throw e;
189
+ }
190
+ const code = e instanceof SyntaxError ? "init-template-invalid-json" : "init-template-download-failed";
199
191
  throw new InitTemplateError([
200
192
  createDiagnostic({
201
- code: "init-template-invalid-json",
193
+ code,
202
194
  target: NoTarget,
203
- format: { url: url, message: e.message },
195
+ format: { url, message: e.message },
204
196
  }),
205
197
  ]);
206
198
  }
207
- return { templates: json, baseUri: getDirectoryPath(file.path), file };
208
199
  }
209
200
  function getTemplateName(template) {
210
201
  if (isTemplateCompatibleWithTspVersion(template)) {
@@ -240,16 +231,16 @@ function isTemplateCompatibleWithTspVersion(template) {
240
231
  return (template.compilerVersion === undefined ||
241
232
  semver.gte(currentCompilerVersion, template.compilerVersion));
242
233
  }
243
- async function validateTemplate(template, loaded) {
234
+ async function validateTemplate(template, index) {
244
235
  // After selection, validate the template definition
245
236
  const currentCompilerVersion = MANIFEST.version;
246
237
  let validationResult;
247
238
  // 1. If current version > compilerVersion, proceed with strict validation
248
239
  if (isTemplateCompatibleWithTspVersion(template)) {
249
- validationResult = validateTemplateDefinitions(template, loaded.file, true);
240
+ validationResult = validateTemplateDefinitions(template, index.indexFile, true);
250
241
  // 1.1 If strict validation fails, try relaxed validation
251
242
  if (!validationResult.valid) {
252
- validationResult = validateTemplateDefinitions(template, loaded.file, false);
243
+ validationResult = validateTemplateDefinitions(template, index.indexFile, false);
253
244
  }
254
245
  }
255
246
  else {
@@ -257,7 +248,7 @@ async function validateTemplate(template, loaded) {
257
248
  const confirmationMessage = `The template you selected is designed for tsp version ${template.compilerVersion}. You are currently using tsp version ${currentCompilerVersion}.`;
258
249
  if (await confirm(`${confirmationMessage} The project created may not be correct. Do you want to continue?`)) {
259
250
  // 2.1 If user choose to continue, proceed with relaxed validation
260
- validationResult = validateTemplateDefinitions(template, loaded.file, false);
251
+ validationResult = validateTemplateDefinitions(template, index.indexFile, false);
261
252
  }
262
253
  else {
263
254
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/init/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAc,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAoB,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,GAGlB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAqB,EACrB,SAAiB,EACjB,UAAsC,EAAE;IAExC,IAAI,CAAC;QACH,MAAM,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/D,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAqB,EACrB,SAAiB,EACjB,UAAsC,EAAE;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;IAClD,SAAS,EAAE,CAAC;IAEZ,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;IACpD,+FAA+F;IAC/F,4FAA4F;IAC5F,6CAA6C;IAC7C,MAAM,MAAM,GACV,OAAO,CAAC,YAAY,KAAK,SAAS;QAChC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC;QACnD,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,iKAAiK,CAClK,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,yDAAyD;QACzD,MAAM,IAAI,KAAK,CACb,iHAAiH,MAAM,CAAC,IAAI,CAC1H,KAAK,CAAC,SAAS,CAChB;aACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1F,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,WAAW,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAiB,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,QAAQ,EAAE;QACxD,MAAM;QACN,IAAI;QACJ,SAAS;QACT,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,CAAC,oBAAoB,CAC9C,cAAc,EACd,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CACvC,CAAC;IAEF,SAAS,EAAE,CAAC;IAEZ,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,WAAY,CAC7B,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE;gBAC1D,SAAS;gBACT,KAAK,EAAE,MAAM;gBACb,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEhC,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAErE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7E,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEhF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAmB,EACnB,OAAmC;IAEnC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;IAErD,IAAI,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAC7C,OAAO,KAAK,CAAC;QACX,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,QAAsB,EACtB,OAAmC;IAEnC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;IAElD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,4BAA4B,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,aAAgC,EAChC,IAAY,EACZ,OAAmC;IAEnC,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC;IAEtE,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;QACX,OAAO,EAAE,aAAa,CAAC,WAAW;QAClC,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AACD,SAAS,OAAO,CAAC,OAAe;IAC9B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AACD,SAAS,SAAS;IAChB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAAiB;IACpD,IAAI,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC;IACZ,OAAO,OAAO,CAAC,iCAAiC,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,OAAO,MAAM,eAAe,CAAC;QAC3B,OAAO;QACP,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAsB,EACtB,GAAuB;IAEvB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,IAAI,GACR,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,+BAA+B,CAAC;QAC5F,MAAM,IAAI,iBAAiB,CAAC;YAC1B,gBAAgB,CAAC;gBACf,IAAI;gBACJ,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;aACpC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAsB;IAC7C,IAAI,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,SAA8B;IACnE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;QAChC,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;YACxD,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;aAChC,CAAC;QACJ,CAAC,CAAC;QACF,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;aAC1D;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,kCAAkC,CAAC,QAAsB;IAChE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChD,OAAO,CACL,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAa,EAAE,KAA0B;IACvE,oDAAoD;IACpD,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChD,IAAI,gBAAkC,CAAC;IACvC,0EAA0E;IAC1E,IAAI,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhF,yDAAyD;QACzD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC5B,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,qFAAqF;QACrF,MAAM,mBAAmB,GAAG,yDAAyD,QAAQ,CAAC,eAAe,yCAAyC,sBAAsB,GAAG,CAAC;QAChL,IACE,MAAM,OAAO,CACX,GAAG,mBAAmB,mEAAmE,CAC1F,EACD,CAAC;YACD,kEAAkE;YAClE,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC5B,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE7C,OAAO,MAAM,OAAO,CAClB,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,QAAsB,EACtB,OAAmC;IAEnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEhD,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzB,QAAQ,GAAG,YAAY;aACpB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAChF,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAC7E,CAAC,CACF,CAAC;QACF,QAAQ,GAAG,MAAM,QAAQ,CAAC;YACxB,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC5C,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,OAAO,CAAC,KAAK;wBACjB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;wBACtE,CAAC,CAAC,IAAI;oBACR,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAC7D,CAAC;YACJ,CAAC,CAAC;YACF,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,qBAAqB,EAAE,CAAC,OAA2B,EAAE,EAAE;wBACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACzB,OAAO,gBAAgB,CAAC;wBAC1B,CAAC;6BAAM,CAAC;4BACN,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrD,CAAC;oBACH,CAAC;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAC7F,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CACvB,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACvB;IAAnB,YAAmB,WAAkC;QACnD,KAAK,EAAE,CAAC;QADS,gBAAW,GAAX,WAAW,CAAuB;IAErD,CAAC;CACF;AAED,SAAS,cAAc,CAAC,WAAkC;IACxD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import type { SystemHost } from "../core/types.js";
2
2
  import type { InitTemplate, InitTemplateFile, InitTemplateLibrary, InitTemplateLibrarySpec } from "./init-template.js";
3
+ import type { TemplateSource } from "./template-source/index.js";
3
4
  export declare const TypeSpecConfigFilename = "tspconfig.yaml";
4
5
  export interface ScaffoldingConfig {
5
6
  /** Template used to resolve that config */
6
7
  template: InitTemplate;
7
8
  /**
8
- * Path where this template was loaded from.
9
+ * Source the template was loaded from. Used to read the template's files during scaffolding.
10
+ * Optional: templates that declare no `files` never need it.
9
11
  */
10
- baseUri: string;
12
+ source?: TemplateSource;
11
13
  /**
12
14
  * Directory full path where the project should be initialized.
13
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,uBAAuB,EAAE,CAAC;IAErC;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,uBAAuB,CAKtF;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,iBAAiB,CAYnB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,iBAOnF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAOzF"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,uBAAuB,EAAE,CAAC;IAErC;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,uBAAuB,CAKtF;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,iBAAiB,CAWnB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,iBAOnF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAOzF"}
@@ -1,7 +1,6 @@
1
1
  import { stringify } from "yaml";
2
2
  import { getDirectoryPath, joinPaths } from "../core/path-utils.js";
3
3
  import { fetchLatestPackageManifest } from "../package-manger/npm-registry.js";
4
- import { readUrlOrPath, resolveRelativeUrlOrPath } from "../utils/misc.js";
5
4
  import { createFileTemplatingContext, render, } from "./file-templating.js";
6
5
  export const TypeSpecConfigFilename = "tspconfig.yaml";
7
6
  export function normalizeLibrary(library) {
@@ -14,7 +13,6 @@ export function makeScaffoldingConfig(template, config) {
14
13
  return {
15
14
  template,
16
15
  libraries: config.libraries ?? template.libraries?.map(normalizeLibrary) ?? [],
17
- baseUri: config.baseUri ?? ".",
18
16
  name: config.name ?? "",
19
17
  directory: config.directory ?? "",
20
18
  parameters: config.parameters ?? {},
@@ -150,8 +148,10 @@ async function writeFiles(host, config) {
150
148
  }
151
149
  }
152
150
  async function writeFile(host, config, context, file) {
153
- const baseDir = config.baseUri + "/";
154
- const template = await readUrlOrPath(host, resolveRelativeUrlOrPath(baseDir, file.path));
151
+ if (config.source === undefined) {
152
+ throw new Error(`Cannot resolve template file "${file.path}": template was loaded without a source.`);
153
+ }
154
+ const template = await config.source.readFile(file.path);
155
155
  const content = render(template.text, context);
156
156
  const destinationFilePath = joinPaths(config.directory, file.destination);
157
157
  // create folders in case they don't exist
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SystemHost } from "../../core/types.js";
2
+ import type { TemplateSource } from "./types.js";
3
+ /**
4
+ * The default source of built-in ("internal") templates: the compiler package's on-disk
5
+ * `templates/` directory, read through the given {@link SystemHost}. The standalone single-executable
6
+ * overrides this by injecting its own {@link InMemoryTemplateSource} bundle.
7
+ */
8
+ export declare function defaultInternalTemplateSource(host: SystemHost): TemplateSource;
9
+ //# sourceMappingURL=default-core-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-core-templates.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/default-core-templates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAE9E"}
@@ -0,0 +1,12 @@
1
+ import { CompilerPackageRoot } from "../../core/node-host.js";
2
+ import { resolvePath } from "../../core/path-utils.js";
3
+ import { UriTemplateSource } from "./uri-template-source.js";
4
+ /**
5
+ * The default source of built-in ("internal") templates: the compiler package's on-disk
6
+ * `templates/` directory, read through the given {@link SystemHost}. The standalone single-executable
7
+ * overrides this by injecting its own {@link InMemoryTemplateSource} bundle.
8
+ */
9
+ export function defaultInternalTemplateSource(host) {
10
+ return UriTemplateSource.fromDirectory(host, resolvePath(CompilerPackageRoot, "templates"));
11
+ }
12
+ //# sourceMappingURL=default-core-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-core-templates.js","sourceRoot":"","sources":["../../../../src/init/template-source/default-core-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAgB;IAC5D,OAAO,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { SourceFile } from "../../core/types.js";
2
+ import type { LoadedTemplateIndex, TemplateSource } from "./types.js";
3
+ /**
4
+ * A {@link TemplateSource} serving an index and its template files from an in-memory map keyed by
5
+ * relative path. Used for built-in templates that are bundled rather than on disk — e.g. the
6
+ * standalone single-executable injects one built from its embedded assets. Keys and lookups are
7
+ * normalized so callers can use `./`-relative or backslash paths interchangeably.
8
+ */
9
+ export declare class InMemoryTemplateSource implements TemplateSource {
10
+ #private;
11
+ /**
12
+ * @param files Template files keyed by their relative path (including the index).
13
+ * @param indexPath Relative path of the index within {@link files}.
14
+ */
15
+ constructor(files: ReadonlyMap<string, string>, indexPath?: string);
16
+ loadIndex(): Promise<LoadedTemplateIndex>;
17
+ readFile(relativePath: string): Promise<SourceFile>;
18
+ }
19
+ //# sourceMappingURL=in-memory-template-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMtE;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;;IAI3D;;;OAGG;gBACS,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAE,MAA6B;IAKlF,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAgB1D"}
@@ -0,0 +1,45 @@
1
+ import { normalizePath } from "../../core/path-utils.js";
2
+ import { createSourceFile } from "../../core/source-file.js";
3
+ import { SCAFFOLDING_FILENAME } from "./uri-template-source.js";
4
+ /** Prefix used to label the virtual files this source serves in diagnostics. */
5
+ const INTERNAL_URI_PREFIX = "internal:";
6
+ /**
7
+ * A {@link TemplateSource} serving an index and its template files from an in-memory map keyed by
8
+ * relative path. Used for built-in templates that are bundled rather than on disk — e.g. the
9
+ * standalone single-executable injects one built from its embedded assets. Keys and lookups are
10
+ * normalized so callers can use `./`-relative or backslash paths interchangeably.
11
+ */
12
+ export class InMemoryTemplateSource {
13
+ #files;
14
+ #indexPath;
15
+ /**
16
+ * @param files Template files keyed by their relative path (including the index).
17
+ * @param indexPath Relative path of the index within {@link files}.
18
+ */
19
+ constructor(files, indexPath = SCAFFOLDING_FILENAME) {
20
+ this.#indexPath = indexPath;
21
+ this.#files = new Map([...files].map(([key, value]) => [normalizeKey(key), value]));
22
+ }
23
+ async loadIndex() {
24
+ const indexFile = this.#read(this.#indexPath);
25
+ const templates = JSON.parse(indexFile.text);
26
+ return { templates, indexFile, baseUri: INTERNAL_URI_PREFIX };
27
+ }
28
+ async readFile(relativePath) {
29
+ return this.#read(relativePath);
30
+ }
31
+ #read(relativePath) {
32
+ const key = normalizeKey(relativePath);
33
+ const content = this.#files.get(key);
34
+ if (content === undefined) {
35
+ const error = new Error(`ENOENT: bundled template file not found, '${relativePath}'`);
36
+ error.code = "ENOENT";
37
+ throw error;
38
+ }
39
+ return createSourceFile(content, `${INTERNAL_URI_PREFIX}${key}`);
40
+ }
41
+ }
42
+ function normalizeKey(path) {
43
+ return normalizePath(path).replace(/^\/+/, "");
44
+ }
45
+ //# sourceMappingURL=in-memory-template-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/in-memory-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAA8B;IACpC,UAAU,CAAS;IAEnB;;;OAGG;IACH,YAAY,KAAkC,EAAE,YAAoB,oBAAoB;QACtF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAA0B,IAAI,KAAK,CAC5C,6CAA6C,YAAY,GAAG,CAC7D,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { defaultInternalTemplateSource } from "./default-core-templates.js";
2
+ export { InMemoryTemplateSource } from "./in-memory-template-source.js";
3
+ export type { LoadedTemplateIndex, TemplateSource } from "./types.js";
4
+ export { SCAFFOLDING_FILENAME, UriTemplateSource } from "./uri-template-source.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { defaultInternalTemplateSource } from "./default-core-templates.js";
2
+ export { InMemoryTemplateSource } from "./in-memory-template-source.js";
3
+ export { SCAFFOLDING_FILENAME, UriTemplateSource } from "./uri-template-source.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/init/template-source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { SourceFile } from "../../core/types.js";
2
+ import type { InitTemplate } from "../init-template.js";
3
+ /** Result of loading a template index (the set of templates offered by a {@link TemplateSource}). */
4
+ export interface LoadedTemplateIndex {
5
+ /** Templates keyed by their id. */
6
+ readonly templates: Record<string, InitTemplate>;
7
+ /** Source file the index was parsed from. Used to position validation diagnostics. */
8
+ readonly indexFile: SourceFile;
9
+ /** Location the index was loaded from (a directory path or URL). Informational only. */
10
+ readonly baseUri: string;
11
+ }
12
+ /**
13
+ * A source of `tsp init` templates. Decouples template loading from the host filesystem: each context
14
+ * supplies its own implementation — {@link UriTemplateSource} for a path or URL, or
15
+ * {@link InMemoryTemplateSource} for a bundle addressed through the `internal:` scheme.
16
+ */
17
+ export interface TemplateSource {
18
+ loadIndex(): Promise<LoadedTemplateIndex>;
19
+ readFile(relativePath: string): Promise<SourceFile>;
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,qGAAqG;AACrG,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/init/template-source/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { SourceFile, SystemHost } from "../../core/types.js";
2
+ import type { LoadedTemplateIndex, TemplateSource } from "./types.js";
3
+ /** File name of the template index within a template source directory. */
4
+ export declare const SCAFFOLDING_FILENAME = "scaffolding.json";
5
+ /**
6
+ * A {@link TemplateSource} backed by a location: a filesystem path or a URL. The index and every
7
+ * template file are read through a {@link SystemHost} via {@link readUrlOrPath}, so this handles both
8
+ * a local directory and a remote `tsp init <url>` uniformly. Built-in templates are served through
9
+ * {@link defaultInternalTemplateSource} (or an injected provider) instead.
10
+ *
11
+ * Loading an untrusted remote template can execute arbitrary code during scaffolding; callers are
12
+ * responsible for confirming the source with the user before using it.
13
+ */
14
+ export declare class UriTemplateSource implements TemplateSource {
15
+ #private;
16
+ /**
17
+ * @param host Host used to read the index and template files.
18
+ * @param indexLocation Location of the index file (a path or URL). Template files are resolved
19
+ * relative to its containing directory.
20
+ */
21
+ constructor(host: SystemHost, indexLocation: string);
22
+ /**
23
+ * Create a source for a template root directory (path or URL) whose index is a
24
+ * `scaffolding.json` at its root.
25
+ */
26
+ static fromDirectory(host: SystemHost, directory: string): UriTemplateSource;
27
+ loadIndex(): Promise<LoadedTemplateIndex>;
28
+ readFile(relativePath: string): Promise<SourceFile>;
29
+ }
30
+ //# sourceMappingURL=uri-template-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri-template-source.d.ts","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtE,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IAMtD;;;;OAIG;gBACS,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAMnD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOtE,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAG1D"}
@@ -0,0 +1,45 @@
1
+ import { getDirectoryPath } from "../../core/path-utils.js";
2
+ import { readUrlOrPath, resolveRelativeUrlOrPath } from "../../utils/misc.js";
3
+ /** File name of the template index within a template source directory. */
4
+ export const SCAFFOLDING_FILENAME = "scaffolding.json";
5
+ /**
6
+ * A {@link TemplateSource} backed by a location: a filesystem path or a URL. The index and every
7
+ * template file are read through a {@link SystemHost} via {@link readUrlOrPath}, so this handles both
8
+ * a local directory and a remote `tsp init <url>` uniformly. Built-in templates are served through
9
+ * {@link defaultInternalTemplateSource} (or an injected provider) instead.
10
+ *
11
+ * Loading an untrusted remote template can execute arbitrary code during scaffolding; callers are
12
+ * responsible for confirming the source with the user before using it.
13
+ */
14
+ export class UriTemplateSource {
15
+ #host;
16
+ #indexLocation;
17
+ /** Directory (path or URL) that template file paths are resolved against. */
18
+ #baseUri;
19
+ /**
20
+ * @param host Host used to read the index and template files.
21
+ * @param indexLocation Location of the index file (a path or URL). Template files are resolved
22
+ * relative to its containing directory.
23
+ */
24
+ constructor(host, indexLocation) {
25
+ this.#host = host;
26
+ this.#indexLocation = indexLocation;
27
+ this.#baseUri = getDirectoryPath(indexLocation);
28
+ }
29
+ /**
30
+ * Create a source for a template root directory (path or URL) whose index is a
31
+ * `scaffolding.json` at its root.
32
+ */
33
+ static fromDirectory(host, directory) {
34
+ return new UriTemplateSource(host, resolveRelativeUrlOrPath(directory + "/", SCAFFOLDING_FILENAME));
35
+ }
36
+ async loadIndex() {
37
+ const indexFile = await readUrlOrPath(this.#host, this.#indexLocation);
38
+ const templates = JSON.parse(indexFile.text);
39
+ return { templates, indexFile, baseUri: this.#baseUri };
40
+ }
41
+ async readFile(relativePath) {
42
+ return readUrlOrPath(this.#host, resolveRelativeUrlOrPath(this.#baseUri + "/", relativePath));
43
+ }
44
+ }
45
+ //# sourceMappingURL=uri-template-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri-template-source.js","sourceRoot":"","sources":["../../../../src/init/template-source/uri-template-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAa;IAClB,cAAc,CAAS;IACvB,6EAA6E;IAC7E,QAAQ,CAAS;IAEjB;;;;OAIG;IACH,YAAY,IAAgB,EAAE,aAAqB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAgB,EAAE,SAAiB;QACtD,OAAO,IAAI,iBAAiB,CAC1B,IAAI,EACJ,wBAAwB,CAAC,SAAS,GAAG,GAAG,EAAE,oBAAoB,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAChG,CAAC;CACF"}
@@ -6,6 +6,8 @@ export { resolveCompilerOptions } from "../config/config-to-options.js";
6
6
  export { NodeSystemHost } from "../core/node-system-host.js";
7
7
  export { InitTemplateSchema } from "../init/init-template.js";
8
8
  export { makeScaffoldingConfig, scaffoldNewProject } from "../init/scaffold.js";
9
+ export type { TemplateSource } from "../init/template-source/types.js";
10
+ export { UriTemplateSource } from "../init/template-source/uri-template-source.js";
9
11
  export { resolveEntrypointFile } from "../server/entrypoint-resolver.js";
10
12
  export { InternalCompileResult, ServerDiagnostic } from "../server/index.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -9,5 +9,6 @@ export { resolveCompilerOptions } from "../config/config-to-options.js";
9
9
  export { NodeSystemHost } from "../core/node-system-host.js";
10
10
  export { InitTemplateSchema } from "../init/init-template.js";
11
11
  export { makeScaffoldingConfig, scaffoldNewProject } from "../init/scaffold.js";
12
+ export { UriTemplateSource } from "../init/template-source/uri-template-source.js";
12
13
  export { resolveEntrypointFile } from "../server/entrypoint-resolver.js";
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAI,CAAE,UAAkB,CAAC,6BAA6B,EAAE,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC/F,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAI,CAAE,UAAkB,CAAC,6BAA6B,EAAE,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC/F,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC"}