@typespec/compiler 0.52.0-dev.1 → 0.52.0-dev.11
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/.scripts/build-init-templates.d.ts +2 -0
- package/dist/.scripts/build-init-templates.d.ts.map +1 -0
- package/dist/.scripts/build-init-templates.js +38 -0
- package/dist/.scripts/build-init-templates.js.map +1 -0
- package/dist/.scripts/helpers.d.ts +4 -0
- package/dist/.scripts/helpers.d.ts.map +1 -0
- package/dist/.scripts/helpers.js +44 -0
- package/dist/.scripts/helpers.js.map +1 -0
- package/dist/manifest.js +2 -2
- package/dist/src/config/config-loader.d.ts.map +1 -1
- package/dist/src/config/config-loader.js +1 -1
- package/dist/src/config/config-loader.js.map +1 -1
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +1 -1
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts +4 -0
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +154 -64
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/cli/actions/format.js +1 -1
- package/dist/src/core/cli/actions/format.js.map +1 -1
- package/dist/src/core/cli/actions/init.d.ts +1 -0
- package/dist/src/core/cli/actions/init.d.ts.map +1 -1
- package/dist/src/core/cli/actions/init.js +1 -1
- package/dist/src/core/cli/actions/init.js.map +1 -1
- package/dist/src/core/cli/cli.js +6 -1
- package/dist/src/core/cli/cli.js.map +1 -1
- package/dist/src/core/cli/utils.d.ts.map +1 -1
- package/dist/src/core/cli/utils.js +3 -0
- package/dist/src/core/cli/utils.js.map +1 -1
- package/dist/src/core/diagnostic-creator.d.ts +11 -0
- package/dist/src/core/diagnostic-creator.d.ts.map +1 -0
- package/dist/src/core/diagnostic-creator.js +48 -0
- package/dist/src/core/diagnostic-creator.js.map +1 -0
- package/dist/src/core/diagnostics.d.ts +2 -11
- package/dist/src/core/diagnostics.d.ts.map +1 -1
- package/dist/src/core/diagnostics.js +3 -52
- package/dist/src/core/diagnostics.js.map +1 -1
- package/dist/src/core/formatter-fs.d.ts +1 -1
- package/dist/src/core/formatter-fs.d.ts.map +1 -1
- package/dist/src/core/formatter-fs.js +1 -1
- package/dist/src/core/formatter-fs.js.map +1 -1
- package/dist/src/core/helpers/location-context.js +1 -1
- package/dist/src/core/helpers/location-context.js.map +1 -1
- package/dist/src/core/index.d.ts +1 -1
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +1 -1
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/library.d.ts +4 -3
- package/dist/src/core/library.d.ts.map +1 -1
- package/dist/src/core/library.js +14 -15
- package/dist/src/core/library.js.map +1 -1
- package/dist/src/core/linter.d.ts.map +1 -1
- package/dist/src/core/linter.js +12 -6
- package/dist/src/core/linter.js.map +1 -1
- package/dist/src/core/logger/logger.d.ts +1 -1
- package/dist/src/core/logger/logger.d.ts.map +1 -1
- package/dist/src/core/messages.d.ts +41 -8
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +12 -3
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/node-host.d.ts.map +1 -1
- package/dist/src/core/node-host.js +4 -3
- package/dist/src/core/node-host.js.map +1 -1
- package/dist/src/core/param-message.d.ts +3 -0
- package/dist/src/core/param-message.d.ts.map +1 -0
- package/dist/src/core/param-message.js +16 -0
- package/dist/src/core/param-message.js.map +1 -0
- package/dist/src/core/parser.d.ts +5 -1
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +56 -2
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.js +8 -5
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/types.d.ts +31 -15
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +7 -5
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/core/util.d.ts +1 -2
- package/dist/src/core/util.d.ts.map +1 -1
- package/dist/src/core/util.js +2 -3
- package/dist/src/core/util.js.map +1 -1
- package/dist/src/emitter-framework/reference-cycle.d.ts +1 -1
- package/dist/src/emitter-framework/reference-cycle.d.ts.map +1 -1
- package/dist/src/emitter-framework/reference-cycle.js +1 -1
- package/dist/src/emitter-framework/reference-cycle.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts +2 -1
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +12 -0
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/init/core-templates.d.ts +6 -0
- package/dist/src/init/core-templates.d.ts.map +1 -0
- package/dist/src/init/core-templates.js +11 -0
- package/dist/src/init/core-templates.js.map +1 -0
- package/dist/src/init/file-templating.d.ts +25 -0
- package/dist/src/init/file-templating.d.ts.map +1 -0
- package/dist/src/init/file-templating.js +39 -0
- package/dist/src/init/file-templating.js.map +1 -0
- package/dist/src/init/init-template.d.ts +3 -3
- package/dist/src/init/init-template.d.ts.map +1 -1
- package/dist/src/init/init-template.js +4 -3
- package/dist/src/init/init-template.js.map +1 -1
- package/dist/src/init/init.d.ts +11 -47
- package/dist/src/init/init.d.ts.map +1 -1
- package/dist/src/init/init.js +35 -194
- package/dist/src/init/init.js.map +1 -1
- package/dist/src/init/scaffold.d.ts +39 -0
- package/dist/src/init/scaffold.d.ts.map +1 -0
- package/dist/src/init/scaffold.js +132 -0
- package/dist/src/init/scaffold.js.map +1 -0
- package/dist/src/manifest.d.ts.map +1 -1
- package/dist/src/manifest.js +10 -3
- package/dist/src/manifest.js.map +1 -1
- package/dist/src/server/completion.js +3 -3
- package/dist/src/server/completion.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +4 -0
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.js +1 -1
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/testing/test-host.js +2 -2
- package/dist/src/testing/test-host.js.map +1 -1
- package/dist/src/testing/test-utils.d.ts +2 -0
- package/dist/src/testing/test-utils.d.ts.map +1 -1
- package/dist/src/testing/test-utils.js +8 -3
- package/dist/src/testing/test-utils.js.map +1 -1
- package/dist/typespec.tmLanguage +8 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.e2e.d.ts +3 -0
- package/dist/vitest.config.e2e.d.ts.map +1 -0
- package/dist/vitest.config.e2e.js +16 -0
- package/dist/vitest.config.e2e.js.map +1 -0
- package/dist/vitest.config.js +15 -0
- package/dist/vitest.config.js.map +1 -0
- package/lib/decorators.tsp +3 -3
- package/lib/lib.tsp +30 -25
- package/package.json +12 -9
- package/templates/__snapshots__/emitter-ts/.eslintrc.yml +14 -0
- package/templates/__snapshots__/emitter-ts/package.json +37 -0
- package/templates/__snapshots__/emitter-ts/prettierrc.yaml +8 -0
- package/templates/__snapshots__/emitter-ts/src/emitter.ts +10 -0
- package/templates/__snapshots__/emitter-ts/src/index.ts +2 -0
- package/templates/__snapshots__/emitter-ts/src/lib.ts +8 -0
- package/templates/__snapshots__/emitter-ts/src/testing/index.ts +10 -0
- package/templates/__snapshots__/emitter-ts/test/hello.test.ts +10 -0
- package/templates/__snapshots__/emitter-ts/test/test-host.ts +47 -0
- package/templates/__snapshots__/emitter-ts/tsconfig.json +17 -0
- package/templates/emitter-ts/.eslintrc.yml +14 -0
- package/templates/emitter-ts/package.json +37 -0
- package/templates/emitter-ts/prettierrc.yaml +8 -0
- package/templates/emitter-ts/src/emitter.ts +10 -0
- package/templates/emitter-ts/src/index.ts +2 -0
- package/templates/emitter-ts/src/lib.ts +8 -0
- package/templates/emitter-ts/src/testing/index.ts +10 -0
- package/templates/emitter-ts/test/hello.test.ts +10 -0
- package/templates/emitter-ts/test/test-host.ts.mu +47 -0
- package/templates/emitter-ts/tsconfig.json +17 -0
- package/templates/scaffolding.json +79 -0
package/dist/src/init/init.js
CHANGED
|
@@ -1,68 +1,34 @@
|
|
|
1
1
|
import { readdir } from "fs/promises";
|
|
2
|
-
import
|
|
2
|
+
import pc from "picocolors";
|
|
3
3
|
import prompts from "prompts";
|
|
4
4
|
import * as semver from "semver";
|
|
5
|
-
import { stringify } from "yaml";
|
|
6
|
-
import { TypeSpecConfigFilename } from "../config/config-loader.js";
|
|
7
|
-
import { formatTypeSpec } from "../core/formatter.js";
|
|
8
5
|
import { createDiagnostic } from "../core/messages.js";
|
|
9
|
-
import { getBaseFileName, getDirectoryPath
|
|
6
|
+
import { getBaseFileName, getDirectoryPath } from "../core/path-utils.js";
|
|
10
7
|
import { createJSONSchemaValidator } from "../core/schema-validator.js";
|
|
11
8
|
import { NoTarget } from "../core/types.js";
|
|
12
|
-
import { readUrlOrPath
|
|
9
|
+
import { readUrlOrPath } from "../core/util.js";
|
|
13
10
|
import { MANIFEST } from "../manifest.js";
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
const toLowerCase = function () {
|
|
21
|
-
return function (text, render) {
|
|
22
|
-
return render(text).toLowerCase();
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
const normalizePackageName = function () {
|
|
26
|
-
return function (text, render) {
|
|
27
|
-
return render(text).replaceAll(".", "-").toLowerCase();
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
export function makeScaffoldingConfig(config) {
|
|
31
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
32
|
-
return {
|
|
33
|
-
title: (_a = config.title) !== null && _a !== void 0 ? _a : "",
|
|
34
|
-
description: (_b = config.description) !== null && _b !== void 0 ? _b : "",
|
|
35
|
-
compilerVersion: (_c = config.compilerVersion) !== null && _c !== void 0 ? _c : "",
|
|
36
|
-
templateUri: (_d = config.templateUri) !== null && _d !== void 0 ? _d : ".",
|
|
37
|
-
libraries: (_e = config.libraries) !== null && _e !== void 0 ? _e : [],
|
|
38
|
-
name: (_f = config.name) !== null && _f !== void 0 ? _f : "",
|
|
39
|
-
directory: (_g = config.directory) !== null && _g !== void 0 ? _g : "",
|
|
40
|
-
skipCompilerPackage: (_h = config.skipCompilerPackage) !== null && _h !== void 0 ? _h : false,
|
|
41
|
-
folderName: (_j = config.folderName) !== null && _j !== void 0 ? _j : "",
|
|
42
|
-
parameters: (_k = config.parameters) !== null && _k !== void 0 ? _k : {},
|
|
43
|
-
config: config.config,
|
|
44
|
-
files: config.files,
|
|
45
|
-
normalizeVersion: (_l = config.normalizeVersion) !== null && _l !== void 0 ? _l : normalizeVersion,
|
|
46
|
-
toLowerCase: (_m = config.toLowerCase) !== null && _m !== void 0 ? _m : toLowerCase,
|
|
47
|
-
normalizePackageName: (_o = config.normalizePackageName) !== null && _o !== void 0 ? _o : normalizePackageName,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
export async function initTypeSpecProject(host, directory, templatesUrl) {
|
|
51
|
-
var _a, _b;
|
|
11
|
+
import { TypeSpecCoreTemplates } from "./core-templates.js";
|
|
12
|
+
import { InitTemplateSchema } from "./init-template.js";
|
|
13
|
+
import { makeScaffoldingConfig, normalizeLibrary, scaffoldNewProject } from "./scaffold.js";
|
|
14
|
+
export async function initTypeSpecProject(host, directory, options = {}) {
|
|
15
|
+
var _a;
|
|
52
16
|
if (!(await confirmDirectoryEmpty(directory))) {
|
|
53
17
|
return;
|
|
54
18
|
}
|
|
55
19
|
const folderName = getBaseFileName(directory);
|
|
56
|
-
const url = templatesUrl ? { url: templatesUrl } : undefined;
|
|
57
20
|
// Download template configuration and prompt user to select a template
|
|
58
21
|
// No validation is done until one has been selected
|
|
59
|
-
const
|
|
60
|
-
|
|
22
|
+
const result = options.templatesUrl === undefined
|
|
23
|
+
? TypeSpecCoreTemplates
|
|
24
|
+
: await downloadTemplates(host, options.templatesUrl);
|
|
25
|
+
const templateName = (_a = options.template) !== null && _a !== void 0 ? _a : (await promptTemplateSelection(result.templates));
|
|
61
26
|
// Validate minimum compiler version for non built-in templates
|
|
62
|
-
if (
|
|
27
|
+
if (result !== TypeSpecCoreTemplates &&
|
|
28
|
+
!(await validateTemplate(result.templates[templateName], result))) {
|
|
63
29
|
return;
|
|
64
30
|
}
|
|
65
|
-
const template = templates[templateName];
|
|
31
|
+
const template = result.templates[templateName];
|
|
66
32
|
if (template.description) {
|
|
67
33
|
// eslint-disable-next-line no-console
|
|
68
34
|
console.log(template.description);
|
|
@@ -77,24 +43,21 @@ export async function initTypeSpecProject(host, directory, templatesUrl) {
|
|
|
77
43
|
]);
|
|
78
44
|
const libraries = await selectLibraries(template);
|
|
79
45
|
const parameters = await promptCustomParameters(template);
|
|
80
|
-
const scaffoldingConfig = makeScaffoldingConfig({
|
|
81
|
-
|
|
82
|
-
templateUri: (_a = url === null || url === void 0 ? void 0 : url.finalUrl) !== null && _a !== void 0 ? _a : ".",
|
|
46
|
+
const scaffoldingConfig = makeScaffoldingConfig(template, {
|
|
47
|
+
baseUri: result.baseUri,
|
|
83
48
|
libraries,
|
|
84
49
|
name,
|
|
85
50
|
directory,
|
|
86
|
-
skipCompilerPackage: (_b = template.skipCompilerPackage) !== null && _b !== void 0 ? _b : false,
|
|
87
51
|
folderName,
|
|
88
52
|
parameters,
|
|
89
|
-
normalizeVersion,
|
|
90
|
-
toLowerCase,
|
|
91
|
-
normalizePackageName,
|
|
92
53
|
});
|
|
93
54
|
await scaffoldNewProject(host, scaffoldingConfig);
|
|
94
55
|
// eslint-disable-next-line no-console
|
|
56
|
+
console.log("");
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
95
58
|
console.log("TypeSpec init completed. You can run `tsp install` now to install dependencies.");
|
|
96
59
|
// eslint-disable-next-line no-console
|
|
97
|
-
console.log("Project created successfully.");
|
|
60
|
+
console.log(pc.green("Project created successfully."));
|
|
98
61
|
}
|
|
99
62
|
async function promptCustomParameters(template) {
|
|
100
63
|
if (!template.inputs) {
|
|
@@ -125,23 +88,6 @@ async function confirmDirectoryEmpty(directory) {
|
|
|
125
88
|
}
|
|
126
89
|
return confirm(`Folder '${directory}' is not empty. Are you sure you want to initialize a new project here?`);
|
|
127
90
|
}
|
|
128
|
-
const builtInTemplates = {
|
|
129
|
-
empty: {
|
|
130
|
-
title: "Empty project",
|
|
131
|
-
description: "Create an empty project.",
|
|
132
|
-
libraries: [],
|
|
133
|
-
compilerVersion: MANIFEST.version,
|
|
134
|
-
},
|
|
135
|
-
rest: {
|
|
136
|
-
title: "Generic Rest API",
|
|
137
|
-
description: "Create a project representing a generic Rest API",
|
|
138
|
-
compilerVersion: MANIFEST.version,
|
|
139
|
-
libraries: ["@typespec/http", "@typespec/rest", "@typespec/openapi3"],
|
|
140
|
-
config: {
|
|
141
|
-
emit: ["@typespec/openapi3"],
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
91
|
async function confirm(message) {
|
|
146
92
|
const { confirm } = await prompts({
|
|
147
93
|
name: "confirm",
|
|
@@ -151,19 +97,17 @@ async function confirm(message) {
|
|
|
151
97
|
});
|
|
152
98
|
return confirm;
|
|
153
99
|
}
|
|
154
|
-
async function downloadTemplates(host,
|
|
100
|
+
async function downloadTemplates(host, url) {
|
|
155
101
|
let file;
|
|
156
102
|
try {
|
|
157
|
-
file = await readUrlOrPath(host,
|
|
158
|
-
templatesUrl.finalUrl = file.path;
|
|
159
|
-
templatesUrl.file = file;
|
|
103
|
+
file = await readUrlOrPath(host, url);
|
|
160
104
|
}
|
|
161
105
|
catch (e) {
|
|
162
106
|
throw new InitTemplateError([
|
|
163
107
|
createDiagnostic({
|
|
164
108
|
code: "init-template-download-failed",
|
|
165
109
|
target: NoTarget,
|
|
166
|
-
format: { url:
|
|
110
|
+
format: { url: url, message: e.message },
|
|
167
111
|
}),
|
|
168
112
|
]);
|
|
169
113
|
}
|
|
@@ -176,13 +120,13 @@ async function downloadTemplates(host, templatesUrl) {
|
|
|
176
120
|
createDiagnostic({
|
|
177
121
|
code: "init-template-invalid-json",
|
|
178
122
|
target: NoTarget,
|
|
179
|
-
format: { url:
|
|
123
|
+
format: { url: url, message: e.message },
|
|
180
124
|
}),
|
|
181
125
|
]);
|
|
182
126
|
}
|
|
183
|
-
return json;
|
|
127
|
+
return { templates: json, baseUri: getDirectoryPath(file.path), file };
|
|
184
128
|
}
|
|
185
|
-
async function promptTemplateSelection(templates
|
|
129
|
+
async function promptTemplateSelection(templates) {
|
|
186
130
|
const { templateName } = await prompts({
|
|
187
131
|
type: "select",
|
|
188
132
|
name: "templateName",
|
|
@@ -202,27 +146,25 @@ async function promptTemplateSelection(templates, templatesUrl) {
|
|
|
202
146
|
}
|
|
203
147
|
return templateName;
|
|
204
148
|
}
|
|
205
|
-
async function validateTemplate(template,
|
|
149
|
+
async function validateTemplate(template, loaded) {
|
|
206
150
|
// After selection, validate the template definition
|
|
207
151
|
const currentCompilerVersion = MANIFEST.version;
|
|
208
|
-
const validationTarget = templatesUrl.file;
|
|
209
152
|
let validationResult;
|
|
210
153
|
// 1. If current version > compilerVersion, proceed with strict validation
|
|
211
|
-
if (template.compilerVersion
|
|
212
|
-
|
|
154
|
+
if (template.compilerVersion === undefined ||
|
|
155
|
+
semver.gte(currentCompilerVersion, template.compilerVersion)) {
|
|
156
|
+
validationResult = validateTemplateDefinitions(template, loaded.file, true);
|
|
213
157
|
// 1.1 If strict validation fails, try relaxed validation
|
|
214
158
|
if (!validationResult.valid) {
|
|
215
|
-
validationResult = validateTemplateDefinitions(template,
|
|
159
|
+
validationResult = validateTemplateDefinitions(template, loaded.file, false);
|
|
216
160
|
}
|
|
217
161
|
}
|
|
218
162
|
else {
|
|
219
163
|
// 2. if version mis-match or none specified, warn and prompt user to continue or not
|
|
220
|
-
const confirmationMessage = template.compilerVersion
|
|
221
|
-
? `The template you selected is designed for tsp version ${template.compilerVersion}. You are currently using tsp version ${currentCompilerVersion}.`
|
|
222
|
-
: `The template you selected did not specify minimum support compiler version. You are currently using tsp version ${currentCompilerVersion}.`;
|
|
164
|
+
const confirmationMessage = `The template you selected is designed for tsp version ${template.compilerVersion}. You are currently using tsp version ${currentCompilerVersion}.`;
|
|
223
165
|
if (await confirm(`${confirmationMessage} The project created may not be correct. Do you want to continue?`)) {
|
|
224
166
|
// 2.1 If user choose to continue, proceed with relaxed validation
|
|
225
|
-
validationResult = validateTemplateDefinitions(template,
|
|
167
|
+
validationResult = validateTemplateDefinitions(template, loaded.file, false);
|
|
226
168
|
}
|
|
227
169
|
else {
|
|
228
170
|
return false;
|
|
@@ -235,20 +177,12 @@ async function validateTemplate(template, templatesUrl) {
|
|
|
235
177
|
}
|
|
236
178
|
return true;
|
|
237
179
|
}
|
|
238
|
-
function getLibrarySpec(library) {
|
|
239
|
-
return typeof library === "string" ? { name: library } : library;
|
|
240
|
-
}
|
|
241
|
-
async function getLibraryVersion(library) {
|
|
242
|
-
var _a;
|
|
243
|
-
// TODO: Resolve 'latest' version from npm, issue #1919
|
|
244
|
-
return (_a = library.version) !== null && _a !== void 0 ? _a : "latest";
|
|
245
|
-
}
|
|
246
180
|
async function selectLibraries(template) {
|
|
247
|
-
if (template.libraries.length === 0) {
|
|
181
|
+
if (template.libraries === undefined || template.libraries.length === 0) {
|
|
248
182
|
return [];
|
|
249
183
|
}
|
|
250
184
|
const libraryChoices = template.libraries.map((x) => ({
|
|
251
|
-
...
|
|
185
|
+
...normalizeLibrary(x),
|
|
252
186
|
description: "",
|
|
253
187
|
}));
|
|
254
188
|
const { libraries } = await prompts({
|
|
@@ -267,91 +201,6 @@ async function selectLibraries(template) {
|
|
|
267
201
|
});
|
|
268
202
|
return libraries;
|
|
269
203
|
}
|
|
270
|
-
export async function scaffoldNewProject(host, config) {
|
|
271
|
-
await writePackageJson(host, config);
|
|
272
|
-
await writeConfig(host, config);
|
|
273
|
-
await writeMain(host, config);
|
|
274
|
-
await writeFiles(host, config);
|
|
275
|
-
}
|
|
276
|
-
async function writePackageJson(host, config) {
|
|
277
|
-
var _a;
|
|
278
|
-
if (isFileSkipGeneration("package.json", (_a = config.files) !== null && _a !== void 0 ? _a : [])) {
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
const dependencies = {};
|
|
282
|
-
if (!config.skipCompilerPackage) {
|
|
283
|
-
dependencies["@typespec/compiler"] = "latest";
|
|
284
|
-
}
|
|
285
|
-
for (const library of config.libraries) {
|
|
286
|
-
dependencies[library.name] = await getLibraryVersion(library);
|
|
287
|
-
}
|
|
288
|
-
const packageJson = {
|
|
289
|
-
name: config.name,
|
|
290
|
-
version: "0.1.0",
|
|
291
|
-
type: "module",
|
|
292
|
-
dependencies,
|
|
293
|
-
private: true,
|
|
294
|
-
};
|
|
295
|
-
return host.writeFile(joinPaths(config.directory, "package.json"), JSON.stringify(packageJson, null, 2));
|
|
296
|
-
}
|
|
297
|
-
const placeholderConfig = `
|
|
298
|
-
# extends: ../tspconfig.yaml # Extend another config file
|
|
299
|
-
# emit: # Emitter name
|
|
300
|
-
# - "<emitter-name"
|
|
301
|
-
# options: # Emitter options
|
|
302
|
-
# <emitter-name>:
|
|
303
|
-
# "<option-name>": "<option-value>"
|
|
304
|
-
# environment-variables: # Environment variables which can be used to interpolate emitter options
|
|
305
|
-
# <variable-name>:
|
|
306
|
-
# default: "<variable-default>"
|
|
307
|
-
# parameters: # Parameters which can be used to interpolate emitter options
|
|
308
|
-
# <param-name>:
|
|
309
|
-
# default: "<param-default>"
|
|
310
|
-
# trace: # Trace areas to enable tracing
|
|
311
|
-
# - "<trace-name>"
|
|
312
|
-
# warn-as-error: true # Treat warnings as errors
|
|
313
|
-
# output-dir: "{project-root}/_generated" # Configure the base output directory for all emitters
|
|
314
|
-
`.trim();
|
|
315
|
-
async function writeConfig(host, config) {
|
|
316
|
-
var _a;
|
|
317
|
-
if (isFileSkipGeneration(TypeSpecConfigFilename, (_a = config.files) !== null && _a !== void 0 ? _a : [])) {
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
const content = config.config ? stringify(config.config) : placeholderConfig;
|
|
321
|
-
return host.writeFile(joinPaths(config.directory, TypeSpecConfigFilename), content);
|
|
322
|
-
}
|
|
323
|
-
async function writeMain(host, config) {
|
|
324
|
-
var _a;
|
|
325
|
-
if (isFileSkipGeneration("main.tsp", (_a = config.files) !== null && _a !== void 0 ? _a : [])) {
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
const dependencies = {};
|
|
329
|
-
for (const library of config.libraries) {
|
|
330
|
-
dependencies[library.name] = await getLibraryVersion(library);
|
|
331
|
-
}
|
|
332
|
-
const lines = [...config.libraries.map((x) => `import "${x.name}";`), ""];
|
|
333
|
-
const content = lines.join("\n");
|
|
334
|
-
return host.writeFile(joinPaths(config.directory, "main.tsp"), await formatTypeSpec(content));
|
|
335
|
-
}
|
|
336
|
-
async function writeFiles(host, config) {
|
|
337
|
-
if (!config.files) {
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
for (const file of config.files) {
|
|
341
|
-
if (file.skipGeneration !== true) {
|
|
342
|
-
await writeFile(host, config, file);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
async function writeFile(host, config, file) {
|
|
347
|
-
const baseDir = getDirectoryPath(config.templateUri) + "/";
|
|
348
|
-
const template = await readUrlOrPath(host, resolveRelativeUrlOrPath(baseDir, file.path));
|
|
349
|
-
const content = Mustache.render(template.text, config);
|
|
350
|
-
const destinationFilePath = joinPaths(config.directory, file.destination);
|
|
351
|
-
// create folders in case they don't exist
|
|
352
|
-
await host.mkdirp(getDirectoryPath(destinationFilePath) + "/");
|
|
353
|
-
return host.writeFile(joinPaths(config.directory, file.destination), content);
|
|
354
|
-
}
|
|
355
204
|
/**
|
|
356
205
|
* Error thrown when init template acquisition fails or template is invalid.
|
|
357
206
|
*
|
|
@@ -370,14 +219,6 @@ function validateTemplateDefinitions(template, templateName, strictValidation) {
|
|
|
370
219
|
const diagnostics = validator.validate(template, templateName);
|
|
371
220
|
return { valid: diagnostics.length === 0, diagnostics };
|
|
372
221
|
}
|
|
373
|
-
function isFileSkipGeneration(fileName, files) {
|
|
374
|
-
for (const file of files) {
|
|
375
|
-
if (file.path === fileName) {
|
|
376
|
-
return file.skipGeneration;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
return false;
|
|
380
|
-
}
|
|
381
222
|
function logDiagnostics(diagnostics) {
|
|
382
223
|
diagnostics.forEach((diagnostic) => {
|
|
383
224
|
// eslint-disable-next-line no-console
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CompilerHost } from "../core/types.js";
|
|
2
|
+
import { InitTemplate, InitTemplateLibrary, InitTemplateLibrarySpec } from "./init-template.js";
|
|
3
|
+
export interface ScaffoldingConfig {
|
|
4
|
+
/** Template used to resolve that config */
|
|
5
|
+
template: InitTemplate;
|
|
6
|
+
/**
|
|
7
|
+
* Path where this template was loaded from.
|
|
8
|
+
*/
|
|
9
|
+
baseUri: string;
|
|
10
|
+
/**
|
|
11
|
+
* Directory full path where the project should be initialized.
|
|
12
|
+
*/
|
|
13
|
+
directory: string;
|
|
14
|
+
/**
|
|
15
|
+
* folder name where the project should be initialized.
|
|
16
|
+
*/
|
|
17
|
+
folderName: string;
|
|
18
|
+
/**
|
|
19
|
+
* Name of the project.
|
|
20
|
+
*/
|
|
21
|
+
name: string;
|
|
22
|
+
/**
|
|
23
|
+
* List of libraries to include
|
|
24
|
+
*/
|
|
25
|
+
libraries: InitTemplateLibrarySpec[];
|
|
26
|
+
/**
|
|
27
|
+
* Custom parameters provided in the tempalates.
|
|
28
|
+
*/
|
|
29
|
+
parameters: Record<string, any>;
|
|
30
|
+
}
|
|
31
|
+
export declare function normalizeLibrary(library: InitTemplateLibrary): InitTemplateLibrarySpec;
|
|
32
|
+
export declare function makeScaffoldingConfig(template: InitTemplate, config: Partial<ScaffoldingConfig>): ScaffoldingConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Scaffold a new TypeSpec project using the given scaffolding config.
|
|
35
|
+
* @param host
|
|
36
|
+
* @param config
|
|
37
|
+
*/
|
|
38
|
+
export declare function scaffoldNewProject(host: CompilerHost, config: ScaffoldingConfig): Promise<void>;
|
|
39
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,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,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,uBAAuB,EAAE,CAAC;IAErC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;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,YAAY,EAAE,MAAM,EAAE,iBAAiB,iBAMrF"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { stringify } from "yaml";
|
|
2
|
+
import { TypeSpecConfigFilename } from "../config/config-loader.js";
|
|
3
|
+
import { formatTypeSpec } from "../core/formatter.js";
|
|
4
|
+
import { getDirectoryPath, joinPaths } from "../core/path-utils.js";
|
|
5
|
+
import { readUrlOrPath, resolveRelativeUrlOrPath } from "../core/util.js";
|
|
6
|
+
import { createFileTemplatingContext, render } from "./file-templating.js";
|
|
7
|
+
export function normalizeLibrary(library) {
|
|
8
|
+
if (typeof library === "string") {
|
|
9
|
+
return { name: library };
|
|
10
|
+
}
|
|
11
|
+
return library;
|
|
12
|
+
}
|
|
13
|
+
export function makeScaffoldingConfig(template, config) {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
15
|
+
return {
|
|
16
|
+
template,
|
|
17
|
+
libraries: (_c = (_a = config.libraries) !== null && _a !== void 0 ? _a : (_b = template.libraries) === null || _b === void 0 ? void 0 : _b.map(normalizeLibrary)) !== null && _c !== void 0 ? _c : [],
|
|
18
|
+
baseUri: (_d = config.baseUri) !== null && _d !== void 0 ? _d : ".",
|
|
19
|
+
name: (_e = config.name) !== null && _e !== void 0 ? _e : "",
|
|
20
|
+
directory: (_f = config.directory) !== null && _f !== void 0 ? _f : "",
|
|
21
|
+
folderName: (_g = config.folderName) !== null && _g !== void 0 ? _g : "",
|
|
22
|
+
parameters: (_h = config.parameters) !== null && _h !== void 0 ? _h : {},
|
|
23
|
+
...config,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Scaffold a new TypeSpec project using the given scaffolding config.
|
|
28
|
+
* @param host
|
|
29
|
+
* @param config
|
|
30
|
+
*/
|
|
31
|
+
export async function scaffoldNewProject(host, config) {
|
|
32
|
+
await host.mkdirp(config.directory);
|
|
33
|
+
await writePackageJson(host, config);
|
|
34
|
+
await writeConfig(host, config);
|
|
35
|
+
await writeMain(host, config);
|
|
36
|
+
await writeFiles(host, config);
|
|
37
|
+
}
|
|
38
|
+
function isFileSkipGeneration(fileName, files) {
|
|
39
|
+
var _a;
|
|
40
|
+
for (const file of files) {
|
|
41
|
+
if (file.destination === fileName) {
|
|
42
|
+
return (_a = file.skipGeneration) !== null && _a !== void 0 ? _a : false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
async function writePackageJson(host, config) {
|
|
48
|
+
var _a;
|
|
49
|
+
if (isFileSkipGeneration("package.json", (_a = config.template.files) !== null && _a !== void 0 ? _a : [])) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const dependencies = {};
|
|
53
|
+
if (!config.template.skipCompilerPackage) {
|
|
54
|
+
dependencies["@typespec/compiler"] = "latest";
|
|
55
|
+
}
|
|
56
|
+
for (const library of config.libraries) {
|
|
57
|
+
dependencies[library.name] = await getLibraryVersion(library);
|
|
58
|
+
}
|
|
59
|
+
const packageJson = {
|
|
60
|
+
name: config.name,
|
|
61
|
+
version: "0.1.0",
|
|
62
|
+
type: "module",
|
|
63
|
+
dependencies,
|
|
64
|
+
private: true,
|
|
65
|
+
};
|
|
66
|
+
return host.writeFile(joinPaths(config.directory, "package.json"), JSON.stringify(packageJson, null, 2));
|
|
67
|
+
}
|
|
68
|
+
const placeholderConfig = `
|
|
69
|
+
# extends: ../tspconfig.yaml # Extend another config file
|
|
70
|
+
# emit: # Emitter name
|
|
71
|
+
# - "<emitter-name"
|
|
72
|
+
# options: # Emitter options
|
|
73
|
+
# <emitter-name>:
|
|
74
|
+
# "<option-name>": "<option-value>"
|
|
75
|
+
# environment-variables: # Environment variables which can be used to interpolate emitter options
|
|
76
|
+
# <variable-name>:
|
|
77
|
+
# default: "<variable-default>"
|
|
78
|
+
# parameters: # Parameters which can be used to interpolate emitter options
|
|
79
|
+
# <param-name>:
|
|
80
|
+
# default: "<param-default>"
|
|
81
|
+
# trace: # Trace areas to enable tracing
|
|
82
|
+
# - "<trace-name>"
|
|
83
|
+
# warn-as-error: true # Treat warnings as errors
|
|
84
|
+
# output-dir: "{project-root}/_generated" # Configure the base output directory for all emitters
|
|
85
|
+
`.trim();
|
|
86
|
+
async function writeConfig(host, config) {
|
|
87
|
+
var _a;
|
|
88
|
+
if (isFileSkipGeneration(TypeSpecConfigFilename, (_a = config.template.files) !== null && _a !== void 0 ? _a : [])) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const content = config.template.config ? stringify(config.template.config) : placeholderConfig;
|
|
92
|
+
return host.writeFile(joinPaths(config.directory, TypeSpecConfigFilename), content);
|
|
93
|
+
}
|
|
94
|
+
async function writeMain(host, config) {
|
|
95
|
+
var _a;
|
|
96
|
+
if (isFileSkipGeneration("main.tsp", (_a = config.template.files) !== null && _a !== void 0 ? _a : [])) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const dependencies = {};
|
|
100
|
+
for (const library of config.libraries) {
|
|
101
|
+
dependencies[library.name] = await getLibraryVersion(library);
|
|
102
|
+
}
|
|
103
|
+
const lines = [...config.libraries.map((x) => `import "${x.name}";`), ""];
|
|
104
|
+
const content = lines.join("\n");
|
|
105
|
+
return host.writeFile(joinPaths(config.directory, "main.tsp"), await formatTypeSpec(content));
|
|
106
|
+
}
|
|
107
|
+
async function writeFiles(host, config) {
|
|
108
|
+
const templateContext = createFileTemplatingContext(config);
|
|
109
|
+
if (!config.template.files) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
for (const file of config.template.files) {
|
|
113
|
+
if (file.skipGeneration !== true) {
|
|
114
|
+
await writeFile(host, config, templateContext, file);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function writeFile(host, config, context, file) {
|
|
119
|
+
const baseDir = config.baseUri + "/";
|
|
120
|
+
const template = await readUrlOrPath(host, resolveRelativeUrlOrPath(baseDir, file.path));
|
|
121
|
+
const content = render(template.text, context);
|
|
122
|
+
const destinationFilePath = joinPaths(config.directory, file.destination);
|
|
123
|
+
// create folders in case they don't exist
|
|
124
|
+
await host.mkdirp(getDirectoryPath(destinationFilePath) + "/");
|
|
125
|
+
return host.writeFile(joinPaths(config.directory, file.destination), content);
|
|
126
|
+
}
|
|
127
|
+
async function getLibraryVersion(library) {
|
|
128
|
+
var _a;
|
|
129
|
+
// TODO: Resolve 'latest' version from npm, issue #1919
|
|
130
|
+
return (_a = library.version) !== null && _a !== void 0 ? _a : "latest";
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,KAAmB,CAAC;AAEhD,sCAAsC;AACtC,eAAO,MAAM,WAAW,KAAkB,CAAC;AAE3C,uCAAuC;AACvC,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,QAAQ,EAAE,gBAA2B,CAAC"}
|
package/dist/src/manifest.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
let manifest;
|
|
2
|
+
try {
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
manifest = (await import("../manifest.js")).default;
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
const name = "../dist/manifest.js";
|
|
9
|
+
manifest = (await import(/* @vite-ignore */ /* webpackIgnore: true */ name)).default;
|
|
10
|
+
}
|
|
4
11
|
export const typespecVersion = manifest.version;
|
|
5
12
|
/** @deprecated Use typespecVersion */
|
|
6
13
|
export const cadlVersion = typespecVersion;
|
package/dist/src/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"AAAA,6DAA6D;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,CAAC;AACb,IAAI,CAAC;IACH,6DAA6D;IAC7D,aAAa;IACb,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;AACtD,CAAC;AAAC,MAAM,CAAC;IACP,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACnC,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAEhD,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAsB3C,MAAM,CAAC,MAAM,QAAQ,GAAqB,QAAQ,CAAC"}
|
|
@@ -68,7 +68,7 @@ function addKeywordCompletion(area, completions) {
|
|
|
68
68
|
}
|
|
69
69
|
async function addLibraryImportCompletion({ program, file, completions }, node) {
|
|
70
70
|
const documentPath = file.file.path;
|
|
71
|
-
const projectRoot = await findProjectRoot(program.host, documentPath);
|
|
71
|
+
const projectRoot = await findProjectRoot(program.host.stat, documentPath);
|
|
72
72
|
if (projectRoot !== undefined) {
|
|
73
73
|
const [packagejson] = await loadFile(program.host, resolvePath(projectRoot, "package.json"), JSON.parse, program.reportDiagnostic);
|
|
74
74
|
let dependencies = [];
|
|
@@ -143,7 +143,7 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
143
143
|
if (result.size === 0) {
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
|
-
for (const [key, { sym, label }] of result) {
|
|
146
|
+
for (const [key, { sym, label, suffix }] of result) {
|
|
147
147
|
let kind;
|
|
148
148
|
let deprecated = false;
|
|
149
149
|
const type = (_a = sym.type) !== null && _a !== void 0 ? _a : program.checker.getTypeForNode(sym.declarations[0]);
|
|
@@ -172,7 +172,7 @@ function addIdentifierCompletion({ program, completions }, node) {
|
|
|
172
172
|
}
|
|
173
173
|
: undefined,
|
|
174
174
|
kind,
|
|
175
|
-
insertText: printId(key),
|
|
175
|
+
insertText: printId(key) + (suffix !== null && suffix !== void 0 ? suffix : ""),
|
|
176
176
|
};
|
|
177
177
|
if (deprecated) {
|
|
178
178
|
item.tags = [CompletionItemTag.Deprecated];
|