@typespec/compiler 0.47.0-dev.0 → 0.47.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/cli/{args.d.ts → actions/compile/args.d.ts} +2 -2
  3. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -0
  4. package/dist/src/core/cli/{args.js → actions/compile/args.js} +5 -5
  5. package/dist/src/core/cli/actions/compile/args.js.map +1 -0
  6. package/dist/src/core/cli/actions/compile/compile.d.ts +6 -0
  7. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -0
  8. package/dist/src/core/cli/actions/compile/compile.js +106 -0
  9. package/dist/src/core/cli/actions/compile/compile.js.map +1 -0
  10. package/dist/src/core/cli/actions/format.d.ts +8 -0
  11. package/dist/src/core/cli/actions/format.d.ts.map +1 -0
  12. package/dist/src/core/cli/actions/format.js +25 -0
  13. package/dist/src/core/cli/actions/format.js.map +1 -0
  14. package/dist/src/core/cli/actions/info.d.ts +6 -0
  15. package/dist/src/core/cli/actions/info.d.ts.map +1 -0
  16. package/dist/src/core/cli/actions/info.js +27 -0
  17. package/dist/src/core/cli/actions/info.js.map +1 -0
  18. package/dist/src/core/cli/actions/init.d.ts +6 -0
  19. package/dist/src/core/cli/actions/init.d.ts.map +1 -0
  20. package/dist/src/core/cli/actions/init.js +17 -0
  21. package/dist/src/core/cli/actions/init.js.map +1 -0
  22. package/dist/src/core/cli/actions/vs.d.ts +3 -0
  23. package/dist/src/core/cli/actions/vs.d.ts.map +1 -0
  24. package/dist/src/core/cli/actions/vs.js +54 -0
  25. package/dist/src/core/cli/actions/vs.js.map +1 -0
  26. package/dist/src/core/cli/actions/vscode.d.ts +3 -0
  27. package/dist/src/core/cli/actions/vscode.d.ts.map +1 -0
  28. package/dist/src/core/cli/actions/vscode.js +36 -0
  29. package/dist/src/core/cli/actions/vscode.js.map +1 -0
  30. package/dist/src/core/cli/cli.js +16 -356
  31. package/dist/src/core/cli/cli.js.map +1 -1
  32. package/dist/src/core/cli/index.d.ts +1 -1
  33. package/dist/src/core/cli/index.d.ts.map +1 -1
  34. package/dist/src/core/cli/index.js +1 -1
  35. package/dist/src/core/cli/index.js.map +1 -1
  36. package/dist/src/core/cli/install-vsix.d.ts +2 -0
  37. package/dist/src/core/cli/install-vsix.d.ts.map +1 -0
  38. package/dist/src/core/cli/install-vsix.js +41 -0
  39. package/dist/src/core/cli/install-vsix.js.map +1 -0
  40. package/dist/src/core/cli/utils.d.ts +27 -0
  41. package/dist/src/core/cli/utils.d.ts.map +1 -0
  42. package/dist/src/core/cli/utils.js +93 -0
  43. package/dist/src/core/cli/utils.js.map +1 -0
  44. package/dist/src/core/program.js +3 -3
  45. package/dist/src/core/program.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/src/core/cli/args.d.ts.map +0 -1
  48. package/dist/src/core/cli/args.js.map +0 -1
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.47.0-dev.0",
3
- "commit": "140d6ce4642325433cbf1f749bc043aed34c2624"
2
+ "version": "0.47.0-dev.2",
3
+ "commit": "33e760ae4891ad228cfa0e838460bca012a6ef5d"
4
4
  };
@@ -1,5 +1,5 @@
1
- import { CompilerOptions } from "../options.js";
2
- import { CompilerHost, Diagnostic } from "../types.js";
1
+ import { CompilerOptions } from "../../../options.js";
2
+ import { CompilerHost, Diagnostic } from "../../../types.js";
3
3
  export interface CompileCliArgs {
4
4
  "output-dir"?: string;
5
5
  "output-path"?: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/args.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,OAAO,CAAC,CAAC,eAAe,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAuD/D"}
@@ -1,8 +1,8 @@
1
- import { expandConfigVariables } from "../../config/config-interpolation.js";
2
- import { loadTypeSpecConfigForPath, validateConfigPathsAbsolute, } from "../../config/config-loader.js";
3
- import { createDiagnosticCollector } from "../index.js";
4
- import { getDirectoryPath, normalizePath, resolvePath } from "../path-utils.js";
5
- import { deepClone, omitUndefined } from "../util.js";
1
+ import { expandConfigVariables } from "../../../../config/config-interpolation.js";
2
+ import { loadTypeSpecConfigForPath, validateConfigPathsAbsolute, } from "../../../../config/config-loader.js";
3
+ import { createDiagnosticCollector } from "../../../index.js";
4
+ import { getDirectoryPath, normalizePath, resolvePath } from "../../../path-utils.js";
5
+ import { deepClone, omitUndefined } from "../../../util.js";
6
6
  export async function getCompilerOptions(host, entrypoint, cwd, args, env) {
7
7
  var _a, _b, _c, _d, _e;
8
8
  cwd = normalizePath(cwd);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CompileCliArgs } from "./args.js";
2
+ export declare function compileAction(args: CompileCliArgs & {
3
+ path: string;
4
+ pretty?: boolean;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAC;AAE/D,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBAwB5F"}
@@ -0,0 +1,106 @@
1
+ import watch from "node-watch";
2
+ import { resolve } from "path";
3
+ import { logDiagnostics } from "../../../diagnostics.js";
4
+ import { resolveTypeSpecEntrypoint } from "../../../entrypoint-resolution.js";
5
+ import { getAnyExtensionFromPath, resolvePath } from "../../../path-utils.js";
6
+ import { compile as compileProgram } from "../../../program.js";
7
+ import { createCLICompilerHost, handleInternalCompilerError, logDiagnosticCount, } from "../../utils.js";
8
+ import { getCompilerOptions } from "./args.js";
9
+ export async function compileAction(args) {
10
+ const host = createCLICompilerHost(args);
11
+ const diagnostics = [];
12
+ const entrypoint = await resolveTypeSpecEntrypoint(host, resolvePath(process.cwd(), args.path), (diag) => diagnostics.push(diag));
13
+ if (entrypoint === undefined || diagnostics.length > 0) {
14
+ logDiagnostics(diagnostics, host.logSink);
15
+ process.exit(1);
16
+ }
17
+ const cliOptions = await getCompilerOptionsOrExit(host, entrypoint, args);
18
+ const program = await compileInput(host, entrypoint, cliOptions);
19
+ if (program.hasError()) {
20
+ process.exit(1);
21
+ }
22
+ if (program.emitters.length === 0 && !program.compilerOptions.noEmit) {
23
+ // eslint-disable-next-line no-console
24
+ console.log("No emitter was configured, no output was generated. Use `--emit <emitterName>` to pick emitter or specify it in the typespec config.");
25
+ }
26
+ }
27
+ async function getCompilerOptionsOrExit(host, entrypoint, args) {
28
+ const [options, diagnostics] = await getCompilerOptions(host, entrypoint, process.cwd(), args, process.env);
29
+ if (diagnostics.length > 0) {
30
+ logDiagnostics(diagnostics, host.logSink);
31
+ }
32
+ if (options === undefined) {
33
+ logDiagnosticCount(diagnostics);
34
+ process.exit(1);
35
+ }
36
+ return options;
37
+ }
38
+ function compileInput(host, path, compilerOptions, printSuccess = true) {
39
+ let compileRequested = false;
40
+ let currentCompilePromise = undefined;
41
+ const log = (message, ...optionalParams) => {
42
+ const prefix = compilerOptions.watchForChanges ? `[${new Date().toLocaleTimeString()}] ` : "";
43
+ // eslint-disable-next-line no-console
44
+ console.log(`${prefix}${message}`, ...optionalParams);
45
+ };
46
+ const runCompilePromise = () => {
47
+ // Don't run the compiler if it's already running
48
+ if (!currentCompilePromise) {
49
+ // Clear the console before compiling in watch mode
50
+ if (compilerOptions.watchForChanges) {
51
+ // eslint-disable-next-line no-console
52
+ console.clear();
53
+ }
54
+ currentCompilePromise = compileProgram(host, resolve(path), compilerOptions)
55
+ .then(onCompileFinished)
56
+ .catch(handleInternalCompilerError);
57
+ }
58
+ else {
59
+ compileRequested = true;
60
+ }
61
+ return currentCompilePromise;
62
+ };
63
+ const runCompile = () => void runCompilePromise();
64
+ const onCompileFinished = (program) => {
65
+ if (program.diagnostics.length > 0) {
66
+ log("Diagnostics were reported during compilation:\n");
67
+ logDiagnostics(program.diagnostics, host.logSink);
68
+ logDiagnosticCount(program.diagnostics);
69
+ }
70
+ else {
71
+ if (printSuccess) {
72
+ log("Compilation completed successfully.");
73
+ }
74
+ }
75
+ // eslint-disable-next-line no-console
76
+ console.log(); // Insert a newline
77
+ currentCompilePromise = undefined;
78
+ if (compilerOptions.watchForChanges && compileRequested) {
79
+ compileRequested = false;
80
+ runCompile();
81
+ }
82
+ return program;
83
+ };
84
+ if (compilerOptions.watchForChanges) {
85
+ runCompile();
86
+ return new Promise((resolve, reject) => {
87
+ const watcher = watch(path, {
88
+ recursive: true,
89
+ filter: (f) => [".js", ".tsp", ".cadl"].indexOf(getAnyExtensionFromPath(f)) > -1 &&
90
+ !/node_modules/.test(f),
91
+ }, (e, name) => {
92
+ runCompile();
93
+ });
94
+ // Handle Ctrl+C for termination
95
+ process.on("SIGINT", () => {
96
+ watcher.close();
97
+ // eslint-disable-next-line no-console
98
+ console.info("Terminating watcher...\n");
99
+ });
100
+ });
101
+ }
102
+ else {
103
+ return runCompilePromise();
104
+ }
105
+ }
106
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface FormatArgs {
2
+ include: string[];
3
+ exclude?: string[];
4
+ debug?: boolean;
5
+ check?: boolean;
6
+ }
7
+ export declare function formatAction(args: FormatArgs): Promise<void>;
8
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/format.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,iBAqBlD"}
@@ -0,0 +1,25 @@
1
+ import { findUnformattedTypeSpecFiles, formatTypeSpecFiles } from "../../formatter-fs.js";
2
+ export async function formatAction(args) {
3
+ if (args["check"]) {
4
+ const unformatted = await findUnformattedTypeSpecFiles(args["include"], {
5
+ exclude: args["exclude"],
6
+ debug: args.debug,
7
+ });
8
+ if (unformatted.length > 0) {
9
+ // eslint-disable-next-line no-console
10
+ console.log(`Found ${unformatted.length} unformatted files:`);
11
+ for (const file of unformatted) {
12
+ // eslint-disable-next-line no-console
13
+ console.log(` - ${file}`);
14
+ }
15
+ process.exit(1);
16
+ }
17
+ }
18
+ else {
19
+ await formatTypeSpecFiles(args["include"], {
20
+ exclude: args["exclude"],
21
+ debug: args.debug,
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ1F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgB;IACjD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;QACjB,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC9B,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;aAC3B;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;SAAM;QACL,MAAM,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CompilerHost } from "../../types.js";
2
+ /**
3
+ * Print the resolved TypeSpec configuration.
4
+ */
5
+ export declare function printInfoAction(host: CompilerHost): Promise<void>;
6
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,YAAY,iBAmBvD"}
@@ -0,0 +1,27 @@
1
+ /* eslint-disable no-console */
2
+ import { fileURLToPath } from "url";
3
+ import { loadTypeSpecConfigForPath } from "../../../config/config-loader.js";
4
+ import { logDiagnostics } from "../../diagnostics.js";
5
+ import { logDiagnosticCount } from "../utils.js";
6
+ /**
7
+ * Print the resolved TypeSpec configuration.
8
+ */
9
+ export async function printInfoAction(host) {
10
+ var _a;
11
+ const cwd = process.cwd();
12
+ console.log(`Module: ${fileURLToPath(import.meta.url)}`);
13
+ const config = await loadTypeSpecConfigForPath(host, cwd);
14
+ const jsyaml = await import("js-yaml");
15
+ const excluded = ["diagnostics", "filename"];
16
+ const replacer = (emitter, value) => excluded.includes(emitter) ? undefined : value;
17
+ console.log(`User Config: ${(_a = config.filename) !== null && _a !== void 0 ? _a : "No config file found"}`);
18
+ console.log("-----------");
19
+ console.log(jsyaml.dump(config, { replacer }));
20
+ console.log("-----------");
21
+ logDiagnostics(config.diagnostics, host.logSink);
22
+ logDiagnosticCount(config.diagnostics);
23
+ if (config.diagnostics.some((d) => d.severity === "error")) {
24
+ process.exit(1);
25
+ }
26
+ }
27
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/info.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAkB;;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,EAAE,CAC/C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAA,MAAM,CAAC,QAAQ,mCAAI,sBAAsB,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface InitArgs {
2
+ templatesUrl?: string;
3
+ pretty?: boolean;
4
+ }
5
+ export declare function initAction(args: InitArgs): Promise<void>;
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,QAAQ,iBAW9C"}
@@ -0,0 +1,17 @@
1
+ import { InitTemplateError, initTypeSpecProject } from "../../../init/init.js";
2
+ import { logDiagnostics } from "../../diagnostics.js";
3
+ import { createCLICompilerHost } from "../utils.js";
4
+ export async function initAction(args) {
5
+ const host = createCLICompilerHost(args);
6
+ try {
7
+ await initTypeSpecProject(host, process.cwd(), args.templatesUrl);
8
+ }
9
+ catch (e) {
10
+ if (e instanceof InitTemplateError) {
11
+ logDiagnostics(e.diagnostics, host.logSink);
12
+ process.exit(1);
13
+ }
14
+ throw e;
15
+ }
16
+ }
17
+ //# sourceMappingURL=init.js.map
@@ -0,0 +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;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI;QACF,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACnE;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,iBAAiB,EAAE;YAClC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,CAAC;KACT;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function installVSExtension(debug: boolean): Promise<void>;
2
+ export declare function uninstallVSExtension(): Promise<void>;
3
+ //# sourceMappingURL=vs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/vs.ts"],"names":[],"mappings":"AASA,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,OAAO,iBAsBtD;AAED,wBAAsB,oBAAoB,kBAKzC"}
@@ -0,0 +1,54 @@
1
+ import { joinPaths } from "../../path-utils.js";
2
+ import { installVsix } from "../install-vsix.js";
3
+ import { run } from "../utils.js";
4
+ const VSIX_ALREADY_INSTALLED = 1001;
5
+ const VSIX_NOT_INSTALLED = 1002;
6
+ const VSIX_USER_CANCELED = 2005;
7
+ const VS_SUPPORTED_VERSION_RANGE = "[17.0,)";
8
+ export async function installVSExtension(debug) {
9
+ const vsixInstaller = getVsixInstallerPath();
10
+ if (!isVSInstalled(VS_SUPPORTED_VERSION_RANGE)) {
11
+ // eslint-disable-next-line no-console
12
+ console.error("error: No compatible version of Visual Studio found.");
13
+ process.exit(1);
14
+ }
15
+ await installVsix("typespec-vs", (vsixPaths) => {
16
+ for (const vsix of vsixPaths) {
17
+ // eslint-disable-next-line no-console
18
+ console.log(`Installing extension for Visual Studio...`);
19
+ run(vsixInstaller, [vsix], {
20
+ allowedExitCodes: [VSIX_ALREADY_INSTALLED, VSIX_USER_CANCELED],
21
+ });
22
+ }
23
+ }, debug);
24
+ }
25
+ export async function uninstallVSExtension() {
26
+ const vsixInstaller = getVsixInstallerPath();
27
+ run(vsixInstaller, ["/uninstall:88b9492f-c019-492c-8aeb-f325a7e4cf23"], {
28
+ allowedExitCodes: [VSIX_NOT_INSTALLED, VSIX_USER_CANCELED],
29
+ });
30
+ }
31
+ function getVsixInstallerPath() {
32
+ return getVSInstallerPath("resources/app/ServiceHub/Services/Microsoft.VisualStudio.Setup.Service/VSIXInstaller.exe");
33
+ }
34
+ function getVSWherePath() {
35
+ return getVSInstallerPath("vswhere.exe");
36
+ }
37
+ function getVSInstallerPath(relativePath) {
38
+ var _a;
39
+ if (process.platform !== "win32") {
40
+ // eslint-disable-next-line no-console
41
+ console.error("error: Visual Studio extension is not supported on non-Windows.");
42
+ process.exit(1);
43
+ }
44
+ return joinPaths((_a = process.env["ProgramFiles(x86)"]) !== null && _a !== void 0 ? _a : "", "Microsoft Visual Studio/Installer", relativePath);
45
+ }
46
+ function isVSInstalled(versionRange) {
47
+ const vswhere = getVSWherePath();
48
+ const proc = run(vswhere, ["-property", "instanceid", "-prerelease", "-version", versionRange], {
49
+ stdio: [null, "pipe", "inherit"],
50
+ allowNotFound: true,
51
+ });
52
+ return proc.status === 0 && proc.stdout;
53
+ }
54
+ //# sourceMappingURL=vs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/vs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAc;IACrD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAE7C,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE;QAC9C,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,WAAW,CACf,aAAa,EACb,CAAC,SAAS,EAAE,EAAE;QACZ,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE;gBACzB,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;aAC/D,CAAC,CAAC;SACJ;IACH,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,GAAG,CAAC,aAAa,EAAE,CAAC,iDAAiD,CAAC,EAAE;QACtE,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,kBAAkB,CACvB,0FAA0F,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB;;IAC9C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,SAAS,CACd,MAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,mCAAI,EAAE,EACtC,mCAAmC,EACnC,YAAY,CACb,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,YAAoB;IACzC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE;QAC9F,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QAChC,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function installVSCodeExtension(insiders: boolean, debug: boolean): Promise<void>;
2
+ export declare function uninstallVSCodeExtension(insiders: boolean, debug: boolean): Promise<void>;
3
+ //# sourceMappingURL=vscode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/vscode.ts"],"names":[],"mappings":"AAGA,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,iBAQ7E;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,iBAE/E"}
@@ -0,0 +1,36 @@
1
+ import { installVsix } from "../install-vsix.js";
2
+ import { run } from "../utils.js";
3
+ export async function installVSCodeExtension(insiders, debug) {
4
+ await installVsix("typespec-vscode", (vsixPaths) => {
5
+ runCode(["--install-extension", vsixPaths[0]], insiders, debug);
6
+ }, debug);
7
+ }
8
+ export async function uninstallVSCodeExtension(insiders, debug) {
9
+ await runCode(["--uninstall-extension", "microsoft.typespec-vscode"], insiders, debug);
10
+ }
11
+ function runCode(codeArgs, insiders, debug) {
12
+ try {
13
+ run(insiders ? "code-insiders" : "code", codeArgs, {
14
+ // VS Code's CLI emits node warnings that we can't do anything about. Suppress them.
15
+ extraEnv: { NODE_NO_WARNINGS: "1" },
16
+ debug,
17
+ allowNotFound: true,
18
+ });
19
+ }
20
+ catch (error) {
21
+ if (error.code === "ENOENT") {
22
+ // eslint-disable-next-line no-console
23
+ console.error(`error: Couldn't find VS Code 'code' command in PATH. Make sure you have the VS Code executable added to the system PATH.`);
24
+ if (process.platform === "darwin") {
25
+ // eslint-disable-next-line no-console
26
+ console.log("See instruction for Mac OS here https://code.visualstudio.com/docs/setup/mac");
27
+ }
28
+ if (debug) {
29
+ // eslint-disable-next-line no-console
30
+ console.log(error.stack);
31
+ }
32
+ process.exit(1);
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=vscode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/core/cli/actions/vscode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAiB,EAAE,KAAc;IAC5E,MAAM,WAAW,CACf,iBAAiB,EACjB,CAAC,SAAS,EAAE,EAAE;QACZ,OAAO,CAAC,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAiB,EAAE,KAAc;IAC9E,MAAM,OAAO,CAAC,CAAC,uBAAuB,EAAE,2BAA2B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,OAAO,CAAC,QAAkB,EAAE,QAAiB,EAAE,KAAc;IACpE,IAAI;QACF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE;YACjD,oFAAoF;YACpF,QAAQ,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE;YACnC,KAAK;YACL,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;KACJ;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,0HAA0H,CAC3H,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACjC,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;aAC7F;YACD,IAAI,KAAK,EAAE;gBACT,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;AACH,CAAC"}