@typespec/compiler 1.14.0 → 1.15.0-dev.10
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/cmd/tsp-server.js +1 -1
- package/cmd/tsp.js +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/checker.d.ts +2 -2
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/cli/cli.js +1 -8
- package/dist/src/core/cli/cli.js.map +1 -1
- package/dist/src/core/file-ref.d.ts +26 -0
- package/dist/src/core/file-ref.d.ts.map +1 -0
- package/dist/src/core/file-ref.js +19 -0
- package/dist/src/core/file-ref.js.map +1 -0
- package/dist/src/core/name-resolver.d.ts.map +1 -1
- package/dist/src/core/name-resolver.js.map +1 -1
- package/dist/src/core/program.d.ts +5 -0
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +11 -0
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/types.d.ts +13 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/experimental/cache.d.ts +19 -0
- package/dist/src/experimental/cache.d.ts.map +1 -0
- package/dist/src/experimental/cache.js +41 -0
- package/dist/src/experimental/cache.js.map +1 -0
- package/dist/src/experimental/index.d.ts +1 -0
- package/dist/src/experimental/index.d.ts.map +1 -1
- package/dist/src/experimental/index.js +1 -0
- package/dist/src/experimental/index.js.map +1 -1
- package/dist/src/experimental/mutators.d.ts.map +1 -1
- package/dist/src/experimental/mutators.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/core-templates.d.ts +0 -1
- package/dist/src/init/core-templates.d.ts.map +1 -1
- package/dist/src/init/core-templates.js +3 -9
- package/dist/src/init/core-templates.js.map +1 -1
- package/dist/src/init/init.d.ts +8 -7
- package/dist/src/init/init.d.ts.map +1 -1
- package/dist/src/init/init.js +35 -44
- package/dist/src/init/init.js.map +1 -1
- package/dist/src/init/scaffold.d.ts +4 -2
- package/dist/src/init/scaffold.d.ts.map +1 -1
- package/dist/src/init/scaffold.js +4 -4
- package/dist/src/init/scaffold.js.map +1 -1
- package/dist/src/init/template-source/default-core-templates.d.ts +9 -0
- package/dist/src/init/template-source/default-core-templates.d.ts.map +1 -0
- package/dist/src/init/template-source/default-core-templates.js +12 -0
- package/dist/src/init/template-source/default-core-templates.js.map +1 -0
- package/dist/src/init/template-source/in-memory-template-source.d.ts +19 -0
- package/dist/src/init/template-source/in-memory-template-source.d.ts.map +1 -0
- package/dist/src/init/template-source/in-memory-template-source.js +45 -0
- package/dist/src/init/template-source/in-memory-template-source.js.map +1 -0
- package/dist/src/init/template-source/index.d.ts +5 -0
- package/dist/src/init/template-source/index.d.ts.map +1 -0
- package/dist/src/init/template-source/index.js +4 -0
- package/dist/src/init/template-source/index.js.map +1 -0
- package/dist/src/init/template-source/types.d.ts +21 -0
- package/dist/src/init/template-source/types.d.ts.map +1 -0
- package/dist/src/init/template-source/types.js +2 -0
- package/dist/src/init/template-source/types.js.map +1 -0
- package/dist/src/init/template-source/uri-template-source.d.ts +30 -0
- package/dist/src/init/template-source/uri-template-source.d.ts.map +1 -0
- package/dist/src/init/template-source/uri-template-source.js +45 -0
- package/dist/src/init/template-source/uri-template-source.js.map +1 -0
- package/dist/src/internals/index.d.ts +2 -0
- package/dist/src/internals/index.d.ts.map +1 -1
- package/dist/src/internals/index.js +1 -0
- package/dist/src/internals/index.js.map +1 -1
- package/dist/src/runner.d.ts +1 -1
- package/dist/src/runner.d.ts.map +1 -1
- package/dist/src/runner.js +3 -11
- package/dist/src/runner.js.map +1 -1
- package/dist/src/server/completion.js +17 -1
- 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 +27 -6
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.d.ts.map +1 -1
- package/dist/src/server/tmlanguage.js +2 -6
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/testing/test-server-host.d.ts.map +1 -1
- package/dist/src/testing/test-server-host.js +9 -3
- package/dist/src/testing/test-server-host.js.map +1 -1
- package/package.json +11 -12
- package/templates/__snapshots__/emitter-ts/.gitignore +0 -9
- package/templates/__snapshots__/library-ts/.gitignore +0 -9
- package/templates/__snapshots__/rest/.gitignore +0 -9
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/src/runner.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Prevents loading two conflicting copies of TypeSpec modules from global and
|
|
6
6
|
* local package locations.
|
|
7
7
|
*/
|
|
8
|
-
export declare function runScript(relativePath: string
|
|
8
|
+
export declare function runScript(relativePath: string): Promise<void>;
|
|
9
9
|
//# sourceMappingURL=runner.d.ts.map
|
package/dist/src/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnE"}
|
package/dist/src/runner.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFile, realpath, stat } from "fs/promises";
|
|
2
2
|
import { join, resolve } from "path";
|
|
3
3
|
import { fileURLToPath, pathToFileURL } from "url";
|
|
4
4
|
import { resolveModule } from "./module-resolver/index.js";
|
|
@@ -9,13 +9,10 @@ import { resolveModule } from "./module-resolver/index.js";
|
|
|
9
9
|
* Prevents loading two conflicting copies of TypeSpec modules from global and
|
|
10
10
|
* local package locations.
|
|
11
11
|
*/
|
|
12
|
-
export async function runScript(relativePath
|
|
12
|
+
export async function runScript(relativePath) {
|
|
13
13
|
const packageRoot = await resolvePackageRoot();
|
|
14
14
|
if (packageRoot) {
|
|
15
|
-
|
|
16
|
-
if (!(await checkFileExists(script)) && backupPath) {
|
|
17
|
-
script = join(packageRoot, backupPath);
|
|
18
|
-
}
|
|
15
|
+
const script = join(packageRoot, relativePath);
|
|
19
16
|
const scriptUrl = pathToFileURL(script).toString();
|
|
20
17
|
await import(scriptUrl);
|
|
21
18
|
}
|
|
@@ -23,11 +20,6 @@ export async function runScript(relativePath, backupPath) {
|
|
|
23
20
|
throw new Error("Couldn't resolve TypeSpec compiler root. This is unexpected. Please file an issue at https://github.com/microsoft/typespec.");
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
|
-
function checkFileExists(file) {
|
|
27
|
-
return access(file)
|
|
28
|
-
.then(() => true)
|
|
29
|
-
.catch(() => false);
|
|
30
|
-
}
|
|
31
23
|
async function resolvePackageRoot() {
|
|
32
24
|
if (process.env.TYPESPEC_SKIP_COMPILER_RESOLVE === "1") {
|
|
33
25
|
return await getThisPackageRoot();
|
package/dist/src/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAqB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB;IAClD,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE/C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,MAAM,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAsB;YAC9B,QAAQ;YACR,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/D,IAAI;SACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,2FAA2F,QAAQ,CAAC,IAAI,IAAI,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,mDAAmD;YACnD,OAAO,MAAM,kBAAkB,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,OAAO,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -347,7 +347,8 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
347
347
|
item.documentation === undefined) {
|
|
348
348
|
continue;
|
|
349
349
|
}
|
|
350
|
-
const
|
|
350
|
+
const identifierContext = getIdentifierPrintContext(node);
|
|
351
|
+
const insertionText = printIdentifier(key, identifierContext) + (suffix ?? "");
|
|
351
352
|
if (node.pos === node.end) {
|
|
352
353
|
// Synthetic/missing identifier node — just use insertText
|
|
353
354
|
item.insertText = insertionText;
|
|
@@ -392,6 +393,21 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
392
393
|
});
|
|
393
394
|
}
|
|
394
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* Determine the print context for an identifier in completion.
|
|
398
|
+
* In certain positions (model property names, object literal property names, member expressions),
|
|
399
|
+
* keywords can be used as identifiers without backticks.
|
|
400
|
+
*/
|
|
401
|
+
function getIdentifierPrintContext(node) {
|
|
402
|
+
switch (node.parent?.kind) {
|
|
403
|
+
case SyntaxKind.MemberExpression:
|
|
404
|
+
case SyntaxKind.ModelProperty:
|
|
405
|
+
case SyntaxKind.ObjectLiteralProperty:
|
|
406
|
+
return "allow-reserved";
|
|
407
|
+
default:
|
|
408
|
+
return "disallow-reserved";
|
|
409
|
+
}
|
|
410
|
+
}
|
|
395
411
|
const directiveNames = ["suppress", "deprecated"];
|
|
396
412
|
function addDirectiveCompletion({ completions }, node) {
|
|
397
413
|
if (!(node.parent?.kind === SyntaxKind.DirectiveExpression && node.parent.target === node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverlib.d.ts","sourceRoot":"","sources":["../../../src/server/serverlib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverlib.d.ts","sourceRoot":"","sources":["../../../src/server/serverlib.ts"],"names":[],"mappings":"AAwGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAiBnE,OAAO,EAML,MAAM,EAGN,UAAU,EAKX,MAAM,YAAY,CAAC;AAGpB,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,qBAAqB,CAAC,EAAE,oBAAoB,GAC3C,MAAM,CA27CR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodeActionKind, CompletionList, DiagnosticSeverity, DiagnosticTag, DocumentHighlightKind, FileChangeType, MarkupKind, Range, SemanticTokensBuilder, TextDocumentSyncKind, TextEdit, } from "vscode-languageserver";
|
|
1
|
+
import { CodeActionKind, CompletionList, DiagnosticSeverity, DiagnosticTag, DocumentHighlightKind, FileChangeType, FoldingRangeKind, MarkupKind, Range, SemanticTokensBuilder, TextDocumentSyncKind, TextEdit, } from "vscode-languageserver";
|
|
2
2
|
import { getSymNode } from "../core/binder.js";
|
|
3
3
|
import { resolveCodeFix } from "../core/code-fixes.js";
|
|
4
4
|
import { compilerAssert, getSourceLocation } from "../core/diagnostics.js";
|
|
@@ -515,14 +515,31 @@ export function createServer(host, clientConfigsProvider) {
|
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
else if (rangeStartSingleLines !== -1) {
|
|
518
|
-
addRange(rangeStartSingleLines, comment.end);
|
|
518
|
+
addRange(rangeStartSingleLines, comment.end, FoldingRangeKind.Comment);
|
|
519
519
|
rangeStartSingleLines = -1;
|
|
520
520
|
}
|
|
521
521
|
else {
|
|
522
|
-
addRange(comment.pos, comment.end);
|
|
522
|
+
addRange(comment.pos, comment.end, FoldingRangeKind.Comment);
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
|
+
addRangesForImports();
|
|
525
526
|
visitChildren(ast, addRangesForNode);
|
|
527
|
+
function addRangesForImports() {
|
|
528
|
+
const statements = ast.statements;
|
|
529
|
+
let runStart = -1;
|
|
530
|
+
for (let i = 0; i <= statements.length; i++) {
|
|
531
|
+
const isImport = i < statements.length && statements[i].kind === SyntaxKind.ImportStatement;
|
|
532
|
+
if (isImport) {
|
|
533
|
+
if (runStart === -1) {
|
|
534
|
+
runStart = i;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
else if (runStart !== -1) {
|
|
538
|
+
addRange(statements[runStart].pos, statements[i - 1].end, FoldingRangeKind.Imports);
|
|
539
|
+
runStart = -1;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
526
543
|
function addRangesForNode(node) {
|
|
527
544
|
if (node.kind === SyntaxKind.Doc) {
|
|
528
545
|
return; // fold doc comments as regular comments
|
|
@@ -537,16 +554,20 @@ export function createServer(host, clientConfigsProvider) {
|
|
|
537
554
|
visitChildren(node, addRangesForNode);
|
|
538
555
|
}
|
|
539
556
|
return ranges;
|
|
540
|
-
function addRange(startPos, endPos) {
|
|
557
|
+
function addRange(startPos, endPos, kind) {
|
|
541
558
|
const start = file.getLineAndCharacterOfPosition(startPos);
|
|
542
559
|
const end = file.getLineAndCharacterOfPosition(endPos);
|
|
543
560
|
if (start.line !== end.line) {
|
|
544
|
-
|
|
561
|
+
const range = {
|
|
545
562
|
startLine: start.line,
|
|
546
563
|
startCharacter: start.character,
|
|
547
564
|
endLine: end.line,
|
|
548
565
|
endCharacter: end.character,
|
|
549
|
-
}
|
|
566
|
+
};
|
|
567
|
+
if (kind !== undefined) {
|
|
568
|
+
range.kind = kind;
|
|
569
|
+
}
|
|
570
|
+
ranges.push(range);
|
|
550
571
|
}
|
|
551
572
|
}
|
|
552
573
|
}
|