@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.
- 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/actions/init.d.ts +2 -0
- package/dist/src/core/cli/actions/init.d.ts.map +1 -1
- package/dist/src/core/cli/actions/init.js.map +1 -1
- package/dist/src/core/cli/cli.d.ts +15 -1
- package/dist/src/core/cli/cli.d.ts.map +1 -1
- package/dist/src/core/cli/cli.js +38 -19
- package/dist/src/core/cli/cli.js.map +1 -1
- package/dist/src/core/cli/utils.d.ts +4 -4
- package/dist/src/core/cli/utils.d.ts.map +1 -1
- package/dist/src/core/cli/utils.js +6 -6
- package/dist/src/core/cli/utils.js.map +1 -1
- package/dist/src/core/diagnostic-code.d.ts +59 -0
- package/dist/src/core/diagnostic-code.d.ts.map +1 -0
- package/dist/src/core/diagnostic-code.js +133 -0
- package/dist/src/core/diagnostic-code.js.map +1 -0
- 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/library.d.ts.map +1 -1
- package/dist/src/core/library.js +2 -0
- package/dist/src/core/library.js.map +1 -1
- package/dist/src/core/linter.d.ts +2 -1
- package/dist/src/core/linter.d.ts.map +1 -1
- package/dist/src/core/linter.js +36 -4
- package/dist/src/core/linter.js.map +1 -1
- package/dist/src/core/messages.d.ts +20 -2
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +6 -0
- package/dist/src/core/messages.js.map +1 -1
- 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 +48 -4
- 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/suppression-tracking.d.ts +15 -3
- package/dist/src/core/suppression-tracking.d.ts.map +1 -1
- package/dist/src/core/suppression-tracking.js +41 -6
- package/dist/src/core/suppression-tracking.js.map +1 -1
- package/dist/src/core/types.d.ts +20 -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/internals/standalone.d.ts +15 -0
- package/dist/src/internals/standalone.d.ts.map +1 -0
- package/dist/src/internals/standalone.js +14 -0
- package/dist/src/internals/standalone.js.map +1 -0
- 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/entrypoints/cli.js +3 -1
- package/package.json +16 -13
- package/templates/__snapshots__/emitter-ts/.gitignore +0 -9
- package/templates/__snapshots__/library-ts/.gitignore +0 -9
- package/templates/__snapshots__/rest/.gitignore +0 -9
package/cmd/tsp-server.js
CHANGED
package/cmd/tsp.js
CHANGED
package/dist/manifest.js
CHANGED
|
@@ -12,11 +12,11 @@ export interface Checker {
|
|
|
12
12
|
cloneType<T extends Type>(type: T, additionalProps?: {
|
|
13
13
|
[P in keyof T]?: T[P];
|
|
14
14
|
}): T;
|
|
15
|
-
createType<T extends Type extends any ? CreateTypeProps : never>(typeDef: T): T & TypePrototype & {
|
|
15
|
+
createType<T extends (Type extends any ? CreateTypeProps : never)>(typeDef: T): T & TypePrototype & {
|
|
16
16
|
isFinished: boolean;
|
|
17
17
|
readonly entityKind: "Type";
|
|
18
18
|
};
|
|
19
|
-
createAndFinishType<T extends Type extends any ? CreateTypeProps : never>(typeDef: T): T & TypePrototype;
|
|
19
|
+
createAndFinishType<T extends (Type extends any ? CreateTypeProps : never)>(typeDef: T): T & TypePrototype;
|
|
20
20
|
finishType<T extends Type>(typeDef: T): T;
|
|
21
21
|
createLiteralType(value: string, node?: StringLiteralNode): StringLiteral;
|
|
22
22
|
createLiteralType(value: number | Numeric, node?: NumericLiteralNode): NumericLiteral;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAY5C,OAAO,EAML,cAAc,EACd,kBAAkB,EAqClB,mBAAmB,EAanB,KAAK,EAGL,aAAa,EAOb,IAAI,EAGJ,cAAc,EACd,kBAAkB,EASlB,MAAM,EAMN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EAWjB,GAAG,EAcH,IAAI,EAcJ,KAAK,EAGN,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,MAAM,aAAa,CAAC,CAAC;AA+I5F,MAAM,WAAW,OAAO;IAGtB;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAgBjC,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC,CAAC;IAKnF,UAAU,CAAC,CAAC,SAAS,IAAI,SAAS,GAAG,GAAG,eAAe,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TemplateSource } from "../../../init/template-source/index.js";
|
|
1
2
|
import { Diagnostic } from "../../types.js";
|
|
2
3
|
import { CliCompilerHost } from "../types.js";
|
|
3
4
|
export interface InitArgs {
|
|
@@ -8,6 +9,7 @@ export interface InitArgs {
|
|
|
8
9
|
"project-name"?: string;
|
|
9
10
|
emitters?: string[];
|
|
10
11
|
outputDir?: string;
|
|
12
|
+
internalTemplateSource?: TemplateSource;
|
|
11
13
|
}
|
|
12
14
|
export declare function initAction(host: CliCompilerHost, args: InitArgs): Promise<readonly Diagnostic[]>;
|
|
13
15
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,cAAc,CAAC;CACzC;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAYhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAelD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAqB,EACrB,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpF,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,iBAAiB,EAAE,CAAC;YACnC,OAAO,CAAC,CAAC,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import type { TemplateSource } from "../../init/template-source/index.js";
|
|
2
|
+
import { CompilerHost } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Run the TypeSpec CLI (`tsp`).
|
|
5
|
+
*
|
|
6
|
+
* @param options.baseHost {@link CompilerHost} that every CLI action's host is composed from.
|
|
7
|
+
* Defaults to the real file-system {@link NodeHost}.
|
|
8
|
+
* @param options.internalTemplateSource Source used for the built-in `tsp init` templates.
|
|
9
|
+
* Defaults to reading the compiler's `templates/` directory off disk.
|
|
10
|
+
* The standalone/self-contained CLI passes an in-memory source built from its bundled template assets.
|
|
11
|
+
*/
|
|
12
|
+
export declare function runTypeSpecCli(options?: {
|
|
13
|
+
baseHost?: CompilerHost;
|
|
14
|
+
internalTemplateSource?: TemplateSource;
|
|
15
|
+
}): Promise<void>;
|
|
2
16
|
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/cli.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/cli.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAAE,YAAY,EAAc,MAAM,aAAa,CAAC;AAoDvD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,sBAAsB,CAAC,EAAE,cAAc,CAAA;CAAO,GACjF,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
package/dist/src/core/cli/cli.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
try {
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
await import("source-map-support/register.js");
|
|
5
|
-
}
|
|
6
|
-
catch {
|
|
7
|
-
// package only present in dev.
|
|
8
|
-
}
|
|
9
1
|
import yargs from "yargs";
|
|
10
2
|
import { installTypeSpecDependencies } from "../../install/install.js";
|
|
11
3
|
import { typespecVersion } from "../../manifest.js";
|
|
12
4
|
import { logDiagnostics } from "../diagnostics.js";
|
|
13
5
|
import { getTypeSpecEngine } from "../engine.js";
|
|
6
|
+
import { NodeHost } from "../node-host.js";
|
|
14
7
|
import { compileAction } from "./actions/compile/compile.js";
|
|
15
8
|
import { formatAction } from "./actions/format.js";
|
|
16
9
|
import { printInfoAction } from "./actions/info.js";
|
|
@@ -18,12 +11,12 @@ import { printEmitterOptionsAction } from "./actions/info/emitter-options.js";
|
|
|
18
11
|
import { initAction } from "./actions/init.js";
|
|
19
12
|
import { installVSExtension, uninstallVSExtension } from "./actions/vs.js";
|
|
20
13
|
import { installVSCodeExtension, uninstallVSCodeExtension, } from "./actions/vscode.js";
|
|
21
|
-
import { createCLICompilerHost, handleInternalCompilerError, logDiagnosticCount,
|
|
14
|
+
import { createCLICompilerHost, handleInternalCompilerError, logDiagnosticCount, withCliHostAndDiagnostics as withCliHostAndDiagnosticsBase, withCliHost as withCliHostBase, } from "./utils.js";
|
|
22
15
|
/**
|
|
23
16
|
* Intercept `tsp compile --emit <emitter> --help` to display emitter options.
|
|
24
17
|
* Returns true if the interception was handled.
|
|
25
18
|
*/
|
|
26
|
-
async function handleCompileEmitHelp(argv) {
|
|
19
|
+
async function handleCompileEmitHelp(argv, baseHost) {
|
|
27
20
|
if (argv[0] !== "compile" || !argv.includes("--help")) {
|
|
28
21
|
return false;
|
|
29
22
|
}
|
|
@@ -35,7 +28,7 @@ async function handleCompileEmitHelp(argv) {
|
|
|
35
28
|
if (!emitterName || emitterName.startsWith("-")) {
|
|
36
29
|
return false;
|
|
37
30
|
}
|
|
38
|
-
const host = createCLICompilerHost({ pretty: true });
|
|
31
|
+
const host = createCLICompilerHost({ pretty: true }, baseHost);
|
|
39
32
|
const diagnostics = await printEmitterOptionsAction(host, emitterName);
|
|
40
33
|
if (diagnostics.length > 0) {
|
|
41
34
|
logDiagnostics(diagnostics, host.logSink);
|
|
@@ -46,10 +39,41 @@ async function handleCompileEmitHelp(argv) {
|
|
|
46
39
|
}
|
|
47
40
|
return true;
|
|
48
41
|
}
|
|
49
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Run the TypeSpec CLI (`tsp`).
|
|
44
|
+
*
|
|
45
|
+
* @param options.baseHost {@link CompilerHost} that every CLI action's host is composed from.
|
|
46
|
+
* Defaults to the real file-system {@link NodeHost}.
|
|
47
|
+
* @param options.internalTemplateSource Source used for the built-in `tsp init` templates.
|
|
48
|
+
* Defaults to reading the compiler's `templates/` directory off disk.
|
|
49
|
+
* The standalone/self-contained CLI passes an in-memory source built from its bundled template assets.
|
|
50
|
+
*/
|
|
51
|
+
export async function runTypeSpecCli(options = {}) {
|
|
52
|
+
process.setSourceMapsEnabled(true);
|
|
53
|
+
const baseHost = options.baseHost ?? NodeHost;
|
|
54
|
+
process.on("unhandledRejection", (error) => {
|
|
55
|
+
// eslint-disable-next-line no-console
|
|
56
|
+
console.error("Unhandled promise rejection!");
|
|
57
|
+
handleInternalCompilerError(error);
|
|
58
|
+
});
|
|
59
|
+
// Route any error that escapes the command handlers (e.g. yargs parsing or `--emit --help`) to the
|
|
60
|
+
// internal-error reporter, so callers can `await runTypeSpecCli()` without their own catch.
|
|
61
|
+
try {
|
|
62
|
+
await runCli(baseHost, options.internalTemplateSource);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
handleInternalCompilerError(error);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Build and run the `tsp` command line, composing every action's host from `baseHost`.
|
|
70
|
+
*/
|
|
71
|
+
async function runCli(baseHost, internalTemplateSource) {
|
|
72
|
+
const withCliHost = (fn) => withCliHostBase(baseHost, fn);
|
|
73
|
+
const withCliHostAndDiagnostics = (fn) => withCliHostAndDiagnosticsBase(baseHost, fn);
|
|
50
74
|
const argv = process.argv.slice(2);
|
|
51
75
|
// Handle `tsp compile --emit <emitter> --help` early before yargs intercepts --help
|
|
52
|
-
if (await handleCompileEmitHelp(argv)) {
|
|
76
|
+
if (await handleCompileEmitHelp(argv, baseHost)) {
|
|
53
77
|
return;
|
|
54
78
|
}
|
|
55
79
|
await yargs(argv)
|
|
@@ -224,6 +248,7 @@ async function main() {
|
|
|
224
248
|
...args,
|
|
225
249
|
emitters: args["template-emitters"],
|
|
226
250
|
outputDir: args["output-dir"],
|
|
251
|
+
internalTemplateSource,
|
|
227
252
|
})))
|
|
228
253
|
.command("install", "Install TypeSpec dependencies", (cmd) => cmd.option("save-package-manager", {
|
|
229
254
|
type: "boolean",
|
|
@@ -241,10 +266,4 @@ async function main() {
|
|
|
241
266
|
.version(getTypeSpecEngine() === "tsp" ? `${typespecVersion} standalone` : typespecVersion)
|
|
242
267
|
.demandCommand(1, "You must use one of the supported commands.").argv;
|
|
243
268
|
}
|
|
244
|
-
process.on("unhandledRejection", (error) => {
|
|
245
|
-
// eslint-disable-next-line no-console
|
|
246
|
-
console.error("Unhandled promise rejection!");
|
|
247
|
-
handleInternalCompilerError(error);
|
|
248
|
-
});
|
|
249
|
-
main().catch(handleInternalCompilerError);
|
|
250
269
|
//# sourceMappingURL=cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/core/cli/cli.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/core/cli/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpawnSyncOptionsWithStringEncoding } from "child_process";
|
|
2
|
-
import { Diagnostic } from "../types.js";
|
|
2
|
+
import { CompilerHost, Diagnostic } from "../types.js";
|
|
3
3
|
import { CliCompilerHost } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Emit the `cli-command-deprecated` warning for a deprecated CLI command.
|
|
@@ -19,12 +19,12 @@ export interface CliHostArgs {
|
|
|
19
19
|
debug?: boolean;
|
|
20
20
|
trace?: string[];
|
|
21
21
|
}
|
|
22
|
-
export declare function withCliHost<T extends CliHostArgs>(fn: (host: CliCompilerHost, args: T) => Promise<void>): (args: T) => Promise<void>;
|
|
22
|
+
export declare function withCliHost<T extends CliHostArgs>(baseHost: CompilerHost, fn: (host: CliCompilerHost, args: T) => Promise<void>): (args: T) => Promise<void>;
|
|
23
23
|
/**
|
|
24
24
|
* Resolve Cli host automatically using cli args and handle diagnostics returned by the action.
|
|
25
25
|
*/
|
|
26
|
-
export declare function withCliHostAndDiagnostics<T extends CliHostArgs>(fn: (host: CliCompilerHost, args: T) => readonly Diagnostic[] | Promise<readonly Diagnostic[]>): (args: T) => void | Promise<void>;
|
|
27
|
-
export declare function createCLICompilerHost(options: CliHostArgs): CliCompilerHost;
|
|
26
|
+
export declare function withCliHostAndDiagnostics<T extends CliHostArgs>(baseHost: CompilerHost, fn: (host: CliCompilerHost, args: T) => readonly Diagnostic[] | Promise<readonly Diagnostic[]>): (args: T) => void | Promise<void>;
|
|
27
|
+
export declare function createCLICompilerHost(options: CliHostArgs, baseHost?: CompilerHost): CliCompilerHost;
|
|
28
28
|
export declare function run(host: CliCompilerHost, command: string, commandArgs: string[], options?: RunOptions): import("node:child_process").SpawnSyncReturns<string>;
|
|
29
29
|
export declare function logDiagnosticCount(diagnostics: readonly Diagnostic[]): void;
|
|
30
30
|
export declare function logInternalCompilerError(error: unknown): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAa,MAAM,eAAe,CAAC;AAW9E,OAAO,EAAE,UAAU,EAAY,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAa,MAAM,eAAe,CAAC;AAW9E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAY,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CAON;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAK5B;AAcD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,WAAW,EAC7D,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,SAAS,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,GAC7F,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,QAAQ,GAAE,YAAuB,GAChC,eAAe,CAYjB;AAED,wBAAgB,GAAG,CACjB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,UAAU,yDA6DrB;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,QAcpE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,QAYtD;AACD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAGjE;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjF"}
|
|
@@ -26,9 +26,9 @@ export function reportDeprecatedCommand(host, command, docsUrl) {
|
|
|
26
26
|
});
|
|
27
27
|
host.logger.warn(diagnostic.message);
|
|
28
28
|
}
|
|
29
|
-
export function withCliHost(fn) {
|
|
29
|
+
export function withCliHost(baseHost, fn) {
|
|
30
30
|
return withFailsafe((args) => {
|
|
31
|
-
const host = createCLICompilerHost(args);
|
|
31
|
+
const host = createCLICompilerHost(args, baseHost);
|
|
32
32
|
return fn(host, args);
|
|
33
33
|
});
|
|
34
34
|
}
|
|
@@ -45,9 +45,9 @@ function withFailsafe(fn) {
|
|
|
45
45
|
/**
|
|
46
46
|
* Resolve Cli host automatically using cli args and handle diagnostics returned by the action.
|
|
47
47
|
*/
|
|
48
|
-
export function withCliHostAndDiagnostics(fn) {
|
|
48
|
+
export function withCliHostAndDiagnostics(baseHost, fn) {
|
|
49
49
|
return withFailsafe(async (args) => {
|
|
50
|
-
const host = createCLICompilerHost(args);
|
|
50
|
+
const host = createCLICompilerHost(args, baseHost);
|
|
51
51
|
const diagnostics = await fn(host, args);
|
|
52
52
|
logDiagnostics(diagnostics, host.logSink);
|
|
53
53
|
logDiagnosticCount(diagnostics);
|
|
@@ -56,7 +56,7 @@ export function withCliHostAndDiagnostics(fn) {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
export function createCLICompilerHost(options) {
|
|
59
|
+
export function createCLICompilerHost(options, baseHost = NodeHost) {
|
|
60
60
|
const logSink = createConsoleSink({
|
|
61
61
|
pretty: options.pretty,
|
|
62
62
|
pathRelativeTo: process.cwd(),
|
|
@@ -67,7 +67,7 @@ export function createCLICompilerHost(options) {
|
|
|
67
67
|
filter: options.trace ?? (options.debug ? ["*"] : undefined),
|
|
68
68
|
});
|
|
69
69
|
tracer.trace("cli.args", `CLI args: ${inspect(options, { depth: null })}`);
|
|
70
|
-
return { ...
|
|
70
|
+
return { ...baseHost, logSink, logger, tracer, debug: options.debug ?? false };
|
|
71
71
|
}
|
|
72
72
|
export function run(host, command, commandArgs, options) {
|
|
73
73
|
const logger = host.logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAU,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities to compute and resolve short (scope-stripped or library-aliased)
|
|
3
|
+
* diagnostic/linter-rule codes.
|
|
4
|
+
*
|
|
5
|
+
* Full diagnostic codes and linter rule ids have the form `${packageName}/${code}`
|
|
6
|
+
* (e.g. `@typespec/http/no-foo`). Those are verbose, so the compiler also accepts
|
|
7
|
+
* short forms where the package scope is stripped (`http/no-foo`) or replaced by a
|
|
8
|
+
* library-declared alias (`tcgc/no-foo`).
|
|
9
|
+
*/
|
|
10
|
+
/** Information about a loaded library used to compute short diagnostic codes. */
|
|
11
|
+
export interface LibraryNameInfo {
|
|
12
|
+
/** Full package name e.g. `@typespec/http`. Matches package.json name. */
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/** Optional library-declared alias e.g. `tcgc`. Overrides the auto-stripped name. */
|
|
15
|
+
readonly alias?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve short/full diagnostic codes for a given set of loaded libraries.
|
|
19
|
+
*/
|
|
20
|
+
export interface DiagnosticCodeResolver {
|
|
21
|
+
/**
|
|
22
|
+
* Normalize a user-provided code (short or full) to its canonical full
|
|
23
|
+
* `${packageName}/${code}` form. If the code cannot be resolved (unknown short
|
|
24
|
+
* name, ambiguous short name, or a bare compiler code) it is returned unchanged.
|
|
25
|
+
*/
|
|
26
|
+
resolveCode(code: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* If `code`'s leading short-name segment maps to two or more loaded libraries,
|
|
29
|
+
* return the ambiguity information; otherwise return `undefined`. A full code
|
|
30
|
+
* that is already prefixed with a known package is never ambiguous.
|
|
31
|
+
*/
|
|
32
|
+
getAmbiguousShortName(code: string): {
|
|
33
|
+
shortName: string;
|
|
34
|
+
candidates: readonly string[];
|
|
35
|
+
} | undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Compute the short name of a package by stripping the TypeSpec scope or applying
|
|
39
|
+
* a library-declared alias.
|
|
40
|
+
*
|
|
41
|
+
* - An explicit `alias` always wins.
|
|
42
|
+
* - `@typespec/<name>` -> `<name>`
|
|
43
|
+
* - `@<scope>/typespec-<name>` -> `<name>`
|
|
44
|
+
* - `typespec-<name>` -> `<name>`
|
|
45
|
+
* - otherwise there is no short form (returns `undefined`).
|
|
46
|
+
*/
|
|
47
|
+
export declare function getPackageShortName(name: string, alias?: string): string | undefined;
|
|
48
|
+
/** Format the conflicting full package names of an ambiguous short name for display. */
|
|
49
|
+
export declare function formatShortNameCandidates(candidates: readonly string[]): string;
|
|
50
|
+
/** Returns whether `alias` is a valid library alias (see {@link libraryAliasPattern}). */
|
|
51
|
+
export declare function isValidLibraryAlias(alias: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Create a resolver mapping between full and short diagnostic codes for the given
|
|
54
|
+
* loaded libraries. When two libraries would resolve to the same short name, that
|
|
55
|
+
* short name is considered ambiguous and all conflicting libraries fall back to
|
|
56
|
+
* their full name for both resolution and display.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createDiagnosticCodeResolver(libraries: Iterable<LibraryNameInfo>): DiagnosticCodeResolver;
|
|
59
|
+
//# sourceMappingURL=diagnostic-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic-code.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostic-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC;;;;OAIG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,GACX;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBpF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE/E;AAYD,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,GACnC,sBAAsB,CA6ExB"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities to compute and resolve short (scope-stripped or library-aliased)
|
|
3
|
+
* diagnostic/linter-rule codes.
|
|
4
|
+
*
|
|
5
|
+
* Full diagnostic codes and linter rule ids have the form `${packageName}/${code}`
|
|
6
|
+
* (e.g. `@typespec/http/no-foo`). Those are verbose, so the compiler also accepts
|
|
7
|
+
* short forms where the package scope is stripped (`http/no-foo`) or replaced by a
|
|
8
|
+
* library-declared alias (`tcgc/no-foo`).
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Compute the short name of a package by stripping the TypeSpec scope or applying
|
|
12
|
+
* a library-declared alias.
|
|
13
|
+
*
|
|
14
|
+
* - An explicit `alias` always wins.
|
|
15
|
+
* - `@typespec/<name>` -> `<name>`
|
|
16
|
+
* - `@<scope>/typespec-<name>` -> `<name>`
|
|
17
|
+
* - `typespec-<name>` -> `<name>`
|
|
18
|
+
* - otherwise there is no short form (returns `undefined`).
|
|
19
|
+
*/
|
|
20
|
+
export function getPackageShortName(name, alias) {
|
|
21
|
+
if (alias !== undefined && alias !== "") {
|
|
22
|
+
return alias;
|
|
23
|
+
}
|
|
24
|
+
const typespecScope = /^@typespec\/(.+)$/.exec(name);
|
|
25
|
+
if (typespecScope) {
|
|
26
|
+
return typespecScope[1];
|
|
27
|
+
}
|
|
28
|
+
const scopedTypespecPrefix = /^@[^/]+\/typespec-(.+)$/.exec(name);
|
|
29
|
+
if (scopedTypespecPrefix) {
|
|
30
|
+
return scopedTypespecPrefix[1];
|
|
31
|
+
}
|
|
32
|
+
const unscopedTypespecPrefix = /^typespec-(.+)$/.exec(name);
|
|
33
|
+
if (unscopedTypespecPrefix) {
|
|
34
|
+
return unscopedTypespecPrefix[1];
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
/** Format the conflicting full package names of an ambiguous short name for display. */
|
|
39
|
+
export function formatShortNameCandidates(candidates) {
|
|
40
|
+
return candidates.map((name) => `"${name}"`).join(", ");
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Pattern a library `alias` must match: a non-empty, kebab-case identifier made of
|
|
44
|
+
* lowercase letters and digits, with single hyphens allowed between segments (no
|
|
45
|
+
* leading/trailing/double hyphens, no uppercase, whitespace or other characters).
|
|
46
|
+
* The alias is used as a diagnostic/linter code prefix (e.g. `tcgc/no-foo`), so it
|
|
47
|
+
* must not contain a `/` and should look like the scope-stripped package names it
|
|
48
|
+
* replaces (e.g. `client-generator-core`).
|
|
49
|
+
*/
|
|
50
|
+
const libraryAliasPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
51
|
+
/** Returns whether `alias` is a valid library alias (see {@link libraryAliasPattern}). */
|
|
52
|
+
export function isValidLibraryAlias(alias) {
|
|
53
|
+
return libraryAliasPattern.test(alias);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a resolver mapping between full and short diagnostic codes for the given
|
|
57
|
+
* loaded libraries. When two libraries would resolve to the same short name, that
|
|
58
|
+
* short name is considered ambiguous and all conflicting libraries fall back to
|
|
59
|
+
* their full name for both resolution and display.
|
|
60
|
+
*/
|
|
61
|
+
export function createDiagnosticCodeResolver(libraries) {
|
|
62
|
+
const shortToNames = new Map();
|
|
63
|
+
const fullNames = [];
|
|
64
|
+
for (const lib of libraries) {
|
|
65
|
+
fullNames.push(lib.name);
|
|
66
|
+
const short = getPackageShortName(lib.name, lib.alias);
|
|
67
|
+
if (short !== undefined) {
|
|
68
|
+
const existing = shortToNames.get(short);
|
|
69
|
+
if (existing) {
|
|
70
|
+
existing.push(lib.name);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
shortToNames.set(short, [lib.name]);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const shortToFull = new Map();
|
|
78
|
+
const ambiguousShortNames = new Map();
|
|
79
|
+
for (const [short, names] of shortToNames) {
|
|
80
|
+
if (names.length === 1) {
|
|
81
|
+
shortToFull.set(short, names[0]);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
ambiguousShortNames.set(short, names);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Longest names first so that the most specific package prefix wins.
|
|
88
|
+
const sortedFullNames = [...fullNames].sort((a, b) => b.length - a.length);
|
|
89
|
+
function matchFullPackage(code) {
|
|
90
|
+
for (const name of sortedFullNames) {
|
|
91
|
+
if (code.startsWith(`${name}/`)) {
|
|
92
|
+
return name;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
resolveCode(code) {
|
|
99
|
+
// Already a full code referencing a known library.
|
|
100
|
+
if (matchFullPackage(code) !== undefined) {
|
|
101
|
+
return code;
|
|
102
|
+
}
|
|
103
|
+
const separator = code.indexOf("/");
|
|
104
|
+
if (separator === -1) {
|
|
105
|
+
return code;
|
|
106
|
+
}
|
|
107
|
+
const shortName = code.slice(0, separator);
|
|
108
|
+
const rest = code.slice(separator + 1);
|
|
109
|
+
const fullName = shortToFull.get(shortName);
|
|
110
|
+
if (fullName !== undefined) {
|
|
111
|
+
return `${fullName}/${rest}`;
|
|
112
|
+
}
|
|
113
|
+
return code;
|
|
114
|
+
},
|
|
115
|
+
getAmbiguousShortName(code) {
|
|
116
|
+
// A full code referencing a known library is never ambiguous.
|
|
117
|
+
if (matchFullPackage(code) !== undefined) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
const separator = code.indexOf("/");
|
|
121
|
+
if (separator === -1) {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
const shortName = code.slice(0, separator);
|
|
125
|
+
const candidates = ambiguousShortNames.get(shortName);
|
|
126
|
+
if (candidates === undefined) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
return { shortName, candidates };
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=diagnostic-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic-code.js","sourceRoot":"","sources":["../../../src/core/diagnostic-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A lazy reference to a file on disk. Unlike embedding the file content directly, a
|
|
3
|
+
* `FileRef` only describes *where* the content lives; it is resolved (read) by tooling
|
|
4
|
+
* such as `tspd` when needed. Because it does not read the file at definition time, it is
|
|
5
|
+
* safe to include in code that is bundled for the browser (e.g. the playground).
|
|
6
|
+
*/
|
|
7
|
+
export interface FileRef {
|
|
8
|
+
readonly kind: "file-ref";
|
|
9
|
+
/** Path to the file, relative to the package root. */
|
|
10
|
+
readonly path: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const fileRef: {
|
|
13
|
+
/**
|
|
14
|
+
* Create a {@link FileRef} pointing to a file relative to the package root (the directory
|
|
15
|
+
* containing the library's `package.json`).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* docs: fileRef.fromPackageRoot("src/rules/my-rule.md"),
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
fromPackageRoot(path: string): FileRef;
|
|
23
|
+
};
|
|
24
|
+
/** Type guard for {@link FileRef}. */
|
|
25
|
+
export declare function isFileRef(value: unknown): value is FileRef;
|
|
26
|
+
//# sourceMappingURL=file-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-ref.d.ts","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,OAAO;IAClB;;;;;;;;OAQG;0BACmB,MAAM,GAAG,OAAO;CAGvC,CAAC;AAEF,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const fileRef = {
|
|
2
|
+
/**
|
|
3
|
+
* Create a {@link FileRef} pointing to a file relative to the package root (the directory
|
|
4
|
+
* containing the library's `package.json`).
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* docs: fileRef.fromPackageRoot("src/rules/my-rule.md"),
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
fromPackageRoot(path) {
|
|
12
|
+
return { kind: "file-ref", path };
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
/** Type guard for {@link FileRef}. */
|
|
16
|
+
export function isFileRef(value) {
|
|
17
|
+
return typeof value === "object" && value !== null && value.kind === "file-ref";
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=file-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-ref.js","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAY;QAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAiB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA4BlD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,EACtD,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,KAAK,EAClC,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAwC9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAEpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAEpE;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAClC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrE,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,uCAGhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAC3C,IAAI,CAEN"}
|