@typespec/compiler 0.52.0-dev.9 → 0.52.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 (140) hide show
  1. package/dist/.scripts/build-init-templates.js +11 -1
  2. package/dist/.scripts/build-init-templates.js.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/checker.d.ts.map +1 -1
  5. package/dist/src/core/checker.js +5 -2
  6. package/dist/src/core/checker.js.map +1 -1
  7. package/dist/src/core/index.d.ts +1 -1
  8. package/dist/src/core/index.d.ts.map +1 -1
  9. package/dist/src/core/index.js +1 -1
  10. package/dist/src/core/index.js.map +1 -1
  11. package/dist/src/core/library.d.ts +2 -2
  12. package/dist/src/core/library.d.ts.map +1 -1
  13. package/dist/src/core/library.js +1 -15
  14. package/dist/src/core/library.js.map +1 -1
  15. package/dist/src/core/messages.d.ts +61 -2
  16. package/dist/src/core/messages.d.ts.map +1 -1
  17. package/dist/src/core/messages.js +20 -1
  18. package/dist/src/core/messages.js.map +1 -1
  19. package/dist/src/core/mime-type.d.ts +7 -0
  20. package/dist/src/core/mime-type.d.ts.map +1 -0
  21. package/dist/src/core/mime-type.js +19 -0
  22. package/dist/src/core/mime-type.js.map +1 -0
  23. package/dist/src/core/node-host.d.ts +1 -0
  24. package/dist/src/core/node-host.d.ts.map +1 -1
  25. package/dist/src/core/node-host.js +18 -5
  26. package/dist/src/core/node-host.js.map +1 -1
  27. package/dist/src/core/param-message.d.ts +3 -0
  28. package/dist/src/core/param-message.d.ts.map +1 -0
  29. package/dist/src/core/param-message.js +16 -0
  30. package/dist/src/core/param-message.js.map +1 -0
  31. package/dist/src/core/program.d.ts.map +1 -1
  32. package/dist/src/core/program.js +25 -14
  33. package/dist/src/core/program.js.map +1 -1
  34. package/dist/src/core/util.d.ts +1 -2
  35. package/dist/src/core/util.d.ts.map +1 -1
  36. package/dist/src/core/util.js +2 -3
  37. package/dist/src/core/util.js.map +1 -1
  38. package/dist/src/init/core-templates.d.ts.map +1 -1
  39. package/dist/src/init/core-templates.js +2 -3
  40. package/dist/src/init/core-templates.js.map +1 -1
  41. package/dist/src/init/init.d.ts.map +1 -1
  42. package/dist/src/init/init.js +3 -4
  43. package/dist/src/init/init.js.map +1 -1
  44. package/dist/src/lib/decorators.d.ts +2 -1
  45. package/dist/src/lib/decorators.d.ts.map +1 -1
  46. package/dist/src/lib/decorators.js +1 -0
  47. package/dist/src/lib/decorators.js.map +1 -1
  48. package/dist/src/lib/encoded-names.d.ts +30 -0
  49. package/dist/src/lib/encoded-names.d.ts.map +1 -0
  50. package/dist/src/lib/encoded-names.js +132 -0
  51. package/dist/src/lib/encoded-names.js.map +1 -0
  52. package/dist/src/manifest.d.ts.map +1 -1
  53. package/dist/src/manifest.js +10 -3
  54. package/dist/src/manifest.js.map +1 -1
  55. package/dist/src/server/classify.d.ts +8 -0
  56. package/dist/src/server/classify.d.ts.map +1 -0
  57. package/dist/src/server/classify.js +310 -0
  58. package/dist/src/server/classify.js.map +1 -0
  59. package/dist/src/server/compile-service.d.ts +42 -0
  60. package/dist/src/server/compile-service.d.ts.map +1 -0
  61. package/dist/src/server/compile-service.js +163 -0
  62. package/dist/src/server/compile-service.js.map +1 -0
  63. package/dist/src/server/completion.js +1 -1
  64. package/dist/src/server/completion.js.map +1 -1
  65. package/dist/src/server/constants.d.ts +7 -0
  66. package/dist/src/server/constants.d.ts.map +1 -0
  67. package/dist/src/server/constants.js +13 -0
  68. package/dist/src/server/constants.js.map +1 -0
  69. package/dist/src/server/file-service.d.ts +18 -0
  70. package/dist/src/server/file-service.d.ts.map +1 -0
  71. package/dist/src/server/file-service.js +56 -0
  72. package/dist/src/server/file-service.js.map +1 -0
  73. package/dist/src/server/file-system-cache.d.ts +25 -0
  74. package/dist/src/server/file-system-cache.d.ts.map +1 -0
  75. package/dist/src/server/file-system-cache.js +27 -0
  76. package/dist/src/server/file-system-cache.js.map +1 -0
  77. package/dist/src/server/index.d.ts +2 -1
  78. package/dist/src/server/index.d.ts.map +1 -1
  79. package/dist/src/server/index.js +2 -1
  80. package/dist/src/server/index.js.map +1 -1
  81. package/dist/src/server/server.js.map +1 -1
  82. package/dist/src/server/serverlib.d.ts +1 -71
  83. package/dist/src/server/serverlib.d.ts.map +1 -1
  84. package/dist/src/server/serverlib.js +115 -622
  85. package/dist/src/server/serverlib.js.map +1 -1
  86. package/dist/src/server/types.d.ts +76 -0
  87. package/dist/src/server/types.d.ts.map +1 -0
  88. package/dist/src/server/types.js +26 -0
  89. package/dist/src/server/types.js.map +1 -0
  90. package/dist/src/server/update-manager.d.ts +19 -0
  91. package/dist/src/server/update-manager.d.ts.map +1 -0
  92. package/dist/src/server/update-manager.js +70 -0
  93. package/dist/src/server/update-manager.js.map +1 -0
  94. package/dist/src/testing/test-host.js +2 -2
  95. package/dist/src/testing/test-host.js.map +1 -1
  96. package/dist/src/testing/test-utils.d.ts +2 -0
  97. package/dist/src/testing/test-utils.d.ts.map +1 -1
  98. package/dist/src/testing/test-utils.js +8 -3
  99. package/dist/src/testing/test-utils.js.map +1 -1
  100. package/dist/src/testing/types.d.ts +2 -2
  101. package/dist/src/testing/types.d.ts.map +1 -1
  102. package/lib/decorators.tsp +26 -0
  103. package/package.json +11 -12
  104. package/templates/__snapshots__/emitter-ts/src/testing/index.ts +1 -1
  105. package/templates/__snapshots__/emitter-ts/test/hello.test.ts +1 -1
  106. package/templates/__snapshots__/emitter-ts/test/test-host.ts +2 -2
  107. package/templates/__snapshots__/library-ts/.eslintrc.yml +14 -0
  108. package/templates/__snapshots__/library-ts/lib/decorators.tsp +12 -0
  109. package/templates/__snapshots__/library-ts/lib/main.tsp +1 -0
  110. package/templates/__snapshots__/library-ts/package.json +40 -0
  111. package/templates/__snapshots__/library-ts/prettierrc.yaml +8 -0
  112. package/templates/__snapshots__/library-ts/src/decorators.ts +33 -0
  113. package/templates/__snapshots__/library-ts/src/index.ts +2 -0
  114. package/templates/__snapshots__/library-ts/src/lib.ts +20 -0
  115. package/templates/__snapshots__/library-ts/src/linter.ts +14 -0
  116. package/templates/__snapshots__/library-ts/src/rules/no-interfaces.rule.ts +19 -0
  117. package/templates/{emitter-ts → __snapshots__/library-ts}/src/testing/index.ts +2 -2
  118. package/templates/__snapshots__/library-ts/test/decorators.test.ts +48 -0
  119. package/templates/__snapshots__/library-ts/test/rules/no-interfaces.rule.test.ts +29 -0
  120. package/templates/__snapshots__/library-ts/test/test-host.ts +17 -0
  121. package/templates/__snapshots__/library-ts/tsconfig.json +17 -0
  122. package/templates/emitter-ts/src/testing/index.ts.mu +8 -0
  123. package/templates/emitter-ts/test/hello.test.ts +1 -1
  124. package/templates/emitter-ts/test/test-host.ts.mu +2 -2
  125. package/templates/library-ts/.eslintrc.yml +14 -0
  126. package/templates/library-ts/lib/decorators.tsp.mu +12 -0
  127. package/templates/library-ts/lib/main.tsp +1 -0
  128. package/templates/library-ts/package.json +40 -0
  129. package/templates/library-ts/prettierrc.yaml +8 -0
  130. package/templates/library-ts/src/decorators.ts +33 -0
  131. package/templates/library-ts/src/index.ts +2 -0
  132. package/templates/library-ts/src/lib.ts +20 -0
  133. package/templates/library-ts/src/linter.ts +14 -0
  134. package/templates/library-ts/src/rules/no-interfaces.rule.ts +19 -0
  135. package/templates/library-ts/src/testing/index.ts.mu +8 -0
  136. package/templates/library-ts/test/decorators.test.ts.mu +48 -0
  137. package/templates/library-ts/test/rules/no-interfaces.rule.test.ts +29 -0
  138. package/templates/library-ts/test/test-host.ts.mu +17 -0
  139. package/templates/library-ts/tsconfig.json +17 -0
  140. package/templates/scaffolding.json +80 -4
@@ -19,12 +19,22 @@ const builtInTemplates = {
19
19
  emit: ["@typespec/openapi3"],
20
20
  },
21
21
  },
22
+ "library-ts": {
23
+ title: "TypeSpec Library (With TypeScript)",
24
+ description: "Create a new package to add decorators or linters to typespec.",
25
+ compilerVersion: minCompilerVersion,
26
+ libraries: [],
27
+ files: [
28
+ { destination: "main.tsp", skipGeneration: true },
29
+ { destination: "tspconfig.yaml", skipGeneration: true },
30
+ ...(await localDir("library-ts")),
31
+ ],
32
+ },
22
33
  "emitter-ts": {
23
34
  title: "TypeSpec Emitter (With TypeScript)",
24
35
  description: "Create a new package that will be emitting typespec",
25
36
  compilerVersion: minCompilerVersion,
26
37
  libraries: [],
27
- config: undefined,
28
38
  files: [
29
39
  { destination: "main.tsp", skipGeneration: true },
30
40
  { destination: "tspconfig.yaml", skipGeneration: true },
@@ -1 +1 @@
1
- {"version":3,"file":"build-init-templates.js","sourceRoot":"","sources":["../../.scripts/build-init-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACzE,CAAC;AACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;AAE3C,MAAM,gBAAgB,GAAiC;IACrD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,kBAAkB;KACpC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;QACrE,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,oBAAoB,CAAC;SAC7B;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,qDAAqD;QAClE,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE;YACL,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;YACjD,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE;YACvD,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,MAAM,SAAS,CACb,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,EACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1C,CAAC"}
1
+ {"version":3,"file":"build-init-templates.js","sourceRoot":"","sources":["../../.scripts/build-init-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACzE,CAAC;AACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;AAE3C,MAAM,gBAAgB,GAAiC;IACrD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,kBAAkB;KACpC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;QACrE,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,oBAAoB,CAAC;SAC7B;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,gEAAgE;QAC7E,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;YACjD,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE;YACvD,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,qDAAqD;QAClE,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;YACjD,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE;YACvD,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,MAAM,SAAS,CACb,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,EACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1C,CAAC"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.52.0-dev.9",
3
- "commit": "da99aa955b497c34cd6deb8f873fecd0d583c85b"
2
+ "version": "0.52.0",
3
+ "commit": "345cd594da49e008c5521b4d1d39240bf62a2a17"
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
@@ -666,7 +666,10 @@ export function createChecker(program) {
666
666
  }
667
667
  const [argNode, type] = init();
668
668
  if (param.constraint) {
669
- if (!checkTypeAssignable(type, param.constraint, argNode)) {
669
+ const constraint = param.constraint.kind === "TemplateParameter"
670
+ ? finalMap.get(param.constraint)
671
+ : param.constraint;
672
+ if (!checkTypeAssignable(type, constraint, argNode)) {
670
673
  // TODO-TIM check if we expose this below
671
674
  const effectiveType = ((_d = param.constraint) === null || _d === void 0 ? void 0 : _d.kind) === "Value" ? unknownType : param.constraint;
672
675
  commit(param, effectiveType);
@@ -4066,7 +4069,7 @@ export function createChecker(program) {
4066
4069
  return [Related.true, []];
4067
4070
  }
4068
4071
  }
4069
- if (source.kind === "TemplateParameter") {
4072
+ while (source.kind === "TemplateParameter" && source.constraint !== source) {
4070
4073
  source = (_a = source.constraint) !== null && _a !== void 0 ? _a : unknownType;
4071
4074
  }
4072
4075
  if (source === target)