@typespec/compiler 0.66.0-dev.13 → 0.66.0-dev.22

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 (69) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +1 -1
  2. package/dist/manifest.js +2 -2
  3. package/dist/src/core/checker.d.ts.map +1 -1
  4. package/dist/src/core/checker.js +39 -0
  5. package/dist/src/core/checker.js.map +1 -1
  6. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  7. package/dist/src/core/cli/actions/compile/compile.js +3 -0
  8. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  9. package/dist/src/core/cli/actions/info.js +2 -2
  10. package/dist/src/core/cli/actions/info.js.map +1 -1
  11. package/dist/src/core/cli/cli.js +0 -2
  12. package/dist/src/core/cli/cli.js.map +1 -1
  13. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts +6 -0
  14. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts.map +1 -0
  15. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js +45 -0
  16. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js.map +1 -0
  17. package/dist/src/core/helpers/index.d.ts +1 -1
  18. package/dist/src/core/helpers/index.d.ts.map +1 -1
  19. package/dist/src/core/helpers/index.js +1 -1
  20. package/dist/src/core/helpers/index.js.map +1 -1
  21. package/dist/src/core/install.d.ts +1 -1
  22. package/dist/src/core/install.d.ts.map +1 -1
  23. package/dist/src/core/install.js +22 -6
  24. package/dist/src/core/install.js.map +1 -1
  25. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts +2 -0
  26. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts.map +1 -0
  27. package/dist/src/core/linter-rules/unused-template-parameter.rule.js +36 -0
  28. package/dist/src/core/linter-rules/unused-template-parameter.rule.js.map +1 -0
  29. package/dist/src/core/linter-rules/unused-using.rule.d.ts +2 -0
  30. package/dist/src/core/linter-rules/unused-using.rule.d.ts.map +1 -0
  31. package/dist/src/core/linter-rules/unused-using.rule.js +38 -0
  32. package/dist/src/core/linter-rules/unused-using.rule.js.map +1 -0
  33. package/dist/src/core/linter.d.ts +0 -1
  34. package/dist/src/core/linter.d.ts.map +1 -1
  35. package/dist/src/core/linter.js +7 -39
  36. package/dist/src/core/linter.js.map +1 -1
  37. package/dist/src/core/messages.d.ts +15 -5
  38. package/dist/src/core/messages.d.ts.map +1 -1
  39. package/dist/src/core/messages.js +3 -1
  40. package/dist/src/core/messages.js.map +1 -1
  41. package/dist/src/init/file-templating.d.ts +2 -0
  42. package/dist/src/init/file-templating.d.ts.map +1 -1
  43. package/dist/src/init/file-templating.js +3 -0
  44. package/dist/src/init/file-templating.js.map +1 -1
  45. package/dist/src/init/init-template.d.ts +2 -0
  46. package/dist/src/init/init-template.d.ts.map +1 -1
  47. package/dist/src/init/init-template.js +1 -0
  48. package/dist/src/init/init-template.js.map +1 -1
  49. package/dist/src/init/init.d.ts +5 -2
  50. package/dist/src/init/init.d.ts.map +1 -1
  51. package/dist/src/init/init.js +158 -89
  52. package/dist/src/init/init.js.map +1 -1
  53. package/dist/src/init/prompts.d.ts +5 -0
  54. package/dist/src/init/prompts.d.ts.map +1 -0
  55. package/dist/src/init/prompts.js +16 -0
  56. package/dist/src/init/prompts.js.map +1 -0
  57. package/dist/src/init/scaffold.d.ts +1 -5
  58. package/dist/src/init/scaffold.d.ts.map +1 -1
  59. package/dist/src/init/scaffold.js +0 -1
  60. package/dist/src/init/scaffold.js.map +1 -1
  61. package/dist/src/server/compile-service.d.ts.map +1 -1
  62. package/dist/src/server/compile-service.js +11 -1
  63. package/dist/src/server/compile-service.js.map +1 -1
  64. package/dist/src/server/serverlib.d.ts.map +1 -1
  65. package/dist/src/server/serverlib.js +15 -1
  66. package/dist/src/server/serverlib.js.map +1 -1
  67. package/lib/std/decorators.tsp +1 -1
  68. package/package.json +4 -3
  69. package/templates/scaffolding.json +17 -19
@@ -44,7 +44,7 @@ export interface VisibilityFilter {
44
44
  */
45
45
  export type EncodeDecorator = (context: DecoratorContext, target: Scalar | ModelProperty, encodingOrEncodeAs: Scalar | string | EnumValue, encodedAs?: Scalar) => void;
46
46
  /**
47
- * Attach a documentation string.
47
+ * Attach a documentation string. Content support CommonMark markdown formatting.
48
48
  *
49
49
  * @param doc Documentation string
50
50
  * @param formatArgs Record with key value pair that can be interpolated in the doc.
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.66.0-dev.13",
3
- "commit": "4757a4f99ef1d90d14d18eb55133b4404c38b9f5"
2
+ "version": "0.66.0-dev.22",
3
+ "commit": "863d6673a04e3fc13e6a4297d607e59389bd6f33"
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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"}
@@ -77,6 +77,10 @@ export function createChecker(program, resolver) {
77
77
  initializeTypeSpecIntrinsics();
78
78
  }
79
79
  let evalContext = undefined;
80
+ /**
81
+ * Tracking the template parameters used or not.
82
+ */
83
+ const templateParameterUsageMap = new Map();
80
84
  const checker = {
81
85
  getTypeForNode,
82
86
  checkProgram,
@@ -109,12 +113,16 @@ export function createChecker(program, resolver) {
109
113
  getValueForNode,
110
114
  getTypeOrValueForNode,
111
115
  getValueExactType,
116
+ getTemplateParameterUsageMap,
112
117
  isTypeAssignableTo: undefined,
113
118
  };
114
119
  const relation = createTypeRelationChecker(program, checker);
115
120
  checker.isTypeAssignableTo = relation.isTypeAssignableTo;
116
121
  const projectionMembers = createProjectionMembers(checker);
117
122
  return checker;
123
+ function getTemplateParameterUsageMap() {
124
+ return templateParameterUsageMap;
125
+ }
118
126
  function wrapInstantiationDiagnostic(diagnostic, templateMapper) {
119
127
  if (templateMapper === undefined || typeof diagnostic.target !== "object")
120
128
  return diagnostic;
@@ -591,6 +599,9 @@ export function createChecker(program, resolver) {
591
599
  const parentNode = node.parent;
592
600
  const grandParentNode = parentNode.parent;
593
601
  const links = getSymbolLinks(node.symbol);
602
+ if (!templateParameterUsageMap.has(node)) {
603
+ templateParameterUsageMap.set(node, false);
604
+ }
594
605
  if (pendingResolutions.has(getNodeSym(node), ResolutionKind.Constraint)) {
595
606
  if (mapper === undefined) {
596
607
  reportCheckerDiagnostic(createDiagnostic({
@@ -918,6 +929,13 @@ export function createChecker(program, resolver) {
918
929
  return result;
919
930
  }
920
931
  function checkTypeOrValueReferenceSymbol(sym, node, mapper, instantiateTemplates = true) {
932
+ const entity = checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates);
933
+ if (entity !== null && isType(entity) && entity.kind === "TemplateParameter") {
934
+ templateParameterUsageMap.set(entity.node, true);
935
+ }
936
+ return entity;
937
+ }
938
+ function checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates = true) {
921
939
  if (sym.flags & 524288 /* SymbolFlags.Const */) {
922
940
  return getValueForNode(sym.declarations[0], mapper);
923
941
  }
@@ -3816,6 +3834,27 @@ export function createChecker(program, resolver) {
3816
3834
  target: node.targetType,
3817
3835
  }));
3818
3836
  }
3837
+ else if (links.finalSymbol?.flags &&
3838
+ ~links.finalSymbol.flags & 1048576 /* SymbolFlags.Declaration */ &&
3839
+ ~links.finalSymbol.flags & 262144 /* SymbolFlags.Member */) {
3840
+ program.reportDiagnostic(createDiagnostic({
3841
+ code: "augment-decorator-target",
3842
+ messageId: links.finalSymbol.flags & 2 /* SymbolFlags.Model */
3843
+ ? "noModelExpression"
3844
+ : links.finalSymbol.flags & 64 /* SymbolFlags.Union */
3845
+ ? "noUnionExpression"
3846
+ : "default",
3847
+ target: node.targetType,
3848
+ }));
3849
+ }
3850
+ else if (links.finalSymbol?.flags && links.finalSymbol.flags & 128 /* SymbolFlags.Alias */) {
3851
+ const aliasNode = getSymNode(links.finalSymbol);
3852
+ program.reportDiagnostic(createDiagnostic({
3853
+ code: "augment-decorator-target",
3854
+ messageId: aliasNode.value.kind === SyntaxKind.UnionExpression ? "noUnionExpression" : "default",
3855
+ target: node.targetType,
3856
+ }));
3857
+ }
3819
3858
  // If this was used to get a type this is invalid, only used for validation.
3820
3859
  return errorType;
3821
3860
  }