@glint/ember-tsc 1.1.2-unstable.0b9b1e9 → 1.2.1

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 (130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/package.json +11 -12
  4. package/src/config/loader.ts +23 -3
  5. package/src/transform/template/template-to-typescript.ts +11 -1
  6. package/src/volar/language-server.ts +34 -80
  7. package/lib/cli/run-volar-tsc.d.ts +0 -2
  8. package/lib/cli/run-volar-tsc.d.ts.map +0 -1
  9. package/lib/cli/run-volar-tsc.js +0 -32
  10. package/lib/cli/run-volar-tsc.js.map +0 -1
  11. package/lib/config/config.d.ts +0 -15
  12. package/lib/config/config.d.ts.map +0 -1
  13. package/lib/config/config.js +0 -21
  14. package/lib/config/config.js.map +0 -1
  15. package/lib/config/environment.d.ts +0 -26
  16. package/lib/config/environment.d.ts.map +0 -1
  17. package/lib/config/environment.js +0 -96
  18. package/lib/config/environment.js.map +0 -1
  19. package/lib/config/index.d.ts +0 -17
  20. package/lib/config/index.d.ts.map +0 -1
  21. package/lib/config/index.js +0 -26
  22. package/lib/config/index.js.map +0 -1
  23. package/lib/config/loader.d.ts +0 -25
  24. package/lib/config/loader.d.ts.map +0 -1
  25. package/lib/config/loader.js +0 -110
  26. package/lib/config/loader.js.map +0 -1
  27. package/lib/config/types.cjs +0 -3
  28. package/lib/config/types.cjs.map +0 -1
  29. package/lib/config/types.d.cts +0 -60
  30. package/lib/config/types.d.cts.map +0 -1
  31. package/lib/environment-ember-template-imports/-private/environment/common.d.ts +0 -13
  32. package/lib/environment-ember-template-imports/-private/environment/common.d.ts.map +0 -1
  33. package/lib/environment-ember-template-imports/-private/environment/common.js +0 -2
  34. package/lib/environment-ember-template-imports/-private/environment/common.js.map +0 -1
  35. package/lib/environment-ember-template-imports/-private/environment/index.d.ts +0 -3
  36. package/lib/environment-ember-template-imports/-private/environment/index.d.ts.map +0 -1
  37. package/lib/environment-ember-template-imports/-private/environment/index.js +0 -76
  38. package/lib/environment-ember-template-imports/-private/environment/index.js.map +0 -1
  39. package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts +0 -4
  40. package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts.map +0 -1
  41. package/lib/environment-ember-template-imports/-private/environment/preprocess.js +0 -73
  42. package/lib/environment-ember-template-imports/-private/environment/preprocess.js.map +0 -1
  43. package/lib/environment-ember-template-imports/-private/environment/transform.d.ts +0 -4
  44. package/lib/environment-ember-template-imports/-private/environment/transform.d.ts.map +0 -1
  45. package/lib/environment-ember-template-imports/-private/environment/transform.js +0 -134
  46. package/lib/environment-ember-template-imports/-private/environment/transform.js.map +0 -1
  47. package/lib/index.d.ts +0 -7
  48. package/lib/index.d.ts.map +0 -1
  49. package/lib/index.js +0 -6
  50. package/lib/index.js.map +0 -1
  51. package/lib/plugins/g-compiler-errors.d.ts +0 -12
  52. package/lib/plugins/g-compiler-errors.d.ts.map +0 -1
  53. package/lib/plugins/g-compiler-errors.js +0 -58
  54. package/lib/plugins/g-compiler-errors.js.map +0 -1
  55. package/lib/plugins/g-template-tag-symbols.d.ts +0 -11
  56. package/lib/plugins/g-template-tag-symbols.d.ts.map +0 -1
  57. package/lib/plugins/g-template-tag-symbols.js +0 -48
  58. package/lib/plugins/g-template-tag-symbols.js.map +0 -1
  59. package/lib/plugins/utils.d.ts +0 -25
  60. package/lib/plugins/utils.d.ts.map +0 -1
  61. package/lib/plugins/utils.js +0 -63
  62. package/lib/plugins/utils.js.map +0 -1
  63. package/lib/transform/diagnostics/augmentation.d.ts +0 -4
  64. package/lib/transform/diagnostics/augmentation.d.ts.map +0 -1
  65. package/lib/transform/diagnostics/augmentation.js +0 -223
  66. package/lib/transform/diagnostics/augmentation.js.map +0 -1
  67. package/lib/transform/diagnostics/index.d.ts +0 -5
  68. package/lib/transform/diagnostics/index.d.ts.map +0 -1
  69. package/lib/transform/diagnostics/index.js +0 -2
  70. package/lib/transform/diagnostics/index.js.map +0 -1
  71. package/lib/transform/index.d.ts +0 -4
  72. package/lib/transform/index.d.ts.map +0 -1
  73. package/lib/transform/index.js +0 -2
  74. package/lib/transform/index.js.map +0 -1
  75. package/lib/transform/template/code-features.d.ts +0 -30
  76. package/lib/transform/template/code-features.d.ts.map +0 -1
  77. package/lib/transform/template/code-features.js +0 -26
  78. package/lib/transform/template/code-features.js.map +0 -1
  79. package/lib/transform/template/glimmer-ast-mapping-tree.d.ts +0 -80
  80. package/lib/transform/template/glimmer-ast-mapping-tree.d.ts.map +0 -1
  81. package/lib/transform/template/glimmer-ast-mapping-tree.js +0 -132
  82. package/lib/transform/template/glimmer-ast-mapping-tree.js.map +0 -1
  83. package/lib/transform/template/inlining/index.d.ts +0 -16
  84. package/lib/transform/template/inlining/index.d.ts.map +0 -1
  85. package/lib/transform/template/inlining/index.js +0 -21
  86. package/lib/transform/template/inlining/index.js.map +0 -1
  87. package/lib/transform/template/inlining/tagged-strings.d.ts +0 -8
  88. package/lib/transform/template/inlining/tagged-strings.d.ts.map +0 -1
  89. package/lib/transform/template/inlining/tagged-strings.js +0 -140
  90. package/lib/transform/template/inlining/tagged-strings.js.map +0 -1
  91. package/lib/transform/template/map-template-contents.d.ts +0 -121
  92. package/lib/transform/template/map-template-contents.d.ts.map +0 -1
  93. package/lib/transform/template/map-template-contents.js +0 -287
  94. package/lib/transform/template/map-template-contents.js.map +0 -1
  95. package/lib/transform/template/rewrite-module.d.ts +0 -22
  96. package/lib/transform/template/rewrite-module.d.ts.map +0 -1
  97. package/lib/transform/template/rewrite-module.js +0 -265
  98. package/lib/transform/template/rewrite-module.js.map +0 -1
  99. package/lib/transform/template/scope-stack.d.ts +0 -13
  100. package/lib/transform/template/scope-stack.d.ts.map +0 -1
  101. package/lib/transform/template/scope-stack.js +0 -28
  102. package/lib/transform/template/scope-stack.js.map +0 -1
  103. package/lib/transform/template/template-to-typescript.d.ts +0 -19
  104. package/lib/transform/template/template-to-typescript.d.ts.map +0 -1
  105. package/lib/transform/template/template-to-typescript.js +0 -1095
  106. package/lib/transform/template/template-to-typescript.js.map +0 -1
  107. package/lib/transform/template/transformed-module.d.ts +0 -111
  108. package/lib/transform/template/transformed-module.d.ts.map +0 -1
  109. package/lib/transform/template/transformed-module.js +0 -287
  110. package/lib/transform/template/transformed-module.js.map +0 -1
  111. package/lib/transform/util.d.ts +0 -7
  112. package/lib/transform/util.d.ts.map +0 -1
  113. package/lib/transform/util.js +0 -15
  114. package/lib/transform/util.js.map +0 -1
  115. package/lib/volar/ember-language-plugin.d.ts +0 -14
  116. package/lib/volar/ember-language-plugin.d.ts.map +0 -1
  117. package/lib/volar/ember-language-plugin.js +0 -91
  118. package/lib/volar/ember-language-plugin.js.map +0 -1
  119. package/lib/volar/gts-virtual-code.d.ts +0 -83
  120. package/lib/volar/gts-virtual-code.d.ts.map +0 -1
  121. package/lib/volar/gts-virtual-code.js +0 -210
  122. package/lib/volar/gts-virtual-code.js.map +0 -1
  123. package/lib/volar/language-server.d.ts +0 -2
  124. package/lib/volar/language-server.d.ts.map +0 -1
  125. package/lib/volar/language-server.js +0 -214
  126. package/lib/volar/language-server.js.map +0 -1
  127. package/lib/volar/script-snapshot.d.ts +0 -17
  128. package/lib/volar/script-snapshot.d.ts.map +0 -1
  129. package/lib/volar/script-snapshot.js +0 -24
  130. package/lib/volar/script-snapshot.js.map +0 -1
@@ -1,110 +0,0 @@
1
- import * as fs from 'node:fs';
2
- import { createRequire } from 'node:module';
3
- import * as path from 'node:path';
4
- import SilentError from 'silent-error';
5
- import { GlintConfig } from './config.js';
6
- /**
7
- * @private
8
- *
9
- * Only exported for testing purposes. Do not import.
10
- */
11
- export const require = createRequire(import.meta.url);
12
- /**
13
- * `ConfigLoader` provides an interface for finding the Glint config that
14
- * applies to a given file or directory, ensuring that only a single instance
15
- * of `GlintConfig` is ever created for a given `tsconfig.json` or
16
- * `jsconfig.json` source file.
17
- */
18
- export class ConfigLoader {
19
- constructor() {
20
- this.configs = new Map();
21
- }
22
- configForFile(filePath) {
23
- return this.configForDirectory(path.dirname(filePath));
24
- }
25
- configForDirectory(directory) {
26
- let ts = findTypeScript(directory);
27
- if (!ts)
28
- return null;
29
- let configPath = findNearestConfigFile(ts, directory);
30
- if (!configPath)
31
- return null;
32
- let existing = this.configs.get(configPath);
33
- if (existing !== undefined)
34
- return existing;
35
- let configInput = loadConfigInput(ts, configPath);
36
- let config = new GlintConfig(ts, configPath, configInput || { environment: [] });
37
- this.configs.set(configPath, config);
38
- return config;
39
- }
40
- }
41
- export function findTypeScript(fromDir) {
42
- let requireFrom = path.resolve(fromDir, 'package.json');
43
- return (tryResolve(() => createRequire(requireFrom)('typescript')) ??
44
- tryResolve(() => require('typescript')));
45
- }
46
- function tryResolve(load) {
47
- try {
48
- return load();
49
- }
50
- catch (error) {
51
- if (error?.code === 'MODULE_NOT_FOUND') {
52
- return null;
53
- }
54
- throw error;
55
- }
56
- }
57
- function parseConfigInput(ts, entryPath, currentPath, fullGlintConfig) {
58
- let currentContents = ts.readConfigFile(currentPath, ts.sys.readFile).config;
59
- let currentGlintConfig = currentContents.glint ?? {};
60
- assert(currentPath === entryPath || !currentGlintConfig.transform, 'Glint `transform` options may not be specified in extended config.');
61
- if (currentContents.extends) {
62
- let paths = Array.isArray(currentContents.extends)
63
- ? currentContents.extends
64
- : [currentContents.extends];
65
- for (let extendPath of paths) {
66
- let currentExtendPath = path.resolve(path.dirname(currentPath), extendPath);
67
- if (!fs.existsSync(currentExtendPath)) {
68
- try {
69
- currentExtendPath = require.resolve(currentContents.extends);
70
- }
71
- catch {
72
- // suppress the exception thrown by require.resolve for those scenarios where the file does not exist
73
- }
74
- }
75
- fullGlintConfig = parseConfigInput(ts, entryPath, currentExtendPath, fullGlintConfig);
76
- }
77
- }
78
- return { ...fullGlintConfig, ...currentGlintConfig };
79
- }
80
- export function loadConfigInput(ts, entryPath) {
81
- return validateConfigInput(parseConfigInput(ts, entryPath, entryPath, {}));
82
- }
83
- function findNearestConfigFile(ts, searchFrom) {
84
- // Assume that the longest path is the most relevant one in the case that
85
- // multiple config files exist at or above our current directory.
86
- let configCandidates = [
87
- ts.findConfigFile(searchFrom, ts.sys.fileExists, 'tsconfig.json'),
88
- ts.findConfigFile(searchFrom, ts.sys.fileExists, 'jsconfig.json'),
89
- ]
90
- .filter((path) => typeof path === 'string')
91
- .sort((a, b) => b.length - a.length);
92
- return configCandidates[0];
93
- }
94
- function validateConfigInput(input) {
95
- if (!input['environment']) {
96
- input['environment'] = [];
97
- }
98
- assert(Array.isArray(input['environment'])
99
- ? input['environment'].every((env) => typeof env === 'string')
100
- : typeof input['environment'] === 'string' ||
101
- (typeof input['environment'] === 'object' && input['environment']), 'Glint config must specify an `environment` that is a string, array of strings, or an object ' +
102
- 'mapping environment names to their config.');
103
- return input;
104
- }
105
- function assert(test, message) {
106
- if (!test) {
107
- throw new SilentError(`Glint config: ${message}`);
108
- }
109
- }
110
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/config/types.cts"],"names":[],"mappings":""}
@@ -1,60 +0,0 @@
1
- import type ts from 'typescript';
2
- type TSLib = typeof ts;
3
- export type GlintConfigInput = {
4
- environment: string | Array<string> | Record<string, unknown>;
5
- };
6
- export type GlintEnvironmentConfig = {
7
- tags?: GlintTagsConfig;
8
- extensions?: GlintExtensionsConfig;
9
- };
10
- export type GlintExtensionPreprocess<T> = (source: string, filePath: string) => {
11
- contents: string;
12
- data?: T;
13
- };
14
- export type GlintEmitMetadata = {
15
- prepend?: string;
16
- append?: string;
17
- templateLocation?: {
18
- start: number;
19
- end: number;
20
- contentStart: number;
21
- contentEnd: number;
22
- };
23
- };
24
- export type GlintExtensionTransform<T> = (data: T, state: {
25
- ts: TSLib;
26
- context: ts.TransformationContext;
27
- setEmitMetadata: (node: ts.TaggedTemplateExpression, meta: GlintEmitMetadata) => void;
28
- }) => ts.Transformer<ts.Node>;
29
- export type GlintSpecialForm = 'if' | 'if-not' | 'yield' | 'object-literal' | 'array-literal' | 'bind-invokable' | '===' | '!==' | '&&' | '||' | '!';
30
- export type GlintSpecialFormConfig = {
31
- globals?: {
32
- [global: string]: GlintSpecialForm;
33
- };
34
- imports?: {
35
- [path: string]: {
36
- [identifier: string]: GlintSpecialForm;
37
- };
38
- };
39
- };
40
- export type SourceKind = 'typed-script' | 'untyped-script';
41
- export type GlintExtensionConfig<PreprocessData = any> = {
42
- kind: SourceKind;
43
- preprocess?: GlintExtensionPreprocess<PreprocessData>;
44
- transform?: GlintExtensionTransform<PreprocessData>;
45
- };
46
- export type GlintExtensionsConfig = {
47
- [extension: string]: GlintExtensionConfig;
48
- };
49
- export type GlintTagConfig = {
50
- typesModule: string;
51
- globals?: Array<string>;
52
- specialForms?: GlintSpecialFormConfig;
53
- };
54
- export type GlintTagsConfig = {
55
- [importSource: string]: {
56
- [importSpecifier: string]: GlintTagConfig;
57
- };
58
- };
59
- export {};
60
- //# sourceMappingURL=types.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/config/types.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,KAAK,KAAK,GAAG,OAAO,EAAE,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CACvC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE;IACL,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC;IAClC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACvF,KACE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GACxB,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,GAAG,CAAC;AAER,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IACjD,OAAO,CAAC,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC;SACxC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAC3D,MAAM,MAAM,oBAAoB,CAAC,cAAc,GAAG,GAAG,IAAI;IACvD,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,eAAe,EAAE,MAAM,GAAG,cAAc,CAAC;KAC3C,CAAC;CACH,CAAC"}
@@ -1,13 +0,0 @@
1
- export type PreprocessData = {
2
- templateLocations: Array<TemplateLocation>;
3
- };
4
- export type TemplateLocation = {
5
- startTagOffset: number;
6
- startTagLength: number;
7
- endTagOffset: number;
8
- endTagLength: number;
9
- transformedStart: number;
10
- transformedEnd: number;
11
- };
12
- export declare const GLOBAL_TAG = "___T";
13
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,UAAU,SAAS,CAAC"}
@@ -1,2 +0,0 @@
1
- export const GLOBAL_TAG = `___T`;
2
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/common.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC"}
@@ -1,3 +0,0 @@
1
- import { GlintEnvironmentConfig } from '@glint/ember-tsc/config-types';
2
- export default function emberTemplateImportsEnvironment(options: Record<string, unknown>): GlintEnvironmentConfig;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA0B,MAAM,+BAA+B,CAAC;AAI/F,MAAM,CAAC,OAAO,UAAU,+BAA+B,CACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,sBAAsB,CA4ExB"}
@@ -1,76 +0,0 @@
1
- import { preprocess } from './preprocess.js';
2
- import { transform } from './transform.js';
3
- export default function emberTemplateImportsEnvironment(options) {
4
- let additionalSpecialForms = typeof options['additionalSpecialForms'] === 'object'
5
- ? options['additionalSpecialForms']
6
- : {};
7
- const additionalGlobalSpecialForms = additionalSpecialForms.globals ?? {};
8
- const additionalGlobals = Array.isArray(options['additionalGlobals'])
9
- ? options['additionalGlobals']
10
- : [];
11
- return {
12
- tags: {
13
- '@glint/ember-tsc/environment-ember-template-imports/-private/tag': {
14
- hbs: {
15
- typesModule: '@glint/ember-tsc/-private/dsl',
16
- specialForms: {
17
- globals: {
18
- if: 'if',
19
- unless: 'if-not',
20
- yield: 'yield',
21
- component: 'bind-invokable',
22
- modifier: 'bind-invokable',
23
- helper: 'bind-invokable',
24
- ...additionalGlobalSpecialForms,
25
- },
26
- imports: {
27
- '@ember/helper': {
28
- array: 'array-literal',
29
- hash: 'object-literal',
30
- ...additionalSpecialForms.imports?.['@ember/helper'],
31
- },
32
- ...additionalSpecialForms.imports,
33
- },
34
- },
35
- globals: [
36
- 'action',
37
- 'component',
38
- 'debugger',
39
- 'each',
40
- 'each-in',
41
- 'has-block',
42
- 'has-block-params',
43
- 'helper',
44
- 'if',
45
- 'in-element',
46
- 'let',
47
- 'log',
48
- 'modifier',
49
- 'mount',
50
- 'mut',
51
- 'outlet',
52
- 'unbound',
53
- 'unless',
54
- 'with',
55
- 'yield',
56
- ...Object.keys(additionalGlobalSpecialForms),
57
- ...additionalGlobals,
58
- ],
59
- },
60
- },
61
- },
62
- extensions: {
63
- '.gts': {
64
- kind: 'typed-script',
65
- preprocess,
66
- transform,
67
- },
68
- '.gjs': {
69
- kind: 'untyped-script',
70
- preprocess,
71
- transform,
72
- },
73
- },
74
- };
75
- }
76
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,+BAA+B,CACrD,OAAgC;IAEhC,IAAI,sBAAsB,GACxB,OAAO,OAAO,CAAC,wBAAwB,CAAC,KAAK,QAAQ;QACnD,CAAC,CAAE,OAAO,CAAC,wBAAwB,CAA4B;QAC/D,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,4BAA4B,GAAG,sBAAsB,CAAC,OAAO,IAAI,EAAE,CAAC;IAE1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,IAAI,EAAE;YACJ,kEAAkE,EAAE;gBAClE,GAAG,EAAE;oBACH,WAAW,EAAE,+BAA+B;oBAC5C,YAAY,EAAE;wBACZ,OAAO,EAAE;4BACP,EAAE,EAAE,IAAI;4BACR,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,OAAO;4BACd,SAAS,EAAE,gBAAgB;4BAC3B,QAAQ,EAAE,gBAAgB;4BAC1B,MAAM,EAAE,gBAAgB;4BACxB,GAAG,4BAA4B;yBAChC;wBACD,OAAO,EAAE;4BACP,eAAe,EAAE;gCACf,KAAK,EAAE,eAAe;gCACtB,IAAI,EAAE,gBAAgB;gCACtB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC;6BACrD;4BACD,GAAG,sBAAsB,CAAC,OAAO;yBAClC;qBACF;oBACD,OAAO,EAAE;wBACP,QAAQ;wBACR,WAAW;wBACX,UAAU;wBACV,MAAM;wBACN,SAAS;wBACT,WAAW;wBACX,kBAAkB;wBAClB,QAAQ;wBACR,IAAI;wBACJ,YAAY;wBACZ,KAAK;wBACL,KAAK;wBACL,UAAU;wBACV,OAAO;wBACP,KAAK;wBACL,QAAQ;wBACR,SAAS;wBACT,QAAQ;wBACR,MAAM;wBACN,OAAO;wBACP,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;wBAC5C,GAAG,iBAAiB;qBACrB;iBACF;aACF;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;gBACpB,UAAU;gBACV,SAAS;aACV;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,UAAU;gBACV,SAAS;aACV;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +0,0 @@
1
- import { GlintExtensionPreprocess } from '@glint/ember-tsc/config-types';
2
- import { PreprocessData } from './common.js';
3
- export declare const preprocess: GlintExtensionPreprocess<PreprocessData>;
4
- //# sourceMappingURL=preprocess.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/preprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAc,cAAc,EAAoB,MAAM,aAAa,CAAC;AAQ3E,eAAO,MAAM,UAAU,EAAE,wBAAwB,CAAC,cAAc,CAgE/D,CAAC"}
@@ -1,73 +0,0 @@
1
- import { GLOBAL_TAG } from './common.js';
2
- const TEMPLATE_START = `[${GLOBAL_TAG}\``;
3
- const TEMPLATE_END = '`]';
4
- import { Preprocessor } from 'content-tag';
5
- const p = new Preprocessor();
6
- export const preprocess = (source, path) => {
7
- // NOTE: https://github.com/embroider-build/content-tag/issues/45
8
- // All indicies are byte-index, not char-index.
9
- let templates = p.parse(source, { filename: path });
10
- let templateLocations = [];
11
- let contents = '';
12
- let sourceOffsetBytes = 0;
13
- let deltaBytes = 0;
14
- let sourceBuffer = getBuffer(source);
15
- for (let template of templates) {
16
- let startTagLengthBytes = template.startRange.end - template.startRange.start;
17
- let endTagLengthBytes = template.endRange.end - template.endRange.start;
18
- let startTagOffsetBytes = template.startRange.start;
19
- let endTagOffsetBytes = template.endRange.start;
20
- let transformedStartBytes = startTagOffsetBytes - deltaBytes;
21
- /**
22
- * TODO: we want content-tag to manage all this for us, as managing indicies
23
- * can be error-prone.
24
- *
25
- * SEE: https://github.com/embroider-build/content-tag/issues/39#issuecomment-1832443310
26
- */
27
- let prefixingSegment = sourceBuffer.subarray(sourceOffsetBytes, startTagOffsetBytes);
28
- contents = contents.concat(prefixingSegment.toString());
29
- contents = contents.concat(TEMPLATE_START);
30
- // For TEMPLATE_START & TEMPLATE_END, characters === bytes
31
- deltaBytes += startTagLengthBytes - TEMPLATE_START.length;
32
- let transformedEnd = endTagOffsetBytes - deltaBytes + TEMPLATE_END.length;
33
- let templateContentSegment = sourceBuffer.subarray(startTagOffsetBytes + startTagLengthBytes, endTagOffsetBytes);
34
- let templateContentSegmentString = templateContentSegment.toString();
35
- let escapedTemplateContentSegment = templateContentSegmentString
36
- .replaceAll('${{', '\\${{')
37
- .replaceAll('`', '\\`');
38
- deltaBytes += templateContentSegmentString.length - escapedTemplateContentSegment.length;
39
- contents = contents.concat(escapedTemplateContentSegment);
40
- contents = contents.concat(TEMPLATE_END);
41
- deltaBytes += endTagLengthBytes - TEMPLATE_END.length;
42
- sourceOffsetBytes = endTagOffsetBytes + endTagLengthBytes;
43
- templateLocations.push({
44
- startTagOffset: byteToCharIndex(source, startTagOffsetBytes),
45
- endTagOffset: byteToCharIndex(source, endTagOffsetBytes),
46
- startTagLength: byteToCharIndex(source, startTagLengthBytes),
47
- endTagLength: byteToCharIndex(source, endTagLengthBytes),
48
- transformedStart: byteToCharIndex(contents, transformedStartBytes),
49
- transformedEnd: byteToCharIndex(contents, transformedEnd),
50
- });
51
- }
52
- contents = contents.concat(sourceBuffer.subarray(sourceOffsetBytes).toString());
53
- return {
54
- contents,
55
- data: {
56
- templateLocations,
57
- },
58
- };
59
- };
60
- function byteToCharIndex(str, byteOffset) {
61
- const buf = getBuffer(str);
62
- return buf.subarray(0, byteOffset).toString().length;
63
- }
64
- const BufferMap = new Map();
65
- function getBuffer(str) {
66
- let buf = BufferMap.get(str);
67
- if (!buf) {
68
- buf = Buffer.from(str);
69
- BufferMap.set(str, buf);
70
- }
71
- return buf;
72
- }
73
- //# sourceMappingURL=preprocess.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/preprocess.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { GlintExtensionTransform } from '@glint/ember-tsc/config-types';
2
- import { PreprocessData } from './common.js';
3
- export declare const transform: GlintExtensionTransform<PreprocessData>;
4
- //# sourceMappingURL=transform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAc,cAAc,EAAoB,MAAM,aAAa,CAAC;AAI3E,eAAO,MAAM,SAAS,EAAE,uBAAuB,CAAC,cAAc,CA6D7D,CAAC"}
@@ -1,134 +0,0 @@
1
- import { GLOBAL_TAG } from './common.js';
2
- export const transform = (data, { ts, context, setEmitMetadata }) => {
3
- let f = ts.factory;
4
- let { templateLocations } = data;
5
- if (!templateLocations.length)
6
- return (sf) => sf;
7
- return function visit(node) {
8
- let visitedNode = ts.visitEachChild(node, visit, context);
9
- let transformedNode = transformNode(visitedNode);
10
- return repairAncestry(transformedNode);
11
- };
12
- function transformNode(node) {
13
- if (ts.isSourceFile(node)) {
14
- // Add `import { hbs as __T } from 'ember-template-imports'` to the file
15
- return addTagImport(f, node);
16
- }
17
- else if (isETIDefaultTemplate(ts, node)) {
18
- // Annotate that this template is a default export
19
- setEmitMetadata(node.expression, { prepend: 'export default ' });
20
- return node;
21
- }
22
- else if (isETIDefaultSatisfiesTemplate(ts, node)) {
23
- // Annotate that this template is a default export
24
- setEmitMetadata(node.expression.expression, { prepend: 'export default ' });
25
- return node;
26
- }
27
- else if (isETITemplateExpression(ts, node)) {
28
- // Convert '[__T`foo`]' as an expression to just '__T`foo`'
29
- let location = findTemplateLocation(templateLocations, node);
30
- let template = node.elements[0];
31
- setEmitMetadata(template, {
32
- templateLocation: {
33
- start: location.startTagOffset,
34
- end: location.endTagOffset + location.endTagLength,
35
- contentStart: location.startTagOffset + location.startTagLength,
36
- contentEnd: location.endTagOffset,
37
- },
38
- });
39
- return template;
40
- }
41
- else if (isETITemplateProperty(ts, node)) {
42
- // Convert '[__T`foo`]' in a class body to 'static { __T`foo` }'
43
- let location = findTemplateLocation(templateLocations, node);
44
- let template = node.name.expression;
45
- setEmitMetadata(template, {
46
- prepend: 'static { ',
47
- append: ' }',
48
- templateLocation: {
49
- start: location.startTagOffset,
50
- end: location.endTagOffset + location.endTagLength,
51
- contentStart: location.startTagOffset + location.startTagLength,
52
- contentEnd: location.endTagOffset,
53
- },
54
- });
55
- return buildStaticBlockForTemplate(f, template);
56
- }
57
- return node;
58
- }
59
- };
60
- // Many location operations in the TS AST rely on having an unbroken chain
61
- // of `.parent` values fron a given node up to its containing `SourceFile`,
62
- // but its transformation framework does not maintain these by default,
63
- // so we explicitly reconnect nodes as we go.
64
- function repairAncestry(node, parent = node.parent) {
65
- // If the node already has a parent AND it's correct, we don't need
66
- // to descend further.
67
- if (parent && node.parent === parent)
68
- return node;
69
- Object.assign(node, { parent });
70
- node.forEachChild((child) => {
71
- repairAncestry(child, node);
72
- });
73
- return node;
74
- }
75
- function addTagImport(f, sourceFile) {
76
- return f.updateSourceFile(sourceFile, [
77
- f.createImportDeclaration([], f.createImportClause(false, undefined, f.createNamedImports([
78
- f.createImportSpecifier(false, f.createIdentifier('hbs'), f.createIdentifier(GLOBAL_TAG)),
79
- ])), f.createStringLiteral('@glint/ember-tsc/environment-ember-template-imports/-private/tag')),
80
- ...sourceFile.statements,
81
- ]);
82
- }
83
- /**
84
- * Implicit default export:
85
- *
86
- * ( <template></template> )
87
- * ^ ExpressionStatement
88
- *
89
- * ( <template></template> satisfies ... )
90
- * ^ SatisfiesExpression
91
- *
92
- * But!
93
- *
94
- * ( const X = <template></template> satisfies ... )
95
- * ^ VariableStatement
96
- *
97
- * So when we check for a wrapping SatisfiesExpression, we need to also make sure
98
- * the parent node is not a variable Statement.
99
- */
100
- function isETIDefaultTemplate(ts, node) {
101
- return ts.isExpressionStatement(node) && isETITemplateLiteral(ts, node.expression);
102
- }
103
- function isETIDefaultSatisfiesTemplate(ts, node) {
104
- return (ts.isExpressionStatement(node) &&
105
- ts.isSatisfiesExpression(node.expression) &&
106
- isETITemplateLiteral(ts, node.expression.expression));
107
- }
108
- function isETITemplateProperty(ts, node) {
109
- return (ts.isPropertyDeclaration(node) &&
110
- ts.isComputedPropertyName(node.name) &&
111
- isETITemplateLiteral(ts, node.name.expression));
112
- }
113
- function isETITemplateExpression(ts, node) {
114
- return (ts.isArrayLiteralExpression(node) &&
115
- node.elements.length === 1 &&
116
- isETITemplateLiteral(ts, node.elements[0]));
117
- }
118
- function isETITemplateLiteral(ts, node) {
119
- return (ts.isTaggedTemplateExpression(node) &&
120
- ts.isNoSubstitutionTemplateLiteral(node.template) &&
121
- ts.isIdentifier(node.tag) &&
122
- node.tag.text === GLOBAL_TAG);
123
- }
124
- function findTemplateLocation(locations, node) {
125
- let location = locations.find((loc) => loc.transformedStart === node.getStart());
126
- if (!location) {
127
- throw new Error('Internal error: missing location info for template');
128
- }
129
- return location;
130
- }
131
- function buildStaticBlockForTemplate(f, template) {
132
- return f.createClassStaticBlockDeclaration(f.createBlock([f.createExpressionStatement(template)]));
133
- }
134
- //# sourceMappingURL=transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/environment-ember-template-imports/-private/environment/transform.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { GlintConfig, loadConfig, findConfig } from './config/index.js';
2
- import { createEmberLanguagePlugin } from './volar/ember-language-plugin.js';
3
- import { VirtualGtsCode } from './volar/gts-virtual-code.js';
4
- import { augmentDiagnostics } from './transform/diagnostics/augmentation.js';
5
- export { loadConfig, findConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics };
6
- export type { GlintConfig };
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAEjG,YAAY,EAAE,WAAW,EAAE,CAAC"}
package/lib/index.js DELETED
@@ -1,6 +0,0 @@
1
- import { loadConfig, findConfig } from './config/index.js';
2
- import { createEmberLanguagePlugin } from './volar/ember-language-plugin.js';
3
- import { VirtualGtsCode } from './volar/gts-virtual-code.js';
4
- import { augmentDiagnostics } from './transform/diagnostics/augmentation.js';
5
- export { loadConfig, findConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics };
6
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { LanguageServicePlugin } from '@volar/language-service';
2
- /**
3
- * This LanguageServicePlugin surfaces compiler/syntax errors as diagnostics
4
- * within .gts/.gjs files, e.g. if there is an unclosed html tag or `{{` curly brace,
5
- * the entire `<template>` tag region will be highlighted as an error.
6
- *
7
- * @GLINT_FEATURE_DIAGNOSTICS
8
- * @GLINT_FEATURE_DIAGNOSTICS_LANGUAGE_SERVER
9
- * @GLINT_FEATURE_DIAGNOSTICS_LANGUAGE_SERVER_GTS_COMPILER_ERRORS
10
- */
11
- export declare function create(): LanguageServicePlugin;
12
- //# sourceMappingURL=g-compiler-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"g-compiler-errors.d.ts","sourceRoot":"","sources":["../../src/plugins/g-compiler-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIrE;;;;;;;;GAQG;AACH,wBAAgB,MAAM,IAAI,qBAAqB,CAqD9C"}