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

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 (163) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/config/config-to-options.d.ts +31 -0
  3. package/dist/src/config/config-to-options.d.ts.map +1 -0
  4. package/dist/src/config/config-to-options.js +54 -0
  5. package/dist/src/config/config-to-options.js.map +1 -0
  6. package/dist/src/config/index.d.ts +1 -0
  7. package/dist/src/config/index.d.ts.map +1 -1
  8. package/dist/src/config/index.js +1 -0
  9. package/dist/src/config/index.js.map +1 -1
  10. package/dist/src/core/checker.d.ts.map +1 -1
  11. package/dist/src/core/checker.js +253 -85
  12. package/dist/src/core/checker.js.map +1 -1
  13. package/dist/src/core/cli/actions/compile/args.d.ts +1 -0
  14. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
  15. package/dist/src/core/cli/actions/compile/args.js +31 -64
  16. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  17. package/dist/src/core/cli/actions/compile/compile.d.ts +2 -1
  18. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  19. package/dist/src/core/cli/actions/compile/compile.js +61 -54
  20. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  21. package/dist/src/core/cli/actions/compile/watch.d.ts +15 -0
  22. package/dist/src/core/cli/actions/compile/watch.d.ts.map +1 -0
  23. package/dist/src/core/cli/actions/compile/watch.js +59 -0
  24. package/dist/src/core/cli/actions/compile/watch.js.map +1 -0
  25. package/dist/src/core/cli/actions/format.d.ts +2 -1
  26. package/dist/src/core/cli/actions/format.d.ts.map +1 -1
  27. package/dist/src/core/cli/actions/format.js +1 -1
  28. package/dist/src/core/cli/actions/format.js.map +1 -1
  29. package/dist/src/core/cli/actions/info.d.ts +2 -2
  30. package/dist/src/core/cli/actions/info.d.ts.map +1 -1
  31. package/dist/src/core/cli/actions/info.js +1 -7
  32. package/dist/src/core/cli/actions/info.js.map +1 -1
  33. package/dist/src/core/cli/actions/init.d.ts +3 -2
  34. package/dist/src/core/cli/actions/init.d.ts.map +1 -1
  35. package/dist/src/core/cli/actions/init.js +3 -6
  36. package/dist/src/core/cli/actions/init.js.map +1 -1
  37. package/dist/src/core/cli/actions/vs.d.ts +4 -2
  38. package/dist/src/core/cli/actions/vs.d.ts.map +1 -1
  39. package/dist/src/core/cli/actions/vs.js +38 -19
  40. package/dist/src/core/cli/actions/vs.js.map +1 -1
  41. package/dist/src/core/cli/actions/vscode.d.ts +10 -2
  42. package/dist/src/core/cli/actions/vscode.d.ts.map +1 -1
  43. package/dist/src/core/cli/actions/vscode.js +18 -20
  44. package/dist/src/core/cli/actions/vscode.js.map +1 -1
  45. package/dist/src/core/cli/cli.js +16 -13
  46. package/dist/src/core/cli/cli.js.map +1 -1
  47. package/dist/src/core/cli/install-vsix.d.ts +2 -1
  48. package/dist/src/core/cli/install-vsix.d.ts.map +1 -1
  49. package/dist/src/core/cli/install-vsix.js +5 -4
  50. package/dist/src/core/cli/install-vsix.js.map +1 -1
  51. package/dist/src/core/cli/types.d.ts +6 -0
  52. package/dist/src/core/cli/types.d.ts.map +1 -0
  53. package/dist/src/core/cli/types.js +2 -0
  54. package/dist/src/core/cli/types.js.map +1 -0
  55. package/dist/src/core/cli/utils.d.ts +12 -4
  56. package/dist/src/core/cli/utils.d.ts.map +1 -1
  57. package/dist/src/core/cli/utils.js +27 -6
  58. package/dist/src/core/cli/utils.js.map +1 -1
  59. package/dist/src/core/deprecation.d.ts +31 -0
  60. package/dist/src/core/deprecation.d.ts.map +1 -0
  61. package/dist/src/core/deprecation.js +48 -0
  62. package/dist/src/core/deprecation.js.map +1 -0
  63. package/dist/src/core/formatter-fs.js +4 -4
  64. package/dist/src/core/formatter-fs.js.map +1 -1
  65. package/dist/src/core/formatter.d.ts +3 -3
  66. package/dist/src/core/formatter.d.ts.map +1 -1
  67. package/dist/src/core/formatter.js +4 -4
  68. package/dist/src/core/formatter.js.map +1 -1
  69. package/dist/src/core/index.d.ts +1 -0
  70. package/dist/src/core/index.d.ts.map +1 -1
  71. package/dist/src/core/index.js +1 -0
  72. package/dist/src/core/index.js.map +1 -1
  73. package/dist/src/core/install.d.ts +2 -1
  74. package/dist/src/core/install.d.ts.map +1 -1
  75. package/dist/src/core/install.js +3 -5
  76. package/dist/src/core/install.js.map +1 -1
  77. package/dist/src/core/messages.d.ts +102 -2
  78. package/dist/src/core/messages.d.ts.map +1 -1
  79. package/dist/src/core/messages.js +34 -0
  80. package/dist/src/core/messages.js.map +1 -1
  81. package/dist/src/core/module-resolver.d.ts.map +1 -1
  82. package/dist/src/core/module-resolver.js.map +1 -1
  83. package/dist/src/core/options.d.ts +4 -0
  84. package/dist/src/core/options.d.ts.map +1 -1
  85. package/dist/src/core/parser.d.ts.map +1 -1
  86. package/dist/src/core/parser.js +36 -9
  87. package/dist/src/core/parser.js.map +1 -1
  88. package/dist/src/core/program.d.ts.map +1 -1
  89. package/dist/src/core/program.js +2 -0
  90. package/dist/src/core/program.js.map +1 -1
  91. package/dist/src/core/types.d.ts +10 -2
  92. package/dist/src/core/types.d.ts.map +1 -1
  93. package/dist/src/core/types.js.map +1 -1
  94. package/dist/src/core/util.d.ts +1 -0
  95. package/dist/src/core/util.d.ts.map +1 -1
  96. package/dist/src/core/util.js +1 -0
  97. package/dist/src/core/util.js.map +1 -1
  98. package/dist/src/emitter-framework/asset-emitter.js +2 -2
  99. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  100. package/dist/src/emitter-framework/builders/object-builder.d.ts.map +1 -1
  101. package/dist/src/emitter-framework/builders/object-builder.js +1 -0
  102. package/dist/src/emitter-framework/builders/object-builder.js.map +1 -1
  103. package/dist/src/emitter-framework/type-emitter.d.ts +5 -5
  104. package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
  105. package/dist/src/emitter-framework/type-emitter.js +13 -13
  106. package/dist/src/emitter-framework/type-emitter.js.map +1 -1
  107. package/dist/src/emitter-framework/types.d.ts +1 -1
  108. package/dist/src/emitter-framework/types.d.ts.map +1 -1
  109. package/dist/src/emitter-framework/types.js.map +1 -1
  110. package/dist/src/formatter/index.d.ts +1 -1
  111. package/dist/src/formatter/index.d.ts.map +1 -1
  112. package/dist/src/formatter/parser.d.ts +2 -6
  113. package/dist/src/formatter/parser.d.ts.map +1 -1
  114. package/dist/src/formatter/parser.js +1 -1
  115. package/dist/src/formatter/parser.js.map +1 -1
  116. package/dist/src/formatter/print/comment-handler.d.ts +1 -1
  117. package/dist/src/formatter/print/comment-handler.d.ts.map +1 -1
  118. package/dist/src/formatter/print/comment-handler.js +1 -2
  119. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  120. package/dist/src/formatter/print/needs-parens.d.ts +1 -1
  121. package/dist/src/formatter/print/needs-parens.d.ts.map +1 -1
  122. package/dist/src/formatter/print/needs-parens.js +1 -0
  123. package/dist/src/formatter/print/needs-parens.js.map +1 -1
  124. package/dist/src/formatter/print/printer.d.ts +41 -40
  125. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  126. package/dist/src/formatter/print/printer.js +6 -4
  127. package/dist/src/formatter/print/printer.js.map +1 -1
  128. package/dist/src/formatter/print/types.d.ts +3 -3
  129. package/dist/src/formatter/print/types.d.ts.map +1 -1
  130. package/dist/src/formatter/print/util.d.ts +3 -0
  131. package/dist/src/formatter/print/util.d.ts.map +1 -0
  132. package/dist/src/formatter/print/util.js +3 -0
  133. package/dist/src/formatter/print/util.js.map +1 -0
  134. package/dist/src/index.d.ts +1 -0
  135. package/dist/src/index.d.ts.map +1 -1
  136. package/dist/src/index.js +1 -0
  137. package/dist/src/index.js.map +1 -1
  138. package/dist/src/init/init-template.d.ts +19 -1
  139. package/dist/src/init/init-template.d.ts.map +1 -1
  140. package/dist/src/init/init-template.js +15 -1
  141. package/dist/src/init/init-template.js.map +1 -1
  142. package/dist/src/init/init.d.ts +4 -4
  143. package/dist/src/init/init.d.ts.map +1 -1
  144. package/dist/src/init/init.js +41 -12
  145. package/dist/src/init/init.js.map +1 -1
  146. package/dist/src/lib/decorators.d.ts +1 -7
  147. package/dist/src/lib/decorators.d.ts.map +1 -1
  148. package/dist/src/lib/decorators.js +4 -11
  149. package/dist/src/lib/decorators.js.map +1 -1
  150. package/dist/src/server/completion.d.ts.map +1 -1
  151. package/dist/src/server/completion.js +9 -5
  152. package/dist/src/server/completion.js.map +1 -1
  153. package/dist/src/server/serverlib.d.ts.map +1 -1
  154. package/dist/src/server/serverlib.js +4 -2
  155. package/dist/src/server/serverlib.js.map +1 -1
  156. package/dist/src/server/symbol-structure.d.ts.map +1 -1
  157. package/dist/src/server/symbol-structure.js +3 -1
  158. package/dist/src/server/symbol-structure.js.map +1 -1
  159. package/dist/src/testing/types.d.ts.map +1 -1
  160. package/dist/src/testing/types.js.map +1 -1
  161. package/lib/decorators.tsp +8 -2
  162. package/lib/lib.tsp +1 -1
  163. package/package.json +2 -4
@@ -13,6 +13,7 @@ export interface CompileCliArgs {
13
13
  config?: string;
14
14
  "warn-as-error"?: boolean;
15
15
  "no-emit"?: boolean;
16
+ "ignore-deprecated"?: boolean;
16
17
  args?: string[];
17
18
  }
18
19
  export declare function getCompilerOptions(host: CompilerHost, entrypoint: string, cwd: string, args: CompileCliArgs, env: Record<string, string | undefined>): Promise<[CompilerOptions | undefined, readonly Diagnostic[]]>;
@@ -1 +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
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/args.ts"],"names":[],"mappings":"AAEA,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,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,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,CAkC/D"}
@@ -1,56 +1,36 @@
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 { resolveCompilerOptions } from "../../../../config/config-to-options.js";
2
+ import { createDiagnosticCollector } from "../../../diagnostics.js";
3
+ import { resolvePath } from "../../../path-utils.js";
4
+ import { omitUndefined } from "../../../util.js";
6
5
  export async function getCompilerOptions(host, entrypoint, cwd, args, env) {
7
- var _a, _b, _c, _d, _e;
8
- cwd = normalizePath(cwd);
6
+ var _a;
9
7
  const diagnostics = createDiagnosticCollector();
10
8
  const pathArg = (_a = args["output-dir"]) !== null && _a !== void 0 ? _a : args["output-path"];
11
- const configPath = args["config"]
12
- ? resolvePath(cwd, args["config"])
13
- : getDirectoryPath(entrypoint);
14
- const config = await loadTypeSpecConfigForPath(host, configPath, "config" in args);
15
- if (config.diagnostics.length > 0) {
16
- if (config.diagnostics.some((d) => d.severity === "error")) {
17
- return [undefined, config.diagnostics];
18
- }
19
- config.diagnostics.forEach((x) => diagnostics.add(x));
20
- }
9
+ const cliOutputDir = pathArg
10
+ ? pathArg.startsWith("{")
11
+ ? pathArg
12
+ : resolvePath(cwd, pathArg)
13
+ : undefined;
21
14
  const cliOptions = resolveCliOptions(args);
22
- const configWithCliArgs = {
23
- ...config,
24
- outputDir: config.outputDir,
25
- imports: (_b = args["import"]) !== null && _b !== void 0 ? _b : config["imports"],
26
- warnAsError: (_c = args["warn-as-error"]) !== null && _c !== void 0 ? _c : config.warnAsError,
27
- trace: (_d = args.trace) !== null && _d !== void 0 ? _d : config.trace,
28
- emit: (_e = args.emit) !== null && _e !== void 0 ? _e : config.emit,
29
- options: resolveEmitterOptions(config, cliOptions),
30
- };
31
- const cliOutputDir = pathArg ? resolvePath(cwd, pathArg) : undefined;
32
- const expandedConfig = diagnostics.pipe(expandConfigVariables(configWithCliArgs, {
33
- cwd: cwd,
34
- outputDir: cliOutputDir,
35
- env,
15
+ const resolvedOptions = diagnostics.pipe(await resolveCompilerOptions(host, {
16
+ entrypoint,
17
+ configPath: args["config"] && resolvePath(cwd, args["config"]),
18
+ cwd,
36
19
  args: resolveConfigArgs(args),
20
+ env,
21
+ overrides: omitUndefined({
22
+ outputDir: cliOutputDir,
23
+ imports: args["import"],
24
+ warnAsError: args["warn-as-error"],
25
+ trace: args.trace,
26
+ emit: args.emit,
27
+ options: cliOptions.options,
28
+ }),
37
29
  }));
38
- validateConfigPathsAbsolute(expandedConfig).forEach((x) => diagnostics.add(x));
39
- const options = omitUndefined({
40
- nostdlib: args["nostdlib"],
41
- watchForChanges: args["watch"],
42
- noEmit: args["no-emit"],
30
+ return diagnostics.wrap(omitUndefined({
31
+ ...resolvedOptions,
43
32
  miscOptions: cliOptions.miscOptions,
44
- outputDir: expandedConfig.outputDir,
45
- config: config.filename,
46
- additionalImports: expandedConfig["imports"],
47
- warningAsError: expandedConfig.warnAsError,
48
- trace: expandedConfig.trace,
49
- emit: expandedConfig.emit,
50
- options: expandedConfig.options,
51
- linterRuleSet: expandedConfig.linter,
52
- });
53
- return diagnostics.wrap(options);
33
+ }));
54
34
  }
55
35
  function resolveConfigArgs(args) {
56
36
  var _a;
@@ -66,6 +46,7 @@ function resolveConfigArgs(args) {
66
46
  }
67
47
  function resolveCliOptions(args) {
68
48
  var _a;
49
+ let miscOptions;
69
50
  const options = {};
70
51
  for (const option of (_a = args.options) !== null && _a !== void 0 ? _a : []) {
71
52
  const optionParts = option.split("=");
@@ -75,10 +56,10 @@ function resolveCliOptions(args) {
75
56
  let optionKeyParts = optionParts[0].split(".");
76
57
  if (optionKeyParts.length === 1) {
77
58
  const key = optionKeyParts[0];
78
- if (!("miscOptions" in options)) {
79
- options.miscOptions = {};
59
+ if (miscOptions === undefined) {
60
+ miscOptions = {};
80
61
  }
81
- options.miscOptions[key] = optionParts[1];
62
+ miscOptions[key] = optionParts[1];
82
63
  continue;
83
64
  }
84
65
  else if (optionKeyParts.length > 2) {
@@ -95,20 +76,6 @@ function resolveCliOptions(args) {
95
76
  }
96
77
  options[emitterName][key] = optionParts[1];
97
78
  }
98
- return options;
99
- }
100
- function resolveEmitterOptions(config, cliOptions) {
101
- var _a, _b;
102
- const configuredEmitters = deepClone((_a = config.options) !== null && _a !== void 0 ? _a : {});
103
- for (const [emitterName, cliOptionOverride] of Object.entries(cliOptions)) {
104
- if (emitterName === "miscOptions") {
105
- continue;
106
- }
107
- configuredEmitters[emitterName] = {
108
- ...((_b = configuredEmitters[emitterName]) !== null && _b !== void 0 ? _b : {}),
109
- ...cliOptionOverride,
110
- };
111
- }
112
- return configuredEmitters;
79
+ return { options, miscOptions };
113
80
  }
114
81
  //# sourceMappingURL=args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/args.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { CliCompilerHost } from "../../types.js";
1
2
  import { CompileCliArgs } from "./args.js";
2
- export declare function compileAction(args: CompileCliArgs & {
3
+ export declare function compileAction(host: CliCompilerHost, args: CompileCliArgs & {
3
4
  path: string;
4
5
  pretty?: boolean;
5
6
  }): Promise<void>;
@@ -1 +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"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAC;AAG/D,wBAAsB,aAAa,CACjC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBAmB1D"}
@@ -1,13 +1,12 @@
1
- import watch from "node-watch";
2
1
  import { resolve } from "path";
3
2
  import { logDiagnostics } from "../../../diagnostics.js";
4
3
  import { resolveTypeSpecEntrypoint } from "../../../entrypoint-resolution.js";
5
- import { getAnyExtensionFromPath, resolvePath } from "../../../path-utils.js";
4
+ import { resolvePath } from "../../../path-utils.js";
6
5
  import { compile as compileProgram } from "../../../program.js";
7
- import { createCLICompilerHost, handleInternalCompilerError, logDiagnosticCount, } from "../../utils.js";
6
+ import { handleInternalCompilerError, logDiagnosticCount } from "../../utils.js";
8
7
  import { getCompilerOptions } from "./args.js";
9
- export async function compileAction(args) {
10
- const host = createCLICompilerHost(args);
8
+ import { createWatchHost, createWatcher } from "./watch.js";
9
+ export async function compileAction(host, args) {
11
10
  const diagnostics = [];
12
11
  const entrypoint = await resolveTypeSpecEntrypoint(host, resolvePath(process.cwd(), args.path), (diag) => diagnostics.push(diag));
13
12
  if (entrypoint === undefined || diagnostics.length > 0) {
@@ -15,13 +14,11 @@ export async function compileAction(args) {
15
14
  process.exit(1);
16
15
  }
17
16
  const cliOptions = await getCompilerOptionsOrExit(host, entrypoint, args);
18
- const program = await compileInput(host, entrypoint, cliOptions);
19
- if (program.hasError()) {
20
- process.exit(1);
17
+ if (args.watch) {
18
+ await compileWatch(host, entrypoint, cliOptions);
21
19
  }
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.");
20
+ else {
21
+ await compileOnce(host, entrypoint, cliOptions);
25
22
  }
26
23
  }
27
24
  async function getCompilerOptionsOrExit(host, entrypoint, args) {
@@ -35,22 +32,28 @@ async function getCompilerOptionsOrExit(host, entrypoint, args) {
35
32
  }
36
33
  return options;
37
34
  }
38
- function compileInput(host, path, compilerOptions, printSuccess = true) {
35
+ async function compileOnce(host, path, compilerOptions) {
36
+ try {
37
+ const program = await compileProgram(host, resolve(path), compilerOptions);
38
+ logProgramResult(host, program);
39
+ if (program.hasError()) {
40
+ process.exit(1);
41
+ }
42
+ }
43
+ catch (e) {
44
+ handleInternalCompilerError(e);
45
+ }
46
+ }
47
+ function compileWatch(host, path, compilerOptions) {
39
48
  let compileRequested = false;
40
49
  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
50
  const runCompilePromise = () => {
47
51
  // Don't run the compiler if it's already running
48
- if (!currentCompilePromise) {
52
+ if (currentCompilePromise === undefined) {
49
53
  // Clear the console before compiling in watch mode
50
- if (compilerOptions.watchForChanges) {
51
- // eslint-disable-next-line no-console
52
- console.clear();
53
- }
54
+ // eslint-disable-next-line no-console
55
+ console.clear();
56
+ watchHost === null || watchHost === void 0 ? void 0 : watchHost.forceJSReload();
54
57
  currentCompilePromise = compileProgram(host, resolve(path), compilerOptions)
55
58
  .then(onCompileFinished)
56
59
  .catch(handleInternalCompilerError);
@@ -60,47 +63,51 @@ function compileInput(host, path, compilerOptions, printSuccess = true) {
60
63
  }
61
64
  return currentCompilePromise;
62
65
  };
63
- const runCompile = () => void runCompilePromise();
66
+ const scheduleCompile = () => void runCompilePromise();
67
+ const watcher = createWatcher((_name) => {
68
+ scheduleCompile();
69
+ });
70
+ const watchHost = (host = createWatchHost());
64
71
  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
72
+ watcher === null || watcher === void 0 ? void 0 : watcher.updateWatchedFiles([...program.sourceFiles.keys(), ...program.jsSourceFiles.keys()]);
73
+ logProgramResult(host, program, { showTimestamp: true });
77
74
  currentCompilePromise = undefined;
78
- if (compilerOptions.watchForChanges && compileRequested) {
75
+ if (compileRequested) {
79
76
  compileRequested = false;
80
- runCompile();
77
+ scheduleCompile();
81
78
  }
82
79
  return program;
83
80
  };
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
- });
81
+ scheduleCompile();
82
+ return new Promise((resolve, reject) => {
83
+ // Handle Ctrl+C for termination
84
+ process.on("SIGINT", () => {
85
+ watcher.close();
86
+ // eslint-disable-next-line no-console
87
+ console.info("Terminating watcher...\n");
88
+ resolve();
100
89
  });
90
+ });
91
+ }
92
+ function logProgramResult(host, program, { showTimestamp } = {}) {
93
+ const log = (message, ...optionalParams) => {
94
+ const timestamp = showTimestamp ? `[${new Date().toLocaleTimeString()}] ` : "";
95
+ // eslint-disable-next-line no-console
96
+ console.log(`${timestamp}${message}`, ...optionalParams);
97
+ };
98
+ if (program.diagnostics.length > 0) {
99
+ log("Diagnostics were reported during compilation:\n");
100
+ logDiagnostics(program.diagnostics, host.logSink);
101
+ logDiagnosticCount(program.diagnostics);
101
102
  }
102
103
  else {
103
- return runCompilePromise();
104
+ log("Compilation completed successfully.");
105
+ }
106
+ // eslint-disable-next-line no-console
107
+ console.log(); // Insert a newline
108
+ if (program.emitters.length === 0 && !program.compilerOptions.noEmit) {
109
+ // eslint-disable-next-line no-console
110
+ log("No emitter was configured, no output was generated. Use `--emit <emitterName>` to pick emitter or specify it in the typespec config.");
104
111
  }
105
112
  }
106
113
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { WatchEventType } from "fs";
3
+ import { CompilerHost } from "../../../types.js";
4
+ export interface ProjectWatcher {
5
+ /** Set the files to watch. */
6
+ readonly updateWatchedFiles: (files: string[]) => void;
7
+ /** Close the watcher. */
8
+ readonly close: () => void;
9
+ }
10
+ export interface WatchHost extends CompilerHost {
11
+ forceJSReload(): void;
12
+ }
13
+ export declare function createWatcher(onFileChanged: (event: WatchEventType, name: string) => void): ProjectWatcher;
14
+ export declare function createWatchHost(): WatchHost;
15
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/watch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,cAAc,EAAS,MAAM,IAAI,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEvD,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,aAAa,IAAI,IAAI,CAAC;CACvB;AAED,wBAAgB,aAAa,CAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC3D,cAAc,CAmChB;AAED,wBAAgB,eAAe,IAAI,SAAS,CAU3C"}
@@ -0,0 +1,59 @@
1
+ import { watch } from "fs";
2
+ import { pathToFileURL } from "url";
3
+ import { NodeHost } from "../../../node-host.js";
4
+ export function createWatcher(onFileChanged) {
5
+ const current = new Map();
6
+ const dupFilter = createDupsFilter();
7
+ return { updateWatchedFiles, close };
8
+ function watchFile(file) {
9
+ const watcher = watch(file, dupFilter((event, _name) => {
10
+ onFileChanged(event, file);
11
+ }));
12
+ return watcher;
13
+ }
14
+ function close() {
15
+ for (const watcher of current.values()) {
16
+ watcher.close();
17
+ }
18
+ }
19
+ function updateWatchedFiles(files) {
20
+ var _a;
21
+ const cleanup = new Set(current.keys());
22
+ for (const file of files) {
23
+ if (!current.has(file)) {
24
+ current.set(file, watchFile(file));
25
+ }
26
+ cleanup.delete(file);
27
+ }
28
+ for (const file of cleanup) {
29
+ (_a = current.get(file)) === null || _a === void 0 ? void 0 : _a.close();
30
+ current.delete(file);
31
+ }
32
+ }
33
+ }
34
+ export function createWatchHost() {
35
+ let count = 0;
36
+ return {
37
+ ...NodeHost,
38
+ forceJSReload,
39
+ getJsImport: (path) => import(pathToFileURL(path).href + `?=${count}`),
40
+ };
41
+ function forceJSReload() {
42
+ count++;
43
+ }
44
+ }
45
+ function createDupsFilter() {
46
+ let memo = {};
47
+ return function (fn) {
48
+ return function (event, name) {
49
+ memo[name] = [event, name];
50
+ setTimeout(function () {
51
+ Object.values(memo).forEach((args) => {
52
+ fn(...args);
53
+ });
54
+ memo = {};
55
+ });
56
+ };
57
+ };
58
+ }
59
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../../../src/core/cli/actions/compile/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAejD,MAAM,UAAU,aAAa,CAC3B,aAA4D;IAE5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAErC,SAAS,SAAS,CAAC,IAAY;QAC7B,MAAM,OAAO,GAAG,KAAK,CACnB,IAAI,EACJ,SAAS,CAAC,CAAC,KAAqB,EAAE,KAAa,EAAE,EAAE;YACjD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CACH,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,KAAK;QACZ,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE;YACtC,OAAO,CAAC,KAAK,EAAE,CAAC;SACjB;IACH,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAe;;QACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aACpC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC1B,MAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO;QACL,GAAG,QAAQ;QACX,aAAa;QACb,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;KAC/E,CAAC;IACF,SAAS,aAAa;QACpB,KAAK,EAAE,CAAC;IACV,CAAC;AACH,CAAC;AACD,SAAS,gBAAgB;IACvB,IAAI,IAAI,GAA6C,EAAE,CAAC;IACxD,OAAO,UAAU,EAA6C;QAC5D,OAAO,UAAU,KAAqB,EAAE,IAAY;YAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,UAAU,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
+ import { CliCompilerHost } from "../types.js";
1
2
  export interface FormatArgs {
2
3
  include: string[];
3
4
  exclude?: string[];
4
5
  debug?: boolean;
5
6
  check?: boolean;
6
7
  }
7
- export declare function formatAction(args: FormatArgs): Promise<void>;
8
+ export declare function formatAction(host: CliCompilerHost, args: FormatArgs): Promise<void>;
8
9
  //# sourceMappingURL=format.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,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,eAAe,EAAE,IAAI,EAAE,UAAU,iBAqBzE"}
@@ -1,5 +1,5 @@
1
1
  import { findUnformattedTypeSpecFiles, formatTypeSpecFiles } from "../../formatter-fs.js";
2
- export async function formatAction(args) {
2
+ export async function formatAction(host, args) {
3
3
  if (args["check"]) {
4
4
  const unformatted = await findUnformattedTypeSpecFiles(args["include"], {
5
5
  exclude: args["exclude"],
@@ -1 +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"}
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;AAS1F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAqB,EAAE,IAAgB;IACxE,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"}
@@ -1,6 +1,6 @@
1
- import { CompilerHost } from "../../types.js";
1
+ import { CompilerHost, Diagnostic } from "../../types.js";
2
2
  /**
3
3
  * Print the resolved TypeSpec configuration.
4
4
  */
5
- export declare function printInfoAction(host: CompilerHost): Promise<void>;
5
+ export declare function printInfoAction(host: CompilerHost): Promise<readonly Diagnostic[]>;
6
6
  //# sourceMappingURL=info.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAexF"}
@@ -1,8 +1,6 @@
1
1
  /* eslint-disable no-console */
2
2
  import { fileURLToPath } from "url";
3
3
  import { loadTypeSpecConfigForPath } from "../../../config/config-loader.js";
4
- import { logDiagnostics } from "../../diagnostics.js";
5
- import { logDiagnosticCount } from "../utils.js";
6
4
  /**
7
5
  * Print the resolved TypeSpec configuration.
8
6
  */
@@ -18,10 +16,6 @@ export async function printInfoAction(host) {
18
16
  console.log("-----------");
19
17
  console.log(jsyaml.dump(config, { replacer }));
20
18
  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
- }
19
+ return config.diagnostics;
26
20
  }
27
21
  //# sourceMappingURL=info.js.map
@@ -1 +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"}
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;AAG7E;;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,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { Diagnostic } from "../../types.js";
2
+ import { CliCompilerHost } from "../types.js";
1
3
  export interface InitArgs {
2
4
  templatesUrl?: string;
3
- pretty?: boolean;
4
5
  }
5
- export declare function initAction(args: InitArgs): Promise<void>;
6
+ export declare function initAction(host: CliCompilerHost, args: InitArgs): Promise<readonly Diagnostic[]>;
6
7
  //# sourceMappingURL=init.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/init.ts"],"names":[],"mappings":"AACA,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;CACvB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAUhC"}
@@ -1,15 +1,12 @@
1
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);
2
+ export async function initAction(host, args) {
6
3
  try {
7
4
  await initTypeSpecProject(host, process.cwd(), args.templatesUrl);
5
+ return [];
8
6
  }
9
7
  catch (e) {
10
8
  if (e instanceof InitTemplateError) {
11
- logDiagnostics(e.diagnostics, host.logSink);
12
- process.exit(1);
9
+ return e.diagnostics;
13
10
  }
14
11
  throw e;
15
12
  }
@@ -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;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"}
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;AAQ/E,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAqB,EACrB,IAAc;IAEd,IAAI;QACF,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,iBAAiB,EAAE;YAClC,OAAO,CAAC,CAAC,WAAW,CAAC;SACtB;QACD,MAAM,CAAC,CAAC;KACT;AACH,CAAC"}
@@ -1,3 +1,5 @@
1
- export declare function installVSExtension(debug: boolean): Promise<void>;
2
- export declare function uninstallVSExtension(): Promise<void>;
1
+ import { Diagnostic } from "../../types.js";
2
+ import { CliCompilerHost } from "../types.js";
3
+ export declare function installVSExtension(host: CliCompilerHost): Promise<readonly Diagnostic[]>;
4
+ export declare function uninstallVSExtension(host: CliCompilerHost): Promise<readonly Diagnostic[]>;
3
5
  //# sourceMappingURL=vs.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"vs.d.ts","sourceRoot":"","sources":["../../../../../src/core/cli/actions/vs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAY,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CA2B9F;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAShG"}