@typespec/compiler 0.67.0-dev.8 → 0.67.0

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 (363) hide show
  1. package/dist/generated-defs/TypeSpec.Prototypes.d.ts +1 -1
  2. package/dist/generated-defs/TypeSpec.Prototypes.d.ts.map +1 -1
  3. package/dist/generated-defs/TypeSpec.d.ts +29 -2
  4. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  5. package/dist/manifest.js +2 -2
  6. package/dist/src/ast/index.d.ts +14 -0
  7. package/dist/src/ast/index.d.ts.map +1 -0
  8. package/dist/src/ast/index.js +13 -0
  9. package/dist/src/ast/index.js.map +1 -0
  10. package/dist/src/config/config-loader.d.ts.map +1 -1
  11. package/dist/src/config/config-loader.js +2 -1
  12. package/dist/src/config/config-loader.js.map +1 -1
  13. package/dist/src/config/config-to-options.d.ts.map +1 -1
  14. package/dist/src/config/config-to-options.js +4 -2
  15. package/dist/src/config/config-to-options.js.map +1 -1
  16. package/dist/src/config/types.d.ts +1 -1
  17. package/dist/src/core/binder.d.ts.map +1 -1
  18. package/dist/src/core/binder.js +18 -137
  19. package/dist/src/core/binder.js.map +1 -1
  20. package/dist/src/core/checker.d.ts +7 -23
  21. package/dist/src/core/checker.d.ts.map +1 -1
  22. package/dist/src/core/checker.js +59 -780
  23. package/dist/src/core/checker.js.map +1 -1
  24. package/dist/src/core/cli/actions/compile/args.d.ts +1 -0
  25. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
  26. package/dist/src/core/cli/actions/compile/args.js +3 -0
  27. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  28. package/dist/src/core/cli/actions/compile/compile.js +1 -1
  29. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  30. package/dist/src/core/cli/cli.js +14 -4
  31. package/dist/src/core/cli/cli.js.map +1 -1
  32. package/dist/src/core/cli/utils.d.ts.map +1 -1
  33. package/dist/src/core/cli/utils.js +5 -1
  34. package/dist/src/core/cli/utils.js.map +1 -1
  35. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  36. package/dist/src/core/decorator-utils.js +1 -3
  37. package/dist/src/core/decorator-utils.js.map +1 -1
  38. package/dist/src/core/diagnostic-error.d.ts +7 -0
  39. package/dist/src/core/diagnostic-error.d.ts.map +1 -0
  40. package/dist/src/core/diagnostic-error.js +9 -0
  41. package/dist/src/core/diagnostic-error.js.map +1 -0
  42. package/dist/src/core/diagnostics.d.ts +6 -6
  43. package/dist/src/core/diagnostics.d.ts.map +1 -1
  44. package/dist/src/core/diagnostics.js +10 -11
  45. package/dist/src/core/diagnostics.js.map +1 -1
  46. package/dist/src/core/emitter-utils.js +2 -2
  47. package/dist/src/core/emitter-utils.js.map +1 -1
  48. package/dist/src/core/entrypoint-resolution.d.ts.map +1 -1
  49. package/dist/src/core/entrypoint-resolution.js +2 -1
  50. package/dist/src/core/entrypoint-resolution.js.map +1 -1
  51. package/dist/src/core/helpers/discriminator-utils.d.ts +1 -6
  52. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  53. package/dist/src/core/helpers/discriminator-utils.js +1 -57
  54. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  55. package/dist/src/core/helpers/index.d.ts +5 -6
  56. package/dist/src/core/helpers/index.d.ts.map +1 -1
  57. package/dist/src/core/helpers/index.js +5 -6
  58. package/dist/src/core/helpers/index.js.map +1 -1
  59. package/dist/src/core/helpers/syntax-utils.d.ts +2 -1
  60. package/dist/src/core/helpers/syntax-utils.d.ts.map +1 -1
  61. package/dist/src/core/helpers/syntax-utils.js +8 -4
  62. package/dist/src/core/helpers/syntax-utils.js.map +1 -1
  63. package/dist/src/core/index.d.ts +1 -26
  64. package/dist/src/core/index.d.ts.map +1 -1
  65. package/dist/src/core/index.js +1 -26
  66. package/dist/src/core/index.js.map +1 -1
  67. package/dist/src/core/inspector/symbol.d.ts.map +1 -1
  68. package/dist/src/core/inspector/symbol.js +9 -11
  69. package/dist/src/core/inspector/symbol.js.map +1 -1
  70. package/dist/src/core/intrinsic-type-state.d.ts +1 -1
  71. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  72. package/dist/src/core/js-marshaller.d.ts +0 -9
  73. package/dist/src/core/js-marshaller.d.ts.map +1 -1
  74. package/dist/src/core/js-marshaller.js +0 -26
  75. package/dist/src/core/js-marshaller.js.map +1 -1
  76. package/dist/src/core/logger/console-sink.browser.d.ts.map +1 -1
  77. package/dist/src/core/logger/console-sink.browser.js +0 -16
  78. package/dist/src/core/logger/console-sink.browser.js.map +1 -1
  79. package/dist/src/core/logger/console-sink.d.ts +2 -3
  80. package/dist/src/core/logger/console-sink.d.ts.map +1 -1
  81. package/dist/src/core/logger/console-sink.js +16 -43
  82. package/dist/src/core/logger/console-sink.js.map +1 -1
  83. package/dist/src/core/logger/dynamic-task.d.ts +16 -0
  84. package/dist/src/core/logger/dynamic-task.d.ts.map +1 -0
  85. package/dist/src/core/logger/dynamic-task.js +93 -0
  86. package/dist/src/core/logger/dynamic-task.js.map +1 -0
  87. package/dist/src/core/logger/logger.d.ts.map +1 -1
  88. package/dist/src/core/logger/logger.js +11 -1
  89. package/dist/src/core/logger/logger.js.map +1 -1
  90. package/dist/src/core/messages.d.ts +35 -45
  91. package/dist/src/core/messages.d.ts.map +1 -1
  92. package/dist/src/core/messages.js +9 -11
  93. package/dist/src/core/messages.js.map +1 -1
  94. package/dist/src/core/name-resolver.d.ts.map +1 -1
  95. package/dist/src/core/name-resolver.js +12 -23
  96. package/dist/src/core/name-resolver.js.map +1 -1
  97. package/dist/src/core/node-host.d.ts +0 -3
  98. package/dist/src/core/node-host.d.ts.map +1 -1
  99. package/dist/src/core/node-host.js +5 -51
  100. package/dist/src/core/node-host.js.map +1 -1
  101. package/dist/src/core/node-system-host.d.ts +9 -0
  102. package/dist/src/core/node-system-host.d.ts.map +1 -0
  103. package/dist/src/core/node-system-host.js +57 -0
  104. package/dist/src/core/node-system-host.js.map +1 -0
  105. package/dist/src/core/options.d.ts +9 -0
  106. package/dist/src/core/options.d.ts.map +1 -1
  107. package/dist/src/core/parser.d.ts.map +1 -1
  108. package/dist/src/core/parser.js +50 -654
  109. package/dist/src/core/parser.js.map +1 -1
  110. package/dist/src/core/program.d.ts +6 -16
  111. package/dist/src/core/program.d.ts.map +1 -1
  112. package/dist/src/core/program.js +48 -24
  113. package/dist/src/core/program.js.map +1 -1
  114. package/dist/src/core/scanner.d.ts +37 -1
  115. package/dist/src/core/scanner.d.ts.map +1 -1
  116. package/dist/src/core/scanner.js +150 -3
  117. package/dist/src/core/scanner.js.map +1 -1
  118. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  119. package/dist/src/core/semantic-walker.js +0 -9
  120. package/dist/src/core/semantic-walker.js.map +1 -1
  121. package/dist/src/core/source-loader.d.ts.map +1 -1
  122. package/dist/src/core/source-loader.js +2 -1
  123. package/dist/src/core/source-loader.js.map +1 -1
  124. package/dist/src/core/state-accessors.d.ts +53 -12
  125. package/dist/src/core/state-accessors.d.ts.map +1 -1
  126. package/dist/src/core/state-accessors.js +75 -48
  127. package/dist/src/core/state-accessors.js.map +1 -1
  128. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  129. package/dist/src/core/type-relation-checker.js +4 -22
  130. package/dist/src/core/type-relation-checker.js.map +1 -1
  131. package/dist/src/core/type-utils.js +2 -2
  132. package/dist/src/core/type-utils.js.map +1 -1
  133. package/dist/src/core/types.d.ts +58 -324
  134. package/dist/src/core/types.d.ts.map +1 -1
  135. package/dist/src/core/types.js +24 -55
  136. package/dist/src/core/types.js.map +1 -1
  137. package/dist/src/core/visibility/lifecycle.d.ts.map +1 -1
  138. package/dist/src/core/visibility/lifecycle.js +2 -11
  139. package/dist/src/core/visibility/lifecycle.js.map +1 -1
  140. package/dist/src/emitter-framework/asset-emitter.d.ts +2 -1
  141. package/dist/src/emitter-framework/asset-emitter.d.ts.map +1 -1
  142. package/dist/src/emitter-framework/asset-emitter.js +2 -2
  143. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  144. package/dist/src/emitter-framework/builders/array-builder.js +1 -1
  145. package/dist/src/emitter-framework/builders/array-builder.js.map +1 -1
  146. package/dist/src/emitter-framework/builders/object-builder.js +1 -1
  147. package/dist/src/emitter-framework/builders/object-builder.js.map +1 -1
  148. package/dist/src/emitter-framework/index.d.ts +74 -8
  149. package/dist/src/emitter-framework/index.d.ts.map +1 -1
  150. package/dist/src/emitter-framework/index.js +32 -8
  151. package/dist/src/emitter-framework/index.js.map +1 -1
  152. package/dist/src/emitter-framework/reference-cycle.d.ts +1 -1
  153. package/dist/src/emitter-framework/types.d.ts +2 -1
  154. package/dist/src/emitter-framework/types.d.ts.map +1 -1
  155. package/dist/src/experimental/freeze-graph.d.ts +1 -1
  156. package/dist/src/experimental/freeze-graph.d.ts.map +1 -1
  157. package/dist/src/experimental/freeze-graph.js +1 -4
  158. package/dist/src/experimental/freeze-graph.js.map +1 -1
  159. package/dist/src/experimental/mutators.d.ts +2 -2
  160. package/dist/src/experimental/mutators.d.ts.map +1 -1
  161. package/dist/src/experimental/mutators.js +3 -8
  162. package/dist/src/experimental/mutators.js.map +1 -1
  163. package/dist/src/experimental/typekit/index.d.ts +1 -1
  164. package/dist/src/experimental/typekit/index.d.ts.map +1 -1
  165. package/dist/src/experimental/typekit/index.js +1 -1
  166. package/dist/src/experimental/typekit/index.js.map +1 -1
  167. package/dist/src/experimental/typekit/kits/model.d.ts +6 -0
  168. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
  169. package/dist/src/experimental/typekit/kits/model.js +10 -0
  170. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  171. package/dist/src/experimental/typekit/kits/type.d.ts +0 -6
  172. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  173. package/dist/src/experimental/typekit/kits/type.js +16 -10
  174. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  175. package/dist/src/experimental/typekit/kits/union.d.ts +6 -0
  176. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
  177. package/dist/src/experimental/typekit/kits/union.js +4 -0
  178. package/dist/src/experimental/typekit/kits/union.js.map +1 -1
  179. package/dist/src/formatter/print/comment-handler.js +1 -0
  180. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  181. package/dist/src/formatter/print/needs-parens.d.ts.map +1 -1
  182. package/dist/src/formatter/print/needs-parens.js +0 -4
  183. package/dist/src/formatter/print/needs-parens.js.map +1 -1
  184. package/dist/src/formatter/print/printer.d.ts +4 -12
  185. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  186. package/dist/src/formatter/print/printer.js +14 -196
  187. package/dist/src/formatter/print/printer.js.map +1 -1
  188. package/dist/src/index.d.ts +27 -5
  189. package/dist/src/index.d.ts.map +1 -1
  190. package/dist/src/index.js +32 -5
  191. package/dist/src/index.js.map +1 -1
  192. package/dist/src/init/core-templates.d.ts +2 -2
  193. package/dist/src/init/core-templates.d.ts.map +1 -1
  194. package/dist/src/init/core-templates.js.map +1 -1
  195. package/dist/src/init/init.d.ts +0 -2
  196. package/dist/src/init/init.d.ts.map +1 -1
  197. package/dist/src/init/init.js +17 -51
  198. package/dist/src/init/init.js.map +1 -1
  199. package/dist/src/init/scaffold.d.ts +4 -3
  200. package/dist/src/init/scaffold.d.ts.map +1 -1
  201. package/dist/src/init/scaffold.js +3 -4
  202. package/dist/src/init/scaffold.js.map +1 -1
  203. package/dist/src/install/config.d.ts +9 -0
  204. package/dist/src/install/config.d.ts.map +1 -0
  205. package/dist/src/install/config.js +16 -0
  206. package/dist/src/install/config.js.map +1 -0
  207. package/dist/src/install/install.d.ts +14 -0
  208. package/dist/src/install/install.d.ts.map +1 -0
  209. package/dist/src/install/install.js +191 -0
  210. package/dist/src/install/install.js.map +1 -0
  211. package/dist/src/install/spec.d.ts +39 -0
  212. package/dist/src/install/spec.d.ts.map +1 -0
  213. package/dist/src/install/spec.js +152 -0
  214. package/dist/src/install/spec.js.map +1 -0
  215. package/dist/src/internals/index.d.ts +8 -0
  216. package/dist/src/internals/index.d.ts.map +1 -0
  217. package/dist/src/internals/index.js +11 -0
  218. package/dist/src/internals/index.js.map +1 -0
  219. package/dist/src/lib/decorators.d.ts +16 -4
  220. package/dist/src/lib/decorators.d.ts.map +1 -1
  221. package/dist/src/lib/decorators.js +89 -46
  222. package/dist/src/lib/decorators.js.map +1 -1
  223. package/dist/src/lib/examples.js +1 -5
  224. package/dist/src/lib/examples.js.map +1 -1
  225. package/dist/src/lib/key.d.ts +1 -1
  226. package/dist/src/lib/key.d.ts.map +1 -1
  227. package/dist/src/lib/paging.d.ts +1 -1
  228. package/dist/src/lib/paging.d.ts.map +1 -1
  229. package/dist/src/lib/paging.js +3 -1
  230. package/dist/src/lib/paging.js.map +1 -1
  231. package/dist/src/lib/service.d.ts.map +1 -1
  232. package/dist/src/lib/service.js +0 -4
  233. package/dist/src/lib/service.js.map +1 -1
  234. package/dist/src/lib/tsp-index.d.ts.map +1 -1
  235. package/dist/src/lib/tsp-index.js +2 -2
  236. package/dist/src/lib/tsp-index.js.map +1 -1
  237. package/dist/src/lib/visibility.js +1 -1
  238. package/dist/src/lib/visibility.js.map +1 -1
  239. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
  240. package/dist/src/module-resolver/module-resolver.js +20 -13
  241. package/dist/src/module-resolver/module-resolver.js.map +1 -1
  242. package/dist/src/package-manger/npm-registry-utils.d.ts +83 -0
  243. package/dist/src/package-manger/npm-registry-utils.d.ts.map +1 -0
  244. package/dist/src/package-manger/npm-registry-utils.js +42 -0
  245. package/dist/src/package-manger/npm-registry-utils.js.map +1 -0
  246. package/dist/src/server/classify.d.ts +1 -1
  247. package/dist/src/server/classify.d.ts.map +1 -1
  248. package/dist/src/server/classify.js +4 -27
  249. package/dist/src/server/classify.js.map +1 -1
  250. package/dist/src/server/compile-service.d.ts +1 -1
  251. package/dist/src/server/compile-service.d.ts.map +1 -1
  252. package/dist/src/server/compile-service.js +5 -2
  253. package/dist/src/server/compile-service.js.map +1 -1
  254. package/dist/src/server/completion.d.ts +2 -1
  255. package/dist/src/server/completion.d.ts.map +1 -1
  256. package/dist/src/server/completion.js +24 -10
  257. package/dist/src/server/completion.js.map +1 -1
  258. package/dist/src/server/constants.d.ts +1 -1
  259. package/dist/src/server/constants.d.ts.map +1 -1
  260. package/dist/src/server/constants.js +1 -1
  261. package/dist/src/server/index.d.ts +2 -2
  262. package/dist/src/server/index.d.ts.map +1 -1
  263. package/dist/src/server/index.js +1 -2
  264. package/dist/src/server/index.js.map +1 -1
  265. package/dist/src/server/server.js +1 -1
  266. package/dist/src/server/server.js.map +1 -1
  267. package/dist/src/server/serverlib.d.ts.map +1 -1
  268. package/dist/src/server/serverlib.js +3 -2
  269. package/dist/src/server/serverlib.js.map +1 -1
  270. package/dist/src/server/symbol-structure.d.ts +1 -1
  271. package/dist/src/server/symbol-structure.d.ts.map +1 -1
  272. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  273. package/dist/src/server/tmlanguage.js +0 -125
  274. package/dist/src/server/tmlanguage.js.map +1 -1
  275. package/dist/src/server/type-details.js +4 -1
  276. package/dist/src/server/type-details.js.map +1 -1
  277. package/dist/src/server/type-signature.js +4 -15
  278. package/dist/src/server/type-signature.js.map +1 -1
  279. package/dist/src/server/types.d.ts +4 -2
  280. package/dist/src/server/types.d.ts.map +1 -1
  281. package/dist/src/server/types.js.map +1 -1
  282. package/dist/src/server/yaml-resolver.d.ts +1 -1
  283. package/dist/src/server/yaml-resolver.d.ts.map +1 -1
  284. package/dist/src/testing/code-fix-testing.d.ts +1 -1
  285. package/dist/src/testing/code-fix-testing.d.ts.map +1 -1
  286. package/dist/src/testing/code-fix-testing.js +3 -2
  287. package/dist/src/testing/code-fix-testing.js.map +1 -1
  288. package/dist/src/testing/expect.d.ts +1 -7
  289. package/dist/src/testing/expect.d.ts.map +1 -1
  290. package/dist/src/testing/expect.js +2 -13
  291. package/dist/src/testing/expect.js.map +1 -1
  292. package/dist/src/testing/index.d.ts +6 -6
  293. package/dist/src/testing/index.d.ts.map +1 -1
  294. package/dist/src/testing/index.js +5 -6
  295. package/dist/src/testing/index.js.map +1 -1
  296. package/dist/src/testing/rule-tester.d.ts +1 -1
  297. package/dist/src/testing/rule-tester.d.ts.map +1 -1
  298. package/dist/src/testing/rule-tester.js +2 -1
  299. package/dist/src/testing/rule-tester.js.map +1 -1
  300. package/dist/src/testing/source-utils.d.ts +20 -0
  301. package/dist/src/testing/source-utils.d.ts.map +1 -0
  302. package/dist/src/testing/source-utils.js +23 -0
  303. package/dist/src/testing/source-utils.js.map +1 -0
  304. package/dist/src/testing/test-host.d.ts.map +1 -1
  305. package/dist/src/testing/test-host.js +0 -4
  306. package/dist/src/testing/test-host.js.map +1 -1
  307. package/dist/src/testing/test-server-host.d.ts +0 -19
  308. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  309. package/dist/src/testing/test-server-host.js +0 -22
  310. package/dist/src/testing/test-server-host.js.map +1 -1
  311. package/dist/src/testing/test-utils.d.ts +1 -1
  312. package/dist/src/testing/test-utils.d.ts.map +1 -1
  313. package/dist/src/testing/test-utils.js +4 -2
  314. package/dist/src/testing/test-utils.js.map +1 -1
  315. package/dist/src/testing/types.d.ts +3 -2
  316. package/dist/src/testing/types.d.ts.map +1 -1
  317. package/dist/src/testing/types.js.map +1 -1
  318. package/dist/src/types/package-json.d.ts +14 -0
  319. package/dist/src/types/package-json.d.ts.map +1 -1
  320. package/dist/src/utils/custom-key-map.d.ts.map +1 -0
  321. package/dist/src/utils/custom-key-map.js.map +1 -0
  322. package/dist/src/utils/fs-utils.d.ts +3 -0
  323. package/dist/src/utils/fs-utils.d.ts.map +1 -0
  324. package/dist/src/utils/fs-utils.js +19 -0
  325. package/dist/src/utils/fs-utils.js.map +1 -0
  326. package/dist/src/utils/io.d.ts +16 -0
  327. package/dist/src/utils/io.d.ts.map +1 -0
  328. package/dist/src/utils/io.js +77 -0
  329. package/dist/src/utils/io.js.map +1 -0
  330. package/dist/src/utils/misc.d.ts +4 -18
  331. package/dist/src/utils/misc.d.ts.map +1 -1
  332. package/dist/src/utils/misc.js +1 -77
  333. package/dist/src/utils/misc.js.map +1 -1
  334. package/dist/typespec.tmLanguage +0 -342
  335. package/lib/std/decorators.tsp +37 -2
  336. package/package.json +14 -7
  337. package/templates/__snapshots__/emitter-ts/src/emitter.ts +4 -6
  338. package/templates/emitter-ts/src/emitter.ts +4 -6
  339. package/templates/scaffolding.json +4 -4
  340. package/dist/src/core/helpers/projected-names-utils.d.ts +0 -20
  341. package/dist/src/core/helpers/projected-names-utils.d.ts.map +0 -1
  342. package/dist/src/core/helpers/projected-names-utils.js +0 -42
  343. package/dist/src/core/helpers/projected-names-utils.js.map +0 -1
  344. package/dist/src/core/install.d.ts +0 -3
  345. package/dist/src/core/install.d.ts.map +0 -1
  346. package/dist/src/core/install.js +0 -60
  347. package/dist/src/core/install.js.map +0 -1
  348. package/dist/src/core/projected-program.d.ts +0 -3
  349. package/dist/src/core/projected-program.d.ts.map +0 -1
  350. package/dist/src/core/projected-program.js +0 -4
  351. package/dist/src/core/projected-program.js.map +0 -1
  352. package/dist/src/core/projection-members.d.ts +0 -8
  353. package/dist/src/core/projection-members.d.ts.map +0 -1
  354. package/dist/src/core/projection-members.js +0 -382
  355. package/dist/src/core/projection-members.js.map +0 -1
  356. package/dist/src/core/projector.d.ts +0 -26
  357. package/dist/src/core/projector.d.ts.map +0 -1
  358. package/dist/src/core/projector.js +0 -572
  359. package/dist/src/core/projector.js.map +0 -1
  360. package/dist/src/emitter-framework/custom-key-map.d.ts.map +0 -1
  361. package/dist/src/emitter-framework/custom-key-map.js.map +0 -1
  362. /package/dist/src/{emitter-framework → utils}/custom-key-map.d.ts +0 -0
  363. /package/dist/src/{emitter-framework → utils}/custom-key-map.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/init/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface PackageManagerConfig {
2
+ commands: {
3
+ install: string[];
4
+ };
5
+ }
6
+ export type SupportedPackageManager = "npm";
7
+ export declare function isSupportedPackageManager(value: string): value is SupportedPackageManager;
8
+ export declare function getPackageManagerConfig(name: SupportedPackageManager): PackageManagerConfig;
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/install/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAY5C,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,uBAAuB,CAEzF;AACD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,GAAG,oBAAoB,CAE3F"}
@@ -0,0 +1,16 @@
1
+ const SupportedPackageManagersConfig = {
2
+ npm: {
3
+ commands: {
4
+ install: ["install"],
5
+ },
6
+ },
7
+ // pnpm: {},
8
+ // yarn: {},
9
+ };
10
+ export function isSupportedPackageManager(value) {
11
+ return value in SupportedPackageManagersConfig;
12
+ }
13
+ export function getPackageManagerConfig(name) {
14
+ return SupportedPackageManagersConfig[name];
15
+ }
16
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/install/config.ts"],"names":[],"mappings":"AAQA,MAAM,8BAA8B,GAA0D;IAC5F,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,SAAS,CAAC;SACrB;KACF;IACD,YAAY;IACZ,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,KAAK,IAAI,8BAA8B,CAAC;AACjD,CAAC;AACD,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACnE,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CliCompilerHost } from "../core/cli/types.js";
2
+ import { DiagnosticError } from "../core/diagnostic-error.js";
3
+ import { type Diagnostic } from "../core/types.js";
4
+ export declare class InstallDependenciesError extends DiagnosticError {
5
+ constructor(message: string);
6
+ }
7
+ export interface InstallTypeSpecDependenciesOptions {
8
+ readonly directory: string;
9
+ readonly stdio?: "inherit" | "pipe";
10
+ /** When set to true update the packageManager field with the package manger version and hash */
11
+ readonly savePackageManager?: boolean;
12
+ }
13
+ export declare function installTypeSpecDependencies(host: CliCompilerHost, options: InstallTypeSpecDependenciesOptions): Promise<readonly Diagnostic[]>;
14
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/install/install.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,EAAY,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AA8B1E,qBAAa,wBAAyB,SAAQ,eAAe;gBAC/C,OAAO,EAAE,MAAM;CAQ5B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACpC,gGAAgG;IAChG,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AA2GD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAkDhC"}
@@ -0,0 +1,191 @@
1
+ import { fork } from "child_process";
2
+ import envPaths from "env-paths";
3
+ import { mkdir, rename, rm } from "fs/promises";
4
+ import { DiagnosticError } from "../core/diagnostic-error.js";
5
+ import { createDiagnosticCollector } from "../core/diagnostics.js";
6
+ import { createTracer } from "../core/logger/tracer.js";
7
+ import { getDirectoryPath, joinPaths } from "../core/path-utils.js";
8
+ import { NoTarget } from "../core/types.js";
9
+ import { downloadAndExtractPackage, fetchPackageManifest, } from "../package-manger/npm-registry-utils.js";
10
+ import { mkTempDir } from "../utils/fs-utils.js";
11
+ import { getPackageManagerConfig, } from "./config.js";
12
+ import { resolvePackageManagerSpec, updatePackageManagerInPackageJson, } from "./spec.js";
13
+ const paths = envPaths("typespec", { suffix: "" });
14
+ const pmDir = joinPaths(paths.cache, "pm");
15
+ export class InstallDependenciesError extends DiagnosticError {
16
+ constructor(message) {
17
+ super({
18
+ code: "install-package-manager-error",
19
+ message,
20
+ severity: "error",
21
+ target: NoTarget,
22
+ });
23
+ }
24
+ }
25
+ async function resolvePackageManagerSpecOrFail(host, tracer, options) {
26
+ const result = await resolvePackageManagerSpec(host, tracer, options.directory);
27
+ switch (result.kind) {
28
+ case "no-package":
29
+ throw new InstallDependenciesError("No package.json found, cannot install dependencies.");
30
+ case "no-spec":
31
+ return [
32
+ {
33
+ kind: "resolved",
34
+ spec: {
35
+ name: "npm",
36
+ range: "latest",
37
+ },
38
+ path: result.path,
39
+ },
40
+ options.savePackageManager
41
+ ? [
42
+ {
43
+ code: "no-package-manager-spec",
44
+ severity: "warning",
45
+ message: "No package manager spec found, defaulted to npm latest version. Please set devEngines.packageManager or packageManager in your package.json.",
46
+ target: NoTarget,
47
+ },
48
+ ]
49
+ : [],
50
+ ];
51
+ case "resolved":
52
+ return [result, []];
53
+ }
54
+ }
55
+ async function installPackageManager(host, tracer, packageManager, spec, installDir, manifest) {
56
+ await rm(installDir, { recursive: true, force: true });
57
+ const tempDir = await mkTempDir(host, pmDir, `tsp-pm-${packageManager}-${manifest.version}`);
58
+ tracer.trace("downloading-extracting", `Downloading and extracting ${packageManager} at version ${manifest.version} in ${tempDir}`);
59
+ const extractResult = await downloadAndExtractPackage(manifest, tempDir, spec.hash?.algorithm);
60
+ if (spec.hash) {
61
+ if (spec.hash.value !== extractResult.hash.value) {
62
+ throw new InstallDependenciesError(`Mismatch hash for package manager. (${spec.hash.algorithm})\n Expected: ${spec.hash.value}\n Actual: ${extractResult.hash}`);
63
+ }
64
+ }
65
+ await mkdir(getDirectoryPath(installDir), { recursive: true });
66
+ tracer.trace("move-temp-to-install", `Move temporary directory ${tempDir} to install directory ${installDir}`);
67
+ await renameSafe(tempDir, installDir);
68
+ tracer.trace("downloaded", `Downloaded and extracted at ${installDir}`);
69
+ return extractResult;
70
+ }
71
+ async function renameSafe(oldPath, newPath) {
72
+ if (process.platform === `win32`) {
73
+ await renameSafeWindows(oldPath, newPath);
74
+ }
75
+ else {
76
+ await rename(oldPath, newPath);
77
+ }
78
+ }
79
+ // https://github.com/nodejs/corepack/blob/19e3c6861a8affdfd94d97edf495c21e591fe4e0/sources/corepackUtils.ts#L353-L375
80
+ async function renameSafeWindows(oldPath, newPath) {
81
+ // Windows malicious file analysis blocks files currently under analysis
82
+ const retries = 5;
83
+ for (let i = 0; i < retries; i++) {
84
+ try {
85
+ await rename(oldPath, newPath);
86
+ break;
87
+ }
88
+ catch (error) {
89
+ if ((error.code === `ENOENT` || error.code === `EPERM`) &&
90
+ i < retries - 1) {
91
+ await delay(100 * 2 ** i);
92
+ continue;
93
+ }
94
+ else {
95
+ throw error;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ function delay(ms) {
101
+ return new Promise((resolve) => setTimeout(resolve, ms));
102
+ }
103
+ export async function installTypeSpecDependencies(host, options) {
104
+ const { directory, stdio = "inherit", savePackageManager } = options;
105
+ const diagnostics = createDiagnosticCollector();
106
+ const tracer = createTracer(host.logger).sub("install");
107
+ try {
108
+ const { spec, path: packageJsonPath } = diagnostics.pipe(await resolvePackageManagerSpecOrFail(host, tracer, options));
109
+ const packageManager = spec.name;
110
+ const packageManagerConfig = getPackageManagerConfig(packageManager);
111
+ const manifest = await fetchPackageManifest(packageManager, spec.range);
112
+ tracer.trace("fetched-manifest", `Resolved manifest for ${packageManager} at version ${manifest.version}`);
113
+ const installDir = joinPaths(pmDir, packageManager, manifest.version);
114
+ if ((await isDirectory(host, installDir)) && !savePackageManager) {
115
+ tracer.trace("reusing", `Reusing cached package manager in ${installDir}`);
116
+ }
117
+ else {
118
+ const extractResult = await installPackageManager(host, tracer, packageManager, spec, installDir, manifest);
119
+ if (savePackageManager) {
120
+ await updatePackageManagerInPackageJson(host, packageJsonPath, {
121
+ name: spec.name,
122
+ range: manifest.version,
123
+ hash: extractResult.hash,
124
+ });
125
+ }
126
+ }
127
+ const bin = manifest.bin[packageManager];
128
+ const binPath = joinPaths(installDir, bin);
129
+ tracer.trace("running-binary", `Running binary ${binPath}`);
130
+ await runPackageManager(host, packageManagerConfig, binPath, directory, stdio);
131
+ return diagnostics.diagnostics;
132
+ }
133
+ catch (e) {
134
+ if (e instanceof DiagnosticError) {
135
+ return [...diagnostics.diagnostics, ...e.diagnostics];
136
+ }
137
+ else {
138
+ throw e;
139
+ }
140
+ }
141
+ }
142
+ async function runPackageManager(host, packageManager, binPath, directory, stdio) {
143
+ const child = fork(binPath, packageManager.commands.install, {
144
+ stdio,
145
+ cwd: directory,
146
+ env: process.env,
147
+ });
148
+ const stdout = [];
149
+ if (child.stdout) {
150
+ child.stdout.on("data", (data) => {
151
+ stdout.push(data.toString());
152
+ });
153
+ }
154
+ if (child.stderr) {
155
+ child.stderr.on("data", (data) => {
156
+ stdout.push(data.toString());
157
+ });
158
+ }
159
+ await new Promise((resolve, reject) => {
160
+ child.on("error", (error) => {
161
+ if (error.code === "ENOENT") {
162
+ host.logger.error("Cannot find `npm` executable. Make sure to have npm installed in your path.");
163
+ }
164
+ else {
165
+ host.logger.error(error.toString());
166
+ }
167
+ process.exit(error.errno);
168
+ });
169
+ child.on("exit", (exitCode) => {
170
+ if (exitCode !== 0) {
171
+ reject(new Error(`Npm installed failed with exit code ${exitCode}\n${stdout.join("\n")}`));
172
+ }
173
+ else {
174
+ resolve();
175
+ }
176
+ });
177
+ });
178
+ }
179
+ async function isDirectory(host, path) {
180
+ try {
181
+ const stats = await host.stat(path);
182
+ return stats.isDirectory();
183
+ }
184
+ catch (e) {
185
+ if (e.code === "ENOENT" || e.code === "ENOTDIR") {
186
+ return false;
187
+ }
188
+ throw e;
189
+ }
190
+ }
191
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/install/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { DiagnosticError } from "../core/diagnostic-error.js";
2
+ import type { CompilerHost, SourceFile, Tracer } from "../core/types.js";
3
+ import { type SupportedPackageManager } from "./config.js";
4
+ export interface Descriptor {
5
+ /** Name of the package manager */
6
+ readonly name: SupportedPackageManager;
7
+ /** Supported version range */
8
+ readonly range: string;
9
+ readonly hash?: Hash;
10
+ }
11
+ export interface Hash {
12
+ readonly algorithm: string;
13
+ readonly value: string;
14
+ }
15
+ export interface ResolvedSpecResult {
16
+ readonly kind: "resolved";
17
+ /** Path to the resolved package.json */
18
+ readonly path: string;
19
+ /** Resolved spec of the package manager */
20
+ readonly spec: Descriptor;
21
+ }
22
+ type PackageManagerSpecResult = {
23
+ readonly kind: "no-package";
24
+ readonly path: string;
25
+ } | {
26
+ readonly kind: "no-spec";
27
+ readonly path: string;
28
+ } | ResolvedSpecResult;
29
+ /**
30
+ * Resolve the package manager required for the current working directory.
31
+ * @throws {PackageManagerSpecError} if there is error resolving it(Invalid package.json, invalid packageManager field)
32
+ */
33
+ export declare function resolvePackageManagerSpec(host: CompilerHost, parentTracer: Tracer, cwd: string): Promise<PackageManagerSpecResult>;
34
+ export declare function updatePackageManagerInPackageJson(host: CompilerHost, path: string, spec: Descriptor): Promise<void>;
35
+ export declare class PackageManagerSpecError extends DiagnosticError {
36
+ constructor(message: string, source: SourceFile);
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/install/spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtF,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAEvC,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,KAAK,wBAAwB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD,kBAAkB,CAAC;AAIvB;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,wBAAwB,CAAC,CAuCnC;AAMD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,iBAKjB;AA6ID,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;CAQhD"}
@@ -0,0 +1,152 @@
1
+ import semverParse from "semver/functions/parse.js";
2
+ import semverSatisfies from "semver/functions/satisfies.js";
3
+ import semverValid from "semver/functions/valid.js";
4
+ import semverValidRange from "semver/ranges/valid.js";
5
+ import { DiagnosticError } from "../core/diagnostic-error.js";
6
+ import { getDirectoryPath, joinPaths } from "../core/path-utils.js";
7
+ import { isSupportedPackageManager } from "./config.js";
8
+ const nodeModulesRegExp = /\/node_modules\//;
9
+ /**
10
+ * Resolve the package manager required for the current working directory.
11
+ * @throws {PackageManagerSpecError} if there is error resolving it(Invalid package.json, invalid packageManager field)
12
+ */
13
+ export async function resolvePackageManagerSpec(host, parentTracer, cwd) {
14
+ const tracer = parentTracer.sub("pm-spec");
15
+ let nextCwd = cwd;
16
+ let currentCwd = "";
17
+ let resolved = null;
18
+ while (nextCwd !== currentCwd && !resolved) {
19
+ currentCwd = nextCwd;
20
+ nextCwd = getDirectoryPath(currentCwd);
21
+ if (nodeModulesRegExp.test(currentCwd))
22
+ continue;
23
+ const pkgJsonPath = joinPaths(currentCwd, "package.json");
24
+ const packageJson = await readPackage(host, pkgJsonPath);
25
+ if (packageJson) {
26
+ resolved = packageJson;
27
+ }
28
+ }
29
+ if (resolved === null) {
30
+ return { kind: "no-package", path: cwd };
31
+ }
32
+ const [packageJson, source] = resolved;
33
+ const spec = extractSpecFromPackageJson(tracer, packageJson, source);
34
+ if (spec === undefined) {
35
+ return { kind: "no-spec", path: source.path };
36
+ }
37
+ tracer.trace("resolved", `${source.path} defines ${spec} as local package manager`);
38
+ return {
39
+ kind: "resolved",
40
+ path: source.path,
41
+ spec,
42
+ };
43
+ }
44
+ function serializeSpec(spec) {
45
+ return `${spec.name}@${spec.range}${spec.hash ? `+${spec.hash.algorithm}.${spec.hash.value}` : ""}`;
46
+ }
47
+ export async function updatePackageManagerInPackageJson(host, path, spec) {
48
+ const [pkg] = (await readPackage(host, path));
49
+ pkg.packageManager = serializeSpec(spec);
50
+ return host.writeFile(path, JSON.stringify(pkg, undefined, 2));
51
+ }
52
+ async function readPackage(host, path) {
53
+ let file;
54
+ try {
55
+ file = await host.readFile(path);
56
+ }
57
+ catch (err) {
58
+ if (err?.code === "ENOENT")
59
+ return undefined;
60
+ throw err;
61
+ }
62
+ let packageJson;
63
+ try {
64
+ packageJson = JSON.parse(file.text);
65
+ }
66
+ catch {
67
+ return undefined;
68
+ }
69
+ if (typeof packageJson !== "object" || packageJson === null) {
70
+ throw new PackageManagerSpecError(`Invalid package.json ${path}}`, file);
71
+ }
72
+ return [packageJson, file];
73
+ }
74
+ function extractSpecFromPackageJson(tracer, packageJSONContent, source) {
75
+ const pm = packageJSONContent.packageManager
76
+ ? parsePackageManagerField(packageJSONContent.packageManager, source)
77
+ : undefined;
78
+ const devEnginePm = packageJSONContent.devEngines?.packageManager;
79
+ if (devEnginePm != null) {
80
+ if (typeof devEnginePm !== "object") {
81
+ return pm;
82
+ }
83
+ if (Array.isArray(devEnginePm)) {
84
+ return pm;
85
+ }
86
+ const { name, version } = devEnginePm;
87
+ validatePackageManager(name, source);
88
+ if (typeof name !== "string" || name.includes("@")) {
89
+ throw new PackageManagerSpecError(`devEngines.packageManager.name ${JSON.stringify(name)} must be a package manager name without the version`, source);
90
+ }
91
+ if (version == null || typeof version !== "string" || !semverValidRange(version)) {
92
+ throw new PackageManagerSpecError(`devEngines.packageManager.version ${JSON.stringify(version)} is not a valid semver range`, source);
93
+ }
94
+ validateVersionNotUrl(version, source);
95
+ tracer.trace("devEngines", `devEngines.packageManager specify ${name}@${version}`);
96
+ if (pm) {
97
+ if (pm.name !== name)
98
+ throw new PackageManagerSpecError(`"packageManager" field "${pm}" does not match name of "devEngines.packageManager" set to "${name}"`, source);
99
+ else if (version != null && !semverSatisfies(pm.range, version))
100
+ throw new PackageManagerSpecError(`"packageManager" field is set to "${pm}" does not match the version defined in "devEngines.packageManager" "${name}" @ "${version}"`, source);
101
+ return pm;
102
+ }
103
+ return { name, range: version };
104
+ }
105
+ return pm;
106
+ }
107
+ function validatePackageManager(name, source) {
108
+ if (!isSupportedPackageManager(name)) {
109
+ throw new PackageManagerSpecError(`Unsupported packageManager specification: Package manager ${name} is not supported.`, source);
110
+ }
111
+ }
112
+ function validateVersionNotUrl(version, source) {
113
+ const isURL = URL.canParse(version);
114
+ if (isURL) {
115
+ throw new PackageManagerSpecError(`Urls are not supported for package manager specifications "${version}"`, source);
116
+ }
117
+ }
118
+ function parsePackageManagerField(raw, source) {
119
+ if (typeof raw !== "string") {
120
+ throw new PackageManagerSpecError(`Invalid packageManager field : expected a string`, source);
121
+ }
122
+ const atIndex = raw.indexOf("@");
123
+ if (atIndex === -1 || atIndex === raw.length - 1) {
124
+ throw new PackageManagerSpecError(`Invalid packageManager field "${raw}": a version to be specified for package manager.`, source);
125
+ }
126
+ const name = raw.slice(0, atIndex);
127
+ const version = raw.slice(atIndex + 1);
128
+ validatePackageManager(name, source);
129
+ validateVersionNotUrl(version, source);
130
+ if (!semverValid(version))
131
+ throw new PackageManagerSpecError(`Invalid packageManager field "${raw}": expected a semver version`, source);
132
+ const semver = semverParse(version);
133
+ const hash = semver.build[0] && semver.build[1]
134
+ ? { algorithm: semver.build[0], value: semver.build[1] }
135
+ : undefined;
136
+ return {
137
+ name,
138
+ range: semver.version,
139
+ hash,
140
+ };
141
+ }
142
+ export class PackageManagerSpecError extends DiagnosticError {
143
+ constructor(message, source) {
144
+ super({
145
+ code: "invalid-package-manager-spec",
146
+ message,
147
+ severity: "error",
148
+ target: { file: source, pos: 0, end: 0 },
149
+ });
150
+ }
151
+ }
152
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/install/spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This file is meant to export internal items from the TypeSpec compiler to some other tools that bundle them.
3
+ * DO NOT USE it, it might change at any time with no warning.
4
+ */
5
+ export { NodeSystemHost } from "../core/node-system-host.js";
6
+ export { InitTemplateSchema } from "../init/init-template.js";
7
+ export { makeScaffoldingConfig, scaffoldNewProject } from "../init/scaffold.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file is meant to export internal items from the TypeSpec compiler to some other tools that bundle them.
3
+ * DO NOT USE it, it might change at any time with no warning.
4
+ */
5
+ if (!globalThis.enableCompilerInternalsExport) {
6
+ throw new Error("Importing @typespec/compiler/internals is reserved for internal use only.");
7
+ }
8
+ export { NodeSystemHost } from "../core/node-system-host.js";
9
+ export { InitTemplateSchema } from "../init/init-template.js";
10
+ export { makeScaffoldingConfig, scaffoldNewProject } from "../init/scaffold.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAI,CAAE,UAAkB,CAAC,6BAA6B,EAAE,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC/F,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { DiscriminatedDecorator, DiscriminatorDecorator, DocDecorator, EncodeDecorator, ErrorDecorator, ErrorsDocDecorator, ExampleDecorator, ExampleOptions, FormatDecorator, FriendlyNameDecorator, InspectTypeDecorator, InspectTypeNameDecorator, KeyDecorator, MaxItemsDecorator, MaxLengthDecorator, MaxValueDecorator, MaxValueExclusiveDecorator, MinItemsDecorator, MinLengthDecorator, MinValueDecorator, MinValueExclusiveDecorator, OpExampleDecorator, OverloadDecorator, PatternDecorator, ReturnsDocDecorator, SecretDecorator, SummaryDecorator, TagDecorator, WithOptionalPropertiesDecorator, WithPickedPropertiesDecorator, WithoutDefaultValuesDecorator, WithoutOmittedPropertiesDecorator } from "../../generated-defs/TypeSpec.js";
1
+ import type { DiscriminatedDecorator, DiscriminatorDecorator, DocDecorator, EncodeDecorator, ErrorDecorator, ErrorsDocDecorator, ExampleDecorator, ExampleOptions, FormatDecorator, FriendlyNameDecorator, InspectTypeDecorator, InspectTypeNameDecorator, KeyDecorator, MaxItemsDecorator, MaxLengthDecorator, MaxValueDecorator, MaxValueExclusiveDecorator, MediaTypeHintDecorator, MinItemsDecorator, MinLengthDecorator, MinValueDecorator, MinValueExclusiveDecorator, OpExampleDecorator, OverloadDecorator, PatternDecorator, ReturnsDocDecorator, SecretDecorator, SummaryDecorator, TagDecorator, WithOptionalPropertiesDecorator, WithPickedPropertiesDecorator, WithoutDefaultValuesDecorator, WithoutOmittedPropertiesDecorator } from "../../generated-defs/TypeSpec.js";
2
2
  import { DocData } from "../core/intrinsic-type-state.js";
3
- import { Program, ProjectedProgram } from "../core/program.js";
3
+ import { Program } from "../core/program.js";
4
4
  import { Enum, Interface, Model, ModelProperty, Namespace, Operation, Scalar, Type, Union, Value } from "../core/types.js";
5
5
  export { $encodedName, resolveEncodedName } from "./encoded-names.js";
6
6
  export { serializeValueAsJson } from "./examples.js";
@@ -69,8 +69,8 @@ export declare function getErrorsDocData(program: Program, target: Operation): D
69
69
  export declare function getErrorsDoc(program: Program, target: Operation): string | undefined;
70
70
  export declare const $inspectType: InspectTypeDecorator;
71
71
  export declare const $inspectTypeName: InspectTypeNameDecorator;
72
- export declare function isStringType(program: Program | ProjectedProgram, target: Type): target is Scalar;
73
- export declare function isNumericType(program: Program | ProjectedProgram, target: Type): target is Scalar;
72
+ export declare function isStringType(program: Program, target: Type): target is Scalar;
73
+ export declare function isNumericType(program: Program, target: Type): target is Scalar;
74
74
  /**
75
75
  * `@error` decorator marks a model as an error type.
76
76
  * Any derived models (using extends) will also be seen as error types.
@@ -80,6 +80,18 @@ export declare const $error: ErrorDecorator;
80
80
  * Check if the type is an error model or a descendant of an error model.
81
81
  */
82
82
  export declare function isErrorModel(program: Program, target: Type): boolean;
83
+ export declare const $mediaTypeHint: MediaTypeHintDecorator;
84
+ /**
85
+ * Get the default media type hint for the given target type.
86
+ *
87
+ * This value is a hint _ONLY_. Emitters are not required to use it, but may use it to get the default media type
88
+ * associated with a TypeSpec type.
89
+ *
90
+ * @param program - the Program containing the target
91
+ * @param target - the target to get the MIME type for
92
+ * @returns the default media type hint for the target, if any
93
+ */
94
+ export declare function getMediaTypeHint(program: Program, target: Type): string | undefined;
83
95
  declare const getFormat: (program: Program, type: Type) => string | undefined;
84
96
  /**
85
97
  * `@format` - specify the data format hint for a string type
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}