@glint/ember-tsc 1.6.0 → 1.6.2

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 (131) hide show
  1. package/README.md +1 -0
  2. package/lib/cli/run-volar-tsc.d.ts +2 -0
  3. package/lib/cli/run-volar-tsc.d.ts.map +1 -0
  4. package/lib/cli/run-volar-tsc.js +32 -0
  5. package/lib/cli/run-volar-tsc.js.map +1 -0
  6. package/lib/config/config.d.ts +15 -0
  7. package/lib/config/config.d.ts.map +1 -0
  8. package/lib/config/config.js +21 -0
  9. package/lib/config/config.js.map +1 -0
  10. package/lib/config/environment.d.ts +26 -0
  11. package/lib/config/environment.d.ts.map +1 -0
  12. package/lib/config/environment.js +96 -0
  13. package/lib/config/environment.js.map +1 -0
  14. package/lib/config/index.d.ts +24 -0
  15. package/lib/config/index.d.ts.map +1 -0
  16. package/lib/config/index.js +37 -0
  17. package/lib/config/index.js.map +1 -0
  18. package/lib/config/loader.d.ts +28 -0
  19. package/lib/config/loader.d.ts.map +1 -0
  20. package/lib/config/loader.js +121 -0
  21. package/lib/config/loader.js.map +1 -0
  22. package/lib/config/types.cjs +3 -0
  23. package/lib/config/types.cjs.map +1 -0
  24. package/lib/config/types.d.cts +60 -0
  25. package/lib/config/types.d.cts.map +1 -0
  26. package/lib/environment-ember-template-imports/-private/environment/common.d.ts +13 -0
  27. package/lib/environment-ember-template-imports/-private/environment/common.d.ts.map +1 -0
  28. package/lib/environment-ember-template-imports/-private/environment/common.js +2 -0
  29. package/lib/environment-ember-template-imports/-private/environment/common.js.map +1 -0
  30. package/lib/environment-ember-template-imports/-private/environment/index.d.ts +3 -0
  31. package/lib/environment-ember-template-imports/-private/environment/index.d.ts.map +1 -0
  32. package/lib/environment-ember-template-imports/-private/environment/index.js +102 -0
  33. package/lib/environment-ember-template-imports/-private/environment/index.js.map +1 -0
  34. package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts +4 -0
  35. package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts.map +1 -0
  36. package/lib/environment-ember-template-imports/-private/environment/preprocess.js +42 -0
  37. package/lib/environment-ember-template-imports/-private/environment/preprocess.js.map +1 -0
  38. package/lib/environment-ember-template-imports/-private/environment/transform.d.ts +4 -0
  39. package/lib/environment-ember-template-imports/-private/environment/transform.d.ts.map +1 -0
  40. package/lib/environment-ember-template-imports/-private/environment/transform.js +134 -0
  41. package/lib/environment-ember-template-imports/-private/environment/transform.js.map +1 -0
  42. package/lib/index.d.ts +7 -0
  43. package/lib/index.d.ts.map +1 -0
  44. package/lib/index.js +6 -0
  45. package/lib/index.js.map +1 -0
  46. package/lib/plugins/g-compiler-errors.d.ts +12 -0
  47. package/lib/plugins/g-compiler-errors.d.ts.map +1 -0
  48. package/lib/plugins/g-compiler-errors.js +58 -0
  49. package/lib/plugins/g-compiler-errors.js.map +1 -0
  50. package/lib/plugins/g-component-hover.d.ts +24 -0
  51. package/lib/plugins/g-component-hover.d.ts.map +1 -0
  52. package/lib/plugins/g-component-hover.js +135 -0
  53. package/lib/plugins/g-component-hover.js.map +1 -0
  54. package/lib/plugins/g-template-tag-symbols.d.ts +11 -0
  55. package/lib/plugins/g-template-tag-symbols.d.ts.map +1 -0
  56. package/lib/plugins/g-template-tag-symbols.js +48 -0
  57. package/lib/plugins/g-template-tag-symbols.js.map +1 -0
  58. package/lib/plugins/utils.d.ts +25 -0
  59. package/lib/plugins/utils.d.ts.map +1 -0
  60. package/lib/plugins/utils.js +63 -0
  61. package/lib/plugins/utils.js.map +1 -0
  62. package/lib/transform/diagnostics/augmentation.d.ts +4 -0
  63. package/lib/transform/diagnostics/augmentation.d.ts.map +1 -0
  64. package/lib/transform/diagnostics/augmentation.js +249 -0
  65. package/lib/transform/diagnostics/augmentation.js.map +1 -0
  66. package/lib/transform/diagnostics/index.d.ts +5 -0
  67. package/lib/transform/diagnostics/index.d.ts.map +1 -0
  68. package/lib/transform/diagnostics/index.js +2 -0
  69. package/lib/transform/diagnostics/index.js.map +1 -0
  70. package/lib/transform/index.d.ts +4 -0
  71. package/lib/transform/index.d.ts.map +1 -0
  72. package/lib/transform/index.js +2 -0
  73. package/lib/transform/index.js.map +1 -0
  74. package/lib/transform/template/code-features.d.ts +30 -0
  75. package/lib/transform/template/code-features.d.ts.map +1 -0
  76. package/lib/transform/template/code-features.js +26 -0
  77. package/lib/transform/template/code-features.js.map +1 -0
  78. package/lib/transform/template/glimmer-ast-mapping-tree.d.ts +80 -0
  79. package/lib/transform/template/glimmer-ast-mapping-tree.d.ts.map +1 -0
  80. package/lib/transform/template/glimmer-ast-mapping-tree.js +132 -0
  81. package/lib/transform/template/glimmer-ast-mapping-tree.js.map +1 -0
  82. package/lib/transform/template/inlining/index.d.ts +16 -0
  83. package/lib/transform/template/inlining/index.d.ts.map +1 -0
  84. package/lib/transform/template/inlining/index.js +21 -0
  85. package/lib/transform/template/inlining/index.js.map +1 -0
  86. package/lib/transform/template/inlining/tagged-strings.d.ts +8 -0
  87. package/lib/transform/template/inlining/tagged-strings.d.ts.map +1 -0
  88. package/lib/transform/template/inlining/tagged-strings.js +156 -0
  89. package/lib/transform/template/inlining/tagged-strings.js.map +1 -0
  90. package/lib/transform/template/map-template-contents.d.ts +121 -0
  91. package/lib/transform/template/map-template-contents.d.ts.map +1 -0
  92. package/lib/transform/template/map-template-contents.js +287 -0
  93. package/lib/transform/template/map-template-contents.js.map +1 -0
  94. package/lib/transform/template/rewrite-module.d.ts +22 -0
  95. package/lib/transform/template/rewrite-module.d.ts.map +1 -0
  96. package/lib/transform/template/rewrite-module.js +265 -0
  97. package/lib/transform/template/rewrite-module.js.map +1 -0
  98. package/lib/transform/template/scope-stack.d.ts +13 -0
  99. package/lib/transform/template/scope-stack.d.ts.map +1 -0
  100. package/lib/transform/template/scope-stack.js +28 -0
  101. package/lib/transform/template/scope-stack.js.map +1 -0
  102. package/lib/transform/template/template-to-typescript.d.ts +19 -0
  103. package/lib/transform/template/template-to-typescript.d.ts.map +1 -0
  104. package/lib/transform/template/template-to-typescript.js +1125 -0
  105. package/lib/transform/template/template-to-typescript.js.map +1 -0
  106. package/lib/transform/template/transformed-module.d.ts +111 -0
  107. package/lib/transform/template/transformed-module.d.ts.map +1 -0
  108. package/lib/transform/template/transformed-module.js +287 -0
  109. package/lib/transform/template/transformed-module.js.map +1 -0
  110. package/lib/transform/util.d.ts +7 -0
  111. package/lib/transform/util.d.ts.map +1 -0
  112. package/lib/transform/util.js +15 -0
  113. package/lib/transform/util.js.map +1 -0
  114. package/lib/volar/ember-language-plugin.d.ts +14 -0
  115. package/lib/volar/ember-language-plugin.d.ts.map +1 -0
  116. package/lib/volar/ember-language-plugin.js +91 -0
  117. package/lib/volar/ember-language-plugin.js.map +1 -0
  118. package/lib/volar/gts-virtual-code.d.ts +83 -0
  119. package/lib/volar/gts-virtual-code.d.ts.map +1 -0
  120. package/lib/volar/gts-virtual-code.js +210 -0
  121. package/lib/volar/gts-virtual-code.js.map +1 -0
  122. package/lib/volar/language-server.d.ts +2 -0
  123. package/lib/volar/language-server.d.ts.map +1 -0
  124. package/lib/volar/language-server.js +180 -0
  125. package/lib/volar/language-server.js.map +1 -0
  126. package/lib/volar/script-snapshot.d.ts +17 -0
  127. package/lib/volar/script-snapshot.d.ts.map +1 -0
  128. package/lib/volar/script-snapshot.js +24 -0
  129. package/lib/volar/script-snapshot.js.map +1 -0
  130. package/package.json +4 -4
  131. package/src/transform/template/inlining/tagged-strings.ts +21 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-snapshot.js","sourceRoot":"","sources":["../../src/volar/script-snapshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACzB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAEnC,kBAAkB;IAClB,cAAc,CAAC,YAA6B;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,GAAW;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glint/ember-tsc",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "repository": "typed-ember/glint",
5
5
  "description": "A CLI for performing typechecking on Glimmer templates",
6
6
  "license": "MIT",
@@ -58,7 +58,7 @@
58
58
  "glint-language-server": "bin/glint-language-server.js"
59
59
  },
60
60
  "peerDependencies": {
61
- "ember-source": ">=7.1.0",
61
+ "ember-source": ">=3.28.0",
62
62
  "typescript": ">=5.6.0"
63
63
  },
64
64
  "peerDependenciesMeta": {
@@ -97,8 +97,8 @@
97
97
  "execa": "^4.0.1",
98
98
  "strip-ansi": "^6.0.0",
99
99
  "typescript": "^5.9.3",
100
- "glint-monorepo-test-utils": "0.0.0",
101
- "@glint/type-test": "2.0.1"
100
+ "@glint/type-test": "2.0.1",
101
+ "glint-monorepo-test-utils": "0.0.0"
102
102
  },
103
103
  "publishConfig": {
104
104
  "access": "public"
@@ -60,11 +60,31 @@ export function calculateTaggedTemplateSpans(
60
60
  }
61
61
 
62
62
  let specialForms = collectSpecialForms(importedBindings, info.tagConfig.specialForms ?? {});
63
+
64
+ // A lexical import should win over the environment's global keyword list,
65
+ // because the import is the canonical reference to the value (and is
66
+ // typed accordingly) while the global entry is a same-named alias.
67
+ // Concretely: `import { on } from '@ember/modifier'` followed by
68
+ // `{{on ...}}` must resolve to the imported `OnModifier`, not to the
69
+ // `Globals.on` entry (typed as `never` on ember-source < 7.1 by the
70
+ // `Ember71Only<...>` probe). Without this we surface
71
+ // `TS2349: Type 'never' has no call signatures.` See typed-ember/glint#1113.
72
+ //
73
+ // Keyword-style globals (`if`, `unless`, `yield`, `component`, `modifier`,
74
+ // `helper`) are deliberately exempt: their semantics are baked into the
75
+ // template language, not derivable from an import. Even if a user imports
76
+ // a same-named value, `{{(modifier ...)}}` still has to dispatch to the
77
+ // `bind-invokable` special form (which routes through `Globals.modifier`).
78
+ let keywordSpecialForms = info.tagConfig.specialForms?.globals ?? {};
79
+ let effectiveGlobals = globals?.filter(
80
+ (name) => name in keywordSpecialForms || !(name in importedBindings),
81
+ );
82
+
63
83
  let transformedTemplate = templateToTypescript(template, {
64
84
  typesModule: typesModule,
65
85
  meta,
66
86
  preamble,
67
- globals,
87
+ globals: effectiveGlobals,
68
88
  embeddingSyntax,
69
89
  specialForms,
70
90
  backingValue: isEmbeddedInClass(ts, node) ? 'this' : undefined,