@typespec/compiler 0.41.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 (352) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/cmd/tsp-server.js +3 -0
  4. package/cmd/tsp.js +3 -0
  5. package/dist/cmd/runner.d.ts +9 -0
  6. package/dist/cmd/runner.d.ts.map +1 -0
  7. package/dist/cmd/runner.js +62 -0
  8. package/dist/cmd/runner.js.map +1 -0
  9. package/dist/config/config-interpolation.d.ts +11 -0
  10. package/dist/config/config-interpolation.d.ts.map +1 -0
  11. package/dist/config/config-interpolation.js +109 -0
  12. package/dist/config/config-interpolation.js.map +1 -0
  13. package/dist/config/config-loader.d.ts +25 -0
  14. package/dist/config/config-loader.d.ts.map +1 -0
  15. package/dist/config/config-loader.js +182 -0
  16. package/dist/config/config-loader.js.map +1 -0
  17. package/dist/config/config-schema.d.ts +4 -0
  18. package/dist/config/config-schema.d.ts.map +1 -0
  19. package/dist/config/config-schema.js +84 -0
  20. package/dist/config/config-schema.js.map +1 -0
  21. package/dist/config/index.d.ts +3 -0
  22. package/dist/config/index.d.ts.map +1 -0
  23. package/dist/config/index.js +3 -0
  24. package/dist/config/index.js.map +1 -0
  25. package/dist/config/types.d.ts +79 -0
  26. package/dist/config/types.d.ts.map +1 -0
  27. package/dist/config/types.js +2 -0
  28. package/dist/config/types.js.map +1 -0
  29. package/dist/core/binder.d.ts +29 -0
  30. package/dist/core/binder.d.ts.map +1 -0
  31. package/dist/core/binder.js +455 -0
  32. package/dist/core/binder.js.map +1 -0
  33. package/dist/core/charcode.d.ts +130 -0
  34. package/dist/core/charcode.d.ts.map +1 -0
  35. package/dist/core/charcode.js +115 -0
  36. package/dist/core/charcode.js.map +1 -0
  37. package/dist/core/checker.d.ts +138 -0
  38. package/dist/core/checker.d.ts.map +1 -0
  39. package/dist/core/checker.js +4070 -0
  40. package/dist/core/checker.js.map +1 -0
  41. package/dist/core/cli/args.d.ts +18 -0
  42. package/dist/core/cli/args.d.ts.map +1 -0
  43. package/dist/core/cli/args.js +108 -0
  44. package/dist/core/cli/args.js.map +1 -0
  45. package/dist/core/cli/cli.d.ts +2 -0
  46. package/dist/core/cli/cli.d.ts.map +1 -0
  47. package/dist/core/cli/cli.js +477 -0
  48. package/dist/core/cli/cli.js.map +1 -0
  49. package/dist/core/cli/index.d.ts +2 -0
  50. package/dist/core/cli/index.d.ts.map +1 -0
  51. package/dist/core/cli/index.js +2 -0
  52. package/dist/core/cli/index.js.map +1 -0
  53. package/dist/core/decorator-utils.d.ts +108 -0
  54. package/dist/core/decorator-utils.d.ts.map +1 -0
  55. package/dist/core/decorator-utils.js +326 -0
  56. package/dist/core/decorator-utils.js.map +1 -0
  57. package/dist/core/diagnostics.d.ts +93 -0
  58. package/dist/core/diagnostics.d.ts.map +1 -0
  59. package/dist/core/diagnostics.js +315 -0
  60. package/dist/core/diagnostics.js.map +1 -0
  61. package/dist/core/emitter-utils.d.ts +14 -0
  62. package/dist/core/emitter-utils.d.ts.map +1 -0
  63. package/dist/core/emitter-utils.js +16 -0
  64. package/dist/core/emitter-utils.js.map +1 -0
  65. package/dist/core/formatter-fs.d.ts +21 -0
  66. package/dist/core/formatter-fs.d.ts.map +1 -0
  67. package/dist/core/formatter-fs.js +79 -0
  68. package/dist/core/formatter-fs.js.map +1 -0
  69. package/dist/core/formatter.d.ts +10 -0
  70. package/dist/core/formatter.d.ts.map +1 -0
  71. package/dist/core/formatter.js +24 -0
  72. package/dist/core/formatter.js.map +1 -0
  73. package/dist/core/helpers/discriminator-utils.d.ts +14 -0
  74. package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
  75. package/dist/core/helpers/discriminator-utils.js +169 -0
  76. package/dist/core/helpers/discriminator-utils.js.map +1 -0
  77. package/dist/core/helpers/index.d.ts +6 -0
  78. package/dist/core/helpers/index.d.ts.map +1 -0
  79. package/dist/core/helpers/index.js +6 -0
  80. package/dist/core/helpers/index.js.map +1 -0
  81. package/dist/core/helpers/operation-utils.d.ts +15 -0
  82. package/dist/core/helpers/operation-utils.d.ts.map +1 -0
  83. package/dist/core/helpers/operation-utils.js +35 -0
  84. package/dist/core/helpers/operation-utils.js.map +1 -0
  85. package/dist/core/helpers/projected-names-utils.d.ts +20 -0
  86. package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
  87. package/dist/core/helpers/projected-names-utils.js +40 -0
  88. package/dist/core/helpers/projected-names-utils.js.map +1 -0
  89. package/dist/core/helpers/type-name-utils.d.ts +14 -0
  90. package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
  91. package/dist/core/helpers/type-name-utils.js +122 -0
  92. package/dist/core/helpers/type-name-utils.js.map +1 -0
  93. package/dist/core/helpers/usage-resolver.d.ts +20 -0
  94. package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
  95. package/dist/core/helpers/usage-resolver.js +108 -0
  96. package/dist/core/helpers/usage-resolver.js.map +1 -0
  97. package/dist/core/index.d.ts +26 -0
  98. package/dist/core/index.d.ts.map +1 -0
  99. package/dist/core/index.js +26 -0
  100. package/dist/core/index.js.map +1 -0
  101. package/dist/core/install.d.ts +2 -0
  102. package/dist/core/install.d.ts.map +1 -0
  103. package/dist/core/install.js +26 -0
  104. package/dist/core/install.js.map +1 -0
  105. package/dist/core/library.d.ts +34 -0
  106. package/dist/core/library.d.ts.map +1 -0
  107. package/dist/core/library.js +100 -0
  108. package/dist/core/library.js.map +1 -0
  109. package/dist/core/logger/console-sink.browser.d.ts +4 -0
  110. package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
  111. package/dist/core/logger/console-sink.browser.js +14 -0
  112. package/dist/core/logger/console-sink.browser.js.map +1 -0
  113. package/dist/core/logger/console-sink.d.ts +9 -0
  114. package/dist/core/logger/console-sink.d.ts.map +1 -0
  115. package/dist/core/logger/console-sink.js +81 -0
  116. package/dist/core/logger/console-sink.js.map +1 -0
  117. package/dist/core/logger/index.d.ts +3 -0
  118. package/dist/core/logger/index.d.ts.map +1 -0
  119. package/dist/core/logger/index.js +3 -0
  120. package/dist/core/logger/index.js.map +1 -0
  121. package/dist/core/logger/logger.d.ts +7 -0
  122. package/dist/core/logger/logger.d.ts.map +1 -0
  123. package/dist/core/logger/logger.js +32 -0
  124. package/dist/core/logger/logger.js.map +1 -0
  125. package/dist/core/logger/tracer.d.ts +3 -0
  126. package/dist/core/logger/tracer.d.ts.map +1 -0
  127. package/dist/core/logger/tracer.js +91 -0
  128. package/dist/core/logger/tracer.js.map +1 -0
  129. package/dist/core/manifest.d.ts +21 -0
  130. package/dist/core/manifest.d.ts.map +1 -0
  131. package/dist/core/manifest.js +8 -0
  132. package/dist/core/manifest.js.map +1 -0
  133. package/dist/core/messages.d.ts +2253 -0
  134. package/dist/core/messages.d.ts.map +1 -0
  135. package/dist/core/messages.js +749 -0
  136. package/dist/core/messages.js.map +1 -0
  137. package/dist/core/module-resolver.d.ts +84 -0
  138. package/dist/core/module-resolver.d.ts.map +1 -0
  139. package/dist/core/module-resolver.js +170 -0
  140. package/dist/core/module-resolver.js.map +1 -0
  141. package/dist/core/node-host.browser.d.ts +2 -0
  142. package/dist/core/node-host.browser.d.ts.map +1 -0
  143. package/dist/core/node-host.browser.js +2 -0
  144. package/dist/core/node-host.browser.js.map +1 -0
  145. package/dist/core/node-host.d.ts +7 -0
  146. package/dist/core/node-host.d.ts.map +1 -0
  147. package/dist/core/node-host.js +43 -0
  148. package/dist/core/node-host.js.map +1 -0
  149. package/dist/core/nonascii.d.ts +2 -0
  150. package/dist/core/nonascii.d.ts.map +1 -0
  151. package/dist/core/nonascii.js +712 -0
  152. package/dist/core/nonascii.js.map +1 -0
  153. package/dist/core/options.d.ts +46 -0
  154. package/dist/core/options.d.ts.map +1 -0
  155. package/dist/core/options.js +2 -0
  156. package/dist/core/options.js.map +1 -0
  157. package/dist/core/parser.d.ts +17 -0
  158. package/dist/core/parser.d.ts.map +1 -0
  159. package/dist/core/parser.js +2561 -0
  160. package/dist/core/parser.js.map +1 -0
  161. package/dist/core/path-utils.d.ts +193 -0
  162. package/dist/core/path-utils.d.ts.map +1 -0
  163. package/dist/core/path-utils.js +427 -0
  164. package/dist/core/path-utils.js.map +1 -0
  165. package/dist/core/program.d.ts +104 -0
  166. package/dist/core/program.d.ts.map +1 -0
  167. package/dist/core/program.js +898 -0
  168. package/dist/core/program.js.map +1 -0
  169. package/dist/core/projection-members.d.ts +8 -0
  170. package/dist/core/projection-members.d.ts.map +1 -0
  171. package/dist/core/projection-members.js +387 -0
  172. package/dist/core/projection-members.js.map +1 -0
  173. package/dist/core/projector.d.ts +26 -0
  174. package/dist/core/projector.d.ts.map +1 -0
  175. package/dist/core/projector.js +523 -0
  176. package/dist/core/projector.js.map +1 -0
  177. package/dist/core/scanner.d.ts +125 -0
  178. package/dist/core/scanner.d.ts.map +1 -0
  179. package/dist/core/scanner.js +1012 -0
  180. package/dist/core/scanner.js.map +1 -0
  181. package/dist/core/schema-validator.d.ts +6 -0
  182. package/dist/core/schema-validator.d.ts.map +1 -0
  183. package/dist/core/schema-validator.js +38 -0
  184. package/dist/core/schema-validator.js.map +1 -0
  185. package/dist/core/semantic-walker.d.ts +53 -0
  186. package/dist/core/semantic-walker.d.ts.map +1 -0
  187. package/dist/core/semantic-walker.js +355 -0
  188. package/dist/core/semantic-walker.js.map +1 -0
  189. package/dist/core/type-utils.d.ts +49 -0
  190. package/dist/core/type-utils.d.ts.map +1 -0
  191. package/dist/core/type-utils.js +95 -0
  192. package/dist/core/type-utils.js.map +1 -0
  193. package/dist/core/types.d.ts +1345 -0
  194. package/dist/core/types.d.ts.map +1 -0
  195. package/dist/core/types.js +105 -0
  196. package/dist/core/types.js.map +1 -0
  197. package/dist/core/util.d.ts +150 -0
  198. package/dist/core/util.d.ts.map +1 -0
  199. package/dist/core/util.js +417 -0
  200. package/dist/core/util.js.map +1 -0
  201. package/dist/emitter-framework/asset-emitter.d.ts +5 -0
  202. package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
  203. package/dist/emitter-framework/asset-emitter.js +610 -0
  204. package/dist/emitter-framework/asset-emitter.js.map +1 -0
  205. package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
  206. package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
  207. package/dist/emitter-framework/builders/array-builder.js +45 -0
  208. package/dist/emitter-framework/builders/array-builder.js.map +1 -0
  209. package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
  210. package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
  211. package/dist/emitter-framework/builders/object-builder.js +30 -0
  212. package/dist/emitter-framework/builders/object-builder.js.map +1 -0
  213. package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
  214. package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
  215. package/dist/emitter-framework/builders/string-builder.js +98 -0
  216. package/dist/emitter-framework/builders/string-builder.js.map +1 -0
  217. package/dist/emitter-framework/custom-key-map.d.ts +29 -0
  218. package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
  219. package/dist/emitter-framework/custom-key-map.js +62 -0
  220. package/dist/emitter-framework/custom-key-map.js.map +1 -0
  221. package/dist/emitter-framework/index.d.ts +8 -0
  222. package/dist/emitter-framework/index.d.ts.map +1 -0
  223. package/dist/emitter-framework/index.js +8 -0
  224. package/dist/emitter-framework/index.js.map +1 -0
  225. package/dist/emitter-framework/placeholder.d.ts +12 -0
  226. package/dist/emitter-framework/placeholder.d.ts.map +1 -0
  227. package/dist/emitter-framework/placeholder.js +27 -0
  228. package/dist/emitter-framework/placeholder.js.map +1 -0
  229. package/dist/emitter-framework/type-emitter.d.ts +314 -0
  230. package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
  231. package/dist/emitter-framework/type-emitter.js +612 -0
  232. package/dist/emitter-framework/type-emitter.js.map +1 -0
  233. package/dist/emitter-framework/types.d.ts +124 -0
  234. package/dist/emitter-framework/types.d.ts.map +1 -0
  235. package/dist/emitter-framework/types.js +39 -0
  236. package/dist/emitter-framework/types.js.map +1 -0
  237. package/dist/formatter/index.d.ts +11 -0
  238. package/dist/formatter/index.d.ts.map +1 -0
  239. package/dist/formatter/index.js +28 -0
  240. package/dist/formatter/index.js.map +1 -0
  241. package/dist/formatter/parser.d.ts +16 -0
  242. package/dist/formatter/parser.d.ts.map +1 -0
  243. package/dist/formatter/parser.js +23 -0
  244. package/dist/formatter/parser.js.map +1 -0
  245. package/dist/formatter/print/comment-handler.d.ts +7 -0
  246. package/dist/formatter/print/comment-handler.d.ts.map +1 -0
  247. package/dist/formatter/print/comment-handler.js +81 -0
  248. package/dist/formatter/print/comment-handler.js.map +1 -0
  249. package/dist/formatter/print/index.d.ts +3 -0
  250. package/dist/formatter/print/index.d.ts.map +1 -0
  251. package/dist/formatter/print/index.js +3 -0
  252. package/dist/formatter/print/index.js.map +1 -0
  253. package/dist/formatter/print/needs-parens.d.ts +10 -0
  254. package/dist/formatter/print/needs-parens.d.ts.map +1 -0
  255. package/dist/formatter/print/needs-parens.js +27 -0
  256. package/dist/formatter/print/needs-parens.js.map +1 -0
  257. package/dist/formatter/print/printer.d.ts +62 -0
  258. package/dist/formatter/print/printer.d.ts.map +1 -0
  259. package/dist/formatter/print/printer.js +1025 -0
  260. package/dist/formatter/print/printer.js.map +1 -0
  261. package/dist/formatter/print/types.d.ts +9 -0
  262. package/dist/formatter/print/types.d.ts.map +1 -0
  263. package/dist/formatter/print/types.js +2 -0
  264. package/dist/formatter/print/types.js.map +1 -0
  265. package/dist/init/index.d.ts +2 -0
  266. package/dist/init/index.d.ts.map +1 -0
  267. package/dist/init/index.js +2 -0
  268. package/dist/init/index.js.map +1 -0
  269. package/dist/init/init-template.d.ts +45 -0
  270. package/dist/init/init-template.d.ts.map +1 -0
  271. package/dist/init/init-template.js +45 -0
  272. package/dist/init/init-template.js.map +1 -0
  273. package/dist/init/init.d.ts +49 -0
  274. package/dist/init/init.d.ts.map +1 -0
  275. package/dist/init/init.js +224 -0
  276. package/dist/init/init.js.map +1 -0
  277. package/dist/lib/decorators.d.ts +222 -0
  278. package/dist/lib/decorators.d.ts.map +1 -0
  279. package/dist/lib/decorators.js +745 -0
  280. package/dist/lib/decorators.js.map +1 -0
  281. package/dist/lib/service.d.ts +38 -0
  282. package/dist/lib/service.d.ts.map +1 -0
  283. package/dist/lib/service.js +78 -0
  284. package/dist/lib/service.js.map +1 -0
  285. package/dist/manifest.js +4 -0
  286. package/dist/server/completion.d.ts +10 -0
  287. package/dist/server/completion.d.ts.map +1 -0
  288. package/dist/server/completion.js +207 -0
  289. package/dist/server/completion.js.map +1 -0
  290. package/dist/server/index.d.ts +3 -0
  291. package/dist/server/index.d.ts.map +1 -0
  292. package/dist/server/index.js +3 -0
  293. package/dist/server/index.js.map +1 -0
  294. package/dist/server/language-config.d.ts +195 -0
  295. package/dist/server/language-config.d.ts.map +1 -0
  296. package/dist/server/language-config.js +102 -0
  297. package/dist/server/language-config.js.map +1 -0
  298. package/dist/server/server.d.ts +2 -0
  299. package/dist/server/server.d.ts.map +1 -0
  300. package/dist/server/server.js +131 -0
  301. package/dist/server/server.js.map +1 -0
  302. package/dist/server/serverlib.d.ts +72 -0
  303. package/dist/server/serverlib.d.ts.map +1 -0
  304. package/dist/server/serverlib.js +1034 -0
  305. package/dist/server/serverlib.js.map +1 -0
  306. package/dist/server/symbol-structure.d.ts +4 -0
  307. package/dist/server/symbol-structure.d.ts.map +1 -0
  308. package/dist/server/symbol-structure.js +121 -0
  309. package/dist/server/symbol-structure.js.map +1 -0
  310. package/dist/server/tmlanguage.d.ts +3 -0
  311. package/dist/server/tmlanguage.d.ts.map +1 -0
  312. package/dist/server/tmlanguage.js +713 -0
  313. package/dist/server/tmlanguage.js.map +1 -0
  314. package/dist/server/type-details.d.ts +11 -0
  315. package/dist/server/type-details.d.ts.map +1 -0
  316. package/dist/server/type-details.js +72 -0
  317. package/dist/server/type-details.js.map +1 -0
  318. package/dist/server/type-signature.d.ts +2 -0
  319. package/dist/server/type-signature.d.ts.map +1 -0
  320. package/dist/server/type-signature.js +108 -0
  321. package/dist/server/type-signature.js.map +1 -0
  322. package/dist/testing/expect.d.ts +49 -0
  323. package/dist/testing/expect.d.ts.map +1 -0
  324. package/dist/testing/expect.js +83 -0
  325. package/dist/testing/expect.js.map +1 -0
  326. package/dist/testing/index.d.ts +6 -0
  327. package/dist/testing/index.d.ts.map +1 -0
  328. package/dist/testing/index.js +6 -0
  329. package/dist/testing/index.js.map +1 -0
  330. package/dist/testing/test-host.d.ts +14 -0
  331. package/dist/testing/test-host.d.ts.map +1 -0
  332. package/dist/testing/test-host.js +271 -0
  333. package/dist/testing/test-host.js.map +1 -0
  334. package/dist/testing/test-server-host.d.ts +39 -0
  335. package/dist/testing/test-server-host.d.ts.map +1 -0
  336. package/dist/testing/test-server-host.js +112 -0
  337. package/dist/testing/test-server-host.js.map +1 -0
  338. package/dist/testing/test-utils.d.ts +22 -0
  339. package/dist/testing/test-utils.d.ts.map +1 -0
  340. package/dist/testing/test-utils.js +60 -0
  341. package/dist/testing/test-utils.js.map +1 -0
  342. package/dist/testing/types.d.ts +69 -0
  343. package/dist/testing/types.d.ts.map +1 -0
  344. package/dist/testing/types.js +7 -0
  345. package/dist/testing/types.js.map +1 -0
  346. package/dist/typespec.tmLanguage +1760 -0
  347. package/lib/decorators.tsp +420 -0
  348. package/lib/lib.tsp +158 -0
  349. package/lib/main.tsp +4 -0
  350. package/lib/projected-names.tsp +94 -0
  351. package/lib/reflection.tsp +10 -0
  352. package/package.json +119 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # TypeSpec compiler and CLI
2
+
3
+ This package implements the core of the [TypeSpec](https://github.com/microsoft/typespec)
4
+ compiler and its command-line interface.
5
+
6
+ ## See also
7
+
8
+ - [TypeSpec Getting Started](https://github.com/microsoft/typespec#getting-started)
9
+ - [TypeSpec Website](https://microsoft.github.io/typespec)
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { runScript } from "../dist/cmd/runner.js";
3
+ await runScript("entrypoints/server.js", "dist/server/server.js");
package/cmd/tsp.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { runScript } from "../dist/cmd/runner.js";
3
+ await runScript("entrypoints/cli.js", "dist/core/cli/cli.js");
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Run script given by relative path from @typespec/compiler package root.
3
+ * Prefer local install resolved from cwd over current package.
4
+ *
5
+ * Prevents loading two conflicting copies of TypeSpec modules from global and
6
+ * local package locations.
7
+ */
8
+ export declare function runScript(relativePath: string, backupPath: string): Promise<void>;
9
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../cmd/runner.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF"}
@@ -0,0 +1,62 @@
1
+ import { access, readFile, realpath, stat } from "fs/promises";
2
+ import { join, resolve } from "path";
3
+ import { fileURLToPath, pathToFileURL } from "url";
4
+ import { resolveModule } from "../core/module-resolver.js";
5
+ /**
6
+ * Run script given by relative path from @typespec/compiler package root.
7
+ * Prefer local install resolved from cwd over current package.
8
+ *
9
+ * Prevents loading two conflicting copies of TypeSpec modules from global and
10
+ * local package locations.
11
+ */
12
+ export async function runScript(relativePath, backupPath) {
13
+ const packageRoot = await resolvePackageRoot();
14
+ if (packageRoot) {
15
+ let script = join(packageRoot, relativePath);
16
+ if (!(await checkFileExists(script)) && backupPath) {
17
+ script = join(packageRoot, backupPath);
18
+ }
19
+ const scriptUrl = pathToFileURL(script).toString();
20
+ await import(scriptUrl);
21
+ }
22
+ else {
23
+ throw new Error("Couldn't resolve TypeSpec compiler root. This is unexpected. Please file an issue at https://github.com/Microsoft/typespec.");
24
+ }
25
+ }
26
+ function checkFileExists(file) {
27
+ return access(file)
28
+ .then(() => true)
29
+ .catch(() => false);
30
+ }
31
+ async function resolvePackageRoot() {
32
+ if (process.env.TYPESPEC_SKIP_COMPILER_RESOLVE === "1") {
33
+ return await getThisPackageRoot();
34
+ }
35
+ try {
36
+ const host = {
37
+ realpath,
38
+ readFile: async (path) => await readFile(path, "utf-8"),
39
+ stat,
40
+ };
41
+ const resolved = await resolveModule(host, "@typespec/compiler", {
42
+ baseDir: process.cwd(),
43
+ });
44
+ if (resolved.type !== "module") {
45
+ throw new Error(`Error resolving "@typespec/compiler", expected to find a node module but found a file: "${resolved.path}".`);
46
+ }
47
+ return resolved.path;
48
+ }
49
+ catch (err) {
50
+ if (err.code === "MODULE_NOT_FOUND") {
51
+ // Resolution from cwd failed: use current package.
52
+ return await getThisPackageRoot();
53
+ }
54
+ else {
55
+ throw err;
56
+ }
57
+ }
58
+ }
59
+ async function getThisPackageRoot() {
60
+ return resolve(await realpath(fileURLToPath(import.meta.url)), "../../..");
61
+ }
62
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../cmd/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,aAAa,EAAqB,MAAM,4BAA4B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB,EAAE,UAAkB;IACtE,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE/C,IAAI,WAAW,EAAE;QACf,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,UAAU,EAAE;YAClD,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACxC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;KACzB;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;KACH;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC;SAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,EAAE;QACtD,OAAO,MAAM,kBAAkB,EAAE,CAAC;KACnC;IAED,IAAI;QACF,MAAM,IAAI,GAAsB;YAC9B,QAAQ;YACR,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/D,IAAI;SACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,KAAK,CACb,2FAA2F,QAAQ,CAAC,IAAI,IAAI,CAC7G,CAAC;SACH;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACnC,mDAAmD;YACnD,OAAO,MAAM,kBAAkB,EAAE,CAAC;SACnC;aAAM;YACL,MAAM,GAAG,CAAC;SACX;KACF;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,OAAO,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Diagnostic } from "../core/types.js";
2
+ import { TypeSpecConfig } from "./types.js";
3
+ export interface ExpandConfigOptions {
4
+ readonly cwd: string;
5
+ readonly outputDir?: string;
6
+ readonly env?: Record<string, string | undefined>;
7
+ readonly args?: Record<string, string>;
8
+ }
9
+ export declare function expandConfigVariables(config: TypeSpecConfig, expandOptions: ExpandConfigOptions): [TypeSpecConfig, readonly Diagnostic[]];
10
+ export declare function resolveValues<T extends Record<string, unknown>>(values: T, predefinedVariables?: Record<string, string | Record<string, string>>): [T, readonly Diagnostic[]];
11
+ //# sourceMappingURL=config-interpolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-interpolation.d.ts","sourceRoot":"","sources":["../../config/config-interpolation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAY,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAIL,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,mBAAmB,GACjC,CAAC,cAAc,EAAE,SAAS,UAAU,EAAE,CAAC,CA6BzC;AA0CD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,MAAM,EAAE,CAAC,EACT,mBAAmB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GACxE,CAAC,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC,CA8D5B"}
@@ -0,0 +1,109 @@
1
+ import { createDiagnosticCollector, ignoreDiagnostics } from "../core/diagnostics.js";
2
+ import { createDiagnostic } from "../core/messages.js";
3
+ import { NoTarget } from "../core/types.js";
4
+ export function expandConfigVariables(config, expandOptions) {
5
+ var _a;
6
+ const diagnostics = createDiagnosticCollector();
7
+ const builtInVars = {
8
+ "project-root": config.projectRoot,
9
+ cwd: expandOptions.cwd,
10
+ };
11
+ const commonVars = {
12
+ ...builtInVars,
13
+ ...diagnostics.pipe(resolveArgs(config.parameters, expandOptions.args, builtInVars)),
14
+ env: diagnostics.pipe(resolveArgs(config.environmentVariables, expandOptions.env, builtInVars, true)),
15
+ };
16
+ const outputDir = diagnostics.pipe(resolveValue((_a = expandOptions.outputDir) !== null && _a !== void 0 ? _a : config.outputDir, commonVars));
17
+ const result = { ...config, outputDir };
18
+ if (config.options) {
19
+ const options = {};
20
+ for (const [name, emitterOptions] of Object.entries(config.options)) {
21
+ const emitterVars = { ...commonVars, "output-dir": outputDir, "emitter-name": name };
22
+ options[name] = diagnostics.pipe(resolveValues(emitterOptions, emitterVars));
23
+ }
24
+ result.options = options;
25
+ }
26
+ return diagnostics.wrap(result);
27
+ }
28
+ function resolveArgs(declarations, args, predefinedVariables, allowUnspecified = false) {
29
+ var _a;
30
+ const unmatchedArgs = new Set(Object.keys(args !== null && args !== void 0 ? args : {}));
31
+ const result = {};
32
+ if (declarations !== undefined) {
33
+ for (const [name, definition] of Object.entries(declarations)) {
34
+ unmatchedArgs.delete(name);
35
+ result[name] = ignoreDiagnostics(resolveValue((_a = args === null || args === void 0 ? void 0 : args[name]) !== null && _a !== void 0 ? _a : definition.default, predefinedVariables));
36
+ }
37
+ }
38
+ if (!allowUnspecified) {
39
+ const diagnostics = [...unmatchedArgs].map((unmatchedArg) => {
40
+ return createDiagnostic({
41
+ code: "config-invalid-argument",
42
+ format: { name: unmatchedArg },
43
+ target: NoTarget,
44
+ });
45
+ });
46
+ return [result, diagnostics];
47
+ }
48
+ return [result, []];
49
+ }
50
+ const VariableInterpolationRegex = /{([a-zA-Z-_.]+)}/g;
51
+ function resolveValue(value, predefinedVariables) {
52
+ const [result, diagnostics] = resolveValues({ value }, predefinedVariables);
53
+ return [result.value, diagnostics];
54
+ }
55
+ export function resolveValues(values, predefinedVariables = {}) {
56
+ const diagnostics = [];
57
+ const resolvedValues = {};
58
+ const resolvingValues = new Set();
59
+ function resolveValue(key) {
60
+ resolvingValues.add(key);
61
+ const value = values[key];
62
+ if (!(typeof value === "string")) {
63
+ return value;
64
+ }
65
+ return value.replace(VariableInterpolationRegex, (match, expression) => {
66
+ var _a;
67
+ return (_a = resolveExpression(expression)) !== null && _a !== void 0 ? _a : `{${expression}}`;
68
+ });
69
+ }
70
+ function resolveExpression(expression) {
71
+ if (expression in resolvedValues) {
72
+ return resolvedValues[expression];
73
+ }
74
+ if (resolvingValues.has(expression)) {
75
+ diagnostics.push(createDiagnostic({
76
+ code: "config-circular-variable",
77
+ target: NoTarget,
78
+ format: { name: expression },
79
+ }));
80
+ return undefined;
81
+ }
82
+ if (expression in values) {
83
+ return resolveValue(expression);
84
+ }
85
+ const segments = expression.split(".");
86
+ let resolved = predefinedVariables;
87
+ for (const segment of segments) {
88
+ resolved = resolved[segment];
89
+ if (resolved === undefined) {
90
+ return undefined;
91
+ }
92
+ }
93
+ if (typeof resolved === "string") {
94
+ return resolved;
95
+ }
96
+ else {
97
+ return undefined;
98
+ }
99
+ }
100
+ for (const key of Object.keys(values)) {
101
+ resolvingValues.clear();
102
+ if (key in resolvedValues) {
103
+ continue;
104
+ }
105
+ resolvedValues[key] = resolveValue(key);
106
+ }
107
+ return [resolvedValues, diagnostics];
108
+ }
109
+ //# sourceMappingURL=config-interpolation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-interpolation.js","sourceRoot":"","sources":["../../config/config-interpolation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CompilerHost, Diagnostic } from "../core/types.js";
2
+ import { TypeSpecConfig } from "./types.js";
3
+ export declare const OldTypeSpecConfigFilename = "cadl-project.yaml";
4
+ export declare const TypeSpecConfigFilename = "tspconfig.yaml";
5
+ export declare const defaultConfig: {
6
+ outputDir: string;
7
+ diagnostics: Diagnostic[];
8
+ };
9
+ /**
10
+ * Look for the project root by looking up until a `tspconfig.yaml` is found.
11
+ * @param path Path to start looking
12
+ */
13
+ export declare function findTypeSpecConfigPath(host: CompilerHost, path: string): Promise<string | undefined>;
14
+ /**
15
+ * Load the typespec configuration for the provided directory
16
+ * @param host
17
+ * @param directoryPath
18
+ */
19
+ export declare function loadTypeSpecConfigForPath(host: CompilerHost, directoryPath: string): Promise<TypeSpecConfig>;
20
+ /**
21
+ * Load given file as a TypeSpec configuration
22
+ */
23
+ export declare function loadTypeSpecConfigFile(host: CompilerHost, filePath: string): Promise<TypeSpecConfig>;
24
+ export declare function validateConfigPathsAbsolute(config: TypeSpecConfig): readonly Diagnostic[];
25
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../config/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAY,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,eAAO,MAAM,aAAa;;;CAGxB,CAAC;AAEH;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAqFD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAkBzF"}
@@ -0,0 +1,182 @@
1
+ import jsyaml from "js-yaml";
2
+ import { createDiagnostic } from "../core/messages.js";
3
+ import { getDirectoryPath, isPathAbsolute, joinPaths, resolvePath } from "../core/path-utils.js";
4
+ import { createJSONSchemaValidator } from "../core/schema-validator.js";
5
+ import { NoTarget } from "../core/types.js";
6
+ import { deepClone, deepFreeze, doIO, loadFile, omitUndefined } from "../core/util.js";
7
+ import { TypeSpecConfigJsonSchema } from "./config-schema.js";
8
+ export const OldTypeSpecConfigFilename = "cadl-project.yaml";
9
+ export const TypeSpecConfigFilename = "tspconfig.yaml";
10
+ export const defaultConfig = deepFreeze({
11
+ outputDir: "{cwd}/tsp-output",
12
+ diagnostics: [],
13
+ });
14
+ /**
15
+ * Look for the project root by looking up until a `tspconfig.yaml` is found.
16
+ * @param path Path to start looking
17
+ */
18
+ export async function findTypeSpecConfigPath(host, path) {
19
+ let current = path;
20
+ while (true) {
21
+ let pkgPath = await searchConfigFile(host, current, TypeSpecConfigFilename);
22
+ if (pkgPath === undefined) {
23
+ pkgPath = await searchConfigFile(host, current, OldTypeSpecConfigFilename);
24
+ }
25
+ // if found either file in current folder, return it
26
+ if (pkgPath !== undefined) {
27
+ return pkgPath;
28
+ }
29
+ const parent = getDirectoryPath(current);
30
+ if (parent === current) {
31
+ return undefined;
32
+ }
33
+ current = parent;
34
+ }
35
+ }
36
+ /**
37
+ * Load the typespec configuration for the provided directory
38
+ * @param host
39
+ * @param directoryPath
40
+ */
41
+ export async function loadTypeSpecConfigForPath(host, directoryPath) {
42
+ const typespecConfigPath = await findTypeSpecConfigPath(host, directoryPath);
43
+ if (typespecConfigPath === undefined) {
44
+ return { ...deepClone(defaultConfig), projectRoot: directoryPath };
45
+ }
46
+ const tsConfig = await loadTypeSpecConfigFile(host, typespecConfigPath);
47
+ // Add diagnostics if still using cadl-project.yaml
48
+ if (typespecConfigPath.endsWith(OldTypeSpecConfigFilename)) {
49
+ tsConfig.diagnostics.push(createDiagnostic({
50
+ code: "deprecated",
51
+ format: {
52
+ message: "`cadl-project.yaml` is deprecated. Please rename to `tspconfig.yaml`.",
53
+ },
54
+ target: NoTarget,
55
+ }));
56
+ }
57
+ return tsConfig;
58
+ }
59
+ /**
60
+ * Load given file as a TypeSpec configuration
61
+ */
62
+ export async function loadTypeSpecConfigFile(host, filePath) {
63
+ const config = await loadConfigFile(host, filePath, jsyaml.load);
64
+ if (config.diagnostics.length === 0 && config.extends) {
65
+ const extendPath = resolvePath(getDirectoryPath(filePath), config.extends);
66
+ const parent = await loadTypeSpecConfigFile(host, extendPath);
67
+ // Add diagnostics if still using cadl-project.yaml
68
+ if (filePath.endsWith(OldTypeSpecConfigFilename)) {
69
+ parent.diagnostics.push(createDiagnostic({
70
+ code: "deprecated",
71
+ format: {
72
+ message: "`cadl-project.yaml` is deprecated. Please rename to `tspconfig.yaml`.",
73
+ },
74
+ target: NoTarget,
75
+ }));
76
+ }
77
+ if (parent.diagnostics.length > 0) {
78
+ return {
79
+ ...config,
80
+ diagnostics: parent.diagnostics,
81
+ };
82
+ }
83
+ return {
84
+ ...parent,
85
+ ...config,
86
+ };
87
+ }
88
+ return {
89
+ ...deepClone(defaultConfig),
90
+ ...config,
91
+ };
92
+ }
93
+ const configValidator = createJSONSchemaValidator(TypeSpecConfigJsonSchema);
94
+ async function searchConfigFile(host, path, filename) {
95
+ const pkgPath = joinPaths(path, filename);
96
+ const stat = await doIO(() => host.stat(pkgPath), pkgPath, () => { });
97
+ return (stat === null || stat === void 0 ? void 0 : stat.isFile()) === true ? pkgPath : undefined;
98
+ }
99
+ async function loadConfigFile(host, filename, loadData) {
100
+ var _a;
101
+ let diagnostics = [];
102
+ const reportDiagnostic = (d) => diagnostics.push(d);
103
+ let [data, file] = await loadFile(host, filename, loadData, reportDiagnostic);
104
+ if (data) {
105
+ diagnostics = diagnostics.concat(configValidator.validate(data, file));
106
+ }
107
+ if (!data || diagnostics.length > 0) {
108
+ // NOTE: Don't trust the data if there are errors and use default
109
+ // config. Otherwise, we may return an object that does not conform to
110
+ // TypeSpecConfig's typing.
111
+ data = deepClone(defaultConfig);
112
+ }
113
+ let emit = data.emit;
114
+ let options = data.options;
115
+ // @deprecated Legacy backward compatibility of emitters option. To remove March Sprint.
116
+ if (data.emitters) {
117
+ diagnostics.push(createDiagnostic({
118
+ code: "deprecated",
119
+ format: {
120
+ message: "`emitters` options in tspconfig.yaml is deprecated use `emit` and `options` instead.",
121
+ },
122
+ target: NoTarget,
123
+ }));
124
+ emit = [];
125
+ options = {};
126
+ for (const [name, emitterOptions] of Object.entries(data.emitters)) {
127
+ if (emitterOptions === true) {
128
+ emit.push(name);
129
+ options[name] = {};
130
+ }
131
+ else if (emitterOptions === false) {
132
+ }
133
+ else {
134
+ emit.push(name);
135
+ options[name] = emitterOptions;
136
+ }
137
+ }
138
+ }
139
+ return omitUndefined({
140
+ projectRoot: getDirectoryPath(filename),
141
+ filename,
142
+ diagnostics,
143
+ extends: data.extends,
144
+ environmentVariables: data["environment-variables"],
145
+ parameters: data.parameters,
146
+ outputDir: (_a = data["output-dir"]) !== null && _a !== void 0 ? _a : "{cwd}/tsp-output",
147
+ warnAsError: data["warn-as-error"],
148
+ imports: data.imports,
149
+ trace: typeof data.trace === "string" ? [data.trace] : data.trace,
150
+ emit,
151
+ options,
152
+ });
153
+ }
154
+ export function validateConfigPathsAbsolute(config) {
155
+ var _a;
156
+ const diagnostics = [];
157
+ function checkPath(value) {
158
+ if (value === undefined) {
159
+ return;
160
+ }
161
+ const diagnostic = validatePathAbsolute(value);
162
+ if (diagnostic) {
163
+ diagnostics.push(diagnostic);
164
+ }
165
+ }
166
+ checkPath(config.outputDir);
167
+ for (const emitterOptions of Object.values((_a = config.options) !== null && _a !== void 0 ? _a : {})) {
168
+ checkPath(emitterOptions["emitter-output-dir"]);
169
+ }
170
+ return diagnostics;
171
+ }
172
+ function validatePathAbsolute(path) {
173
+ if (path.startsWith(".") || !isPathAbsolute(path)) {
174
+ return createDiagnostic({
175
+ code: "config-path-absolute",
176
+ format: { path },
177
+ target: NoTarget,
178
+ });
179
+ }
180
+ return undefined;
181
+ }
182
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { JSONSchemaType } from "ajv";
2
+ import { TypeSpecRawConfig } from "./types.js";
3
+ export declare const TypeSpecConfigJsonSchema: JSONSchemaType<TypeSpecRawConfig>;
4
+ //# sourceMappingURL=config-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAkB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAW/D,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,iBAAiB,CA2EtE,CAAC"}
@@ -0,0 +1,84 @@
1
+ const emitterOptionsSchema = {
2
+ type: "object",
3
+ additionalProperties: true,
4
+ required: [],
5
+ properties: {
6
+ "emitter-output-dir": { type: "string", nullable: true },
7
+ },
8
+ };
9
+ export const TypeSpecConfigJsonSchema = {
10
+ type: "object",
11
+ additionalProperties: false,
12
+ properties: {
13
+ extends: {
14
+ type: "string",
15
+ nullable: true,
16
+ },
17
+ "environment-variables": {
18
+ type: "object",
19
+ nullable: true,
20
+ required: [],
21
+ additionalProperties: {
22
+ type: "object",
23
+ properties: {
24
+ default: { type: "string" },
25
+ },
26
+ required: ["default"],
27
+ },
28
+ },
29
+ parameters: {
30
+ type: "object",
31
+ nullable: true,
32
+ required: [],
33
+ additionalProperties: {
34
+ type: "object",
35
+ properties: {
36
+ default: { type: "string" },
37
+ },
38
+ required: ["default"],
39
+ },
40
+ },
41
+ "output-dir": {
42
+ type: "string",
43
+ nullable: true,
44
+ },
45
+ "warn-as-error": {
46
+ type: "boolean",
47
+ nullable: true,
48
+ },
49
+ trace: {
50
+ oneOf: [
51
+ { type: "string" },
52
+ {
53
+ type: "array",
54
+ items: { type: "string" },
55
+ },
56
+ ],
57
+ },
58
+ imports: {
59
+ type: "array",
60
+ nullable: true,
61
+ items: { type: "string" },
62
+ },
63
+ emit: {
64
+ type: "array",
65
+ nullable: true,
66
+ items: { type: "string" },
67
+ },
68
+ options: {
69
+ type: "object",
70
+ nullable: true,
71
+ required: [],
72
+ additionalProperties: emitterOptionsSchema,
73
+ },
74
+ emitters: {
75
+ type: "object",
76
+ nullable: true,
77
+ required: [],
78
+ additionalProperties: {
79
+ oneOf: [{ type: "boolean" }, emitterOptionsSchema],
80
+ },
81
+ },
82
+ },
83
+ };
84
+ //# sourceMappingURL=config-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../config/config-schema.ts"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAAmC;IAC3D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAS;KAChE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAsC;IACzE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,uBAAuB,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QAED,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClB;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACK;QACR,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,oBAAoB;SAC3C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;gBACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,CAAC;aACnD;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./config-loader.js";
2
+ export * from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./config-loader.js";
2
+ export * from "./types.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}