@glint/tsserver-plugin 2.0.0-alpha.1 → 2.0.0-alpha.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.
package/README.md CHANGED
@@ -3,3 +3,4 @@
3
3
  The TypeScript server plugin that performs type-checking.
4
4
 
5
5
  Old Glint used the LanguageServer to perform type-checking; Glint 2 uses a TypeScript server plugin to follow suit with Volar.
6
+
@@ -0,0 +1,34 @@
1
+ declare const plugin: any;
2
+ export = plugin;
3
+ /**
4
+ * Return semantic tokens for semantic highlighting:
5
+ * https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide
6
+ function getEncodedSemanticClassifications<T>(
7
+ ts: typeof import('typescript'),
8
+ language: any, // Language<T>,
9
+ languageService: ts.LanguageService,
10
+ asScriptId: (fileName: string) => T,
11
+ getEncodedSemanticClassifications: ts.LanguageService['getEncodedSemanticClassifications'],
12
+ ): ts.LanguageService['getEncodedSemanticClassifications'] {
13
+ return (filePath, span, format) => {
14
+ const fileName = filePath.replace(windowsPathReg, '/');
15
+ const result = getEncodedSemanticClassifications(fileName, span, format);
16
+ const sourceScript = language.scripts.get(asScriptId(fileName));
17
+ const root = sourceScript?.generated?.root;
18
+ if (root instanceof VirtualGtsCode) {
19
+ // This would remove all semantic highlighting from .gts files, including the TS parts
20
+ // outside of the `<template>` tags, which is probably undesirable.
21
+ // result.spans = [];
22
+
23
+ // We can push span to the end of the array to override previous entries.
24
+ // result.spans.push(
25
+ // 0,
26
+ // 100,
27
+ // 256, // class
28
+ // );
29
+ }
30
+ return result;
31
+ };
32
+ }
33
+ */
34
+ //# sourceMappingURL=typescript-server-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-server-plugin.d.ts","sourceRoot":"","sources":["../src/typescript-server-plugin.ts"],"names":[],"mappings":"AA+BA,QAAA,MAAM,MAAM,KA8FX,CAAC;AAEF,SAAS,MAAM,CAAC;AAqIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
@@ -0,0 +1,213 @@
1
+ const { createJiti } = require('jiti');
2
+ const jiti = createJiti(__filename);
3
+ const { createLanguageServicePlugin, } = require('@volar/typescript/lib/quickstart/createLanguageServicePlugin.js');
4
+ /**
5
+ * We use the jiti (https://github.com/unjs/jiti) runtime to make it possible to
6
+ * synchronously load the ESM glint libraries from the current CommonJS context.
7
+ * It is a requirement that TypeScript plugins are written in CommonJS, which poses issues
8
+ * with having Glint be authored in ESM due to the requirement that typically `await import`
9
+ * is required to load ESM modules from CJS. But with jiti we can synchronously load the ESM
10
+ * modules from CJS which lets us avoid a ton of hacks and complexity we (or Volar)
11
+ * would otherwise have to write to bridge the sync/async APIs.
12
+ */
13
+ let glintCorePath = '@glint/core';
14
+ try {
15
+ // @ts-expect-error esbuild define
16
+ glintCorePath = GLINT_CORE_PATH;
17
+ }
18
+ catch {
19
+ // Ignore; must not be running in esbuild context
20
+ }
21
+ const glintCore = jiti(glintCorePath);
22
+ const { VirtualGtsCode, LooseModeBackingComponentClassVirtualCode, augmentDiagnostics } = glintCore;
23
+ const plugin = createLanguageServicePlugin((ts, info) => {
24
+ const { findConfig, createEmberLanguagePlugin } = glintCore;
25
+ const cwd = info.languageServiceHost.getCurrentDirectory();
26
+ const glintConfig = findConfig(cwd);
27
+ // Uncomment as a smoke test to see if the plugin is running
28
+ const enableLogging = false;
29
+ if (glintConfig) {
30
+ if (enableLogging) {
31
+ info.project.projectService.logger.info('Glint TS Plugin is running!');
32
+ }
33
+ const gtsLanguagePlugin = createEmberLanguagePlugin(glintConfig);
34
+ return {
35
+ languagePlugins: [gtsLanguagePlugin],
36
+ setup: (language) => {
37
+ // project2Service.set(info.project, [
38
+ // language,
39
+ // info.languageServiceHost,
40
+ // info.languageService,
41
+ // ]);
42
+ info.languageService = proxyLanguageServiceForGlint(ts, language, info.languageService, (fileName) => fileName);
43
+ const resolveModuleNameLiterals = info.languageServiceHost.resolveModuleNameLiterals?.bind(info.languageServiceHost);
44
+ if (resolveModuleNameLiterals) {
45
+ // TS isn't aware of our custom .gts/.gjs extensions by default which causes
46
+ // issues with resolving imports that omit extensions. We hackishly "teach"
47
+ // TS about these extensions by overriding `resolveModuleNameLiterals` to
48
+ // inject non-existent imports that cause TS to consider the extensions when
49
+ // resolving.
50
+ //
51
+ // Origin of this hack:
52
+ // https://github.com/typed-ember/glint/issues/806#issuecomment-2758616327
53
+ info.languageServiceHost.resolveModuleNameLiterals = (moduleLiterals, containingFile, redirectedReference, options, ...rest) => {
54
+ let fakeImportNodes = [];
55
+ if (moduleLiterals.length > 0) {
56
+ fakeImportNodes.push({
57
+ ...moduleLiterals[0],
58
+ text: './__NONEXISTENT_GLINT_HACK__.gts',
59
+ });
60
+ fakeImportNodes.push({
61
+ ...moduleLiterals[0],
62
+ text: './__NONEXISTENT_GLINT_HACK__.gjs',
63
+ });
64
+ }
65
+ const result = resolveModuleNameLiterals([...fakeImportNodes, ...moduleLiterals], containingFile, redirectedReference, options, ...rest);
66
+ return result.slice(fakeImportNodes.length);
67
+ };
68
+ }
69
+ // #3963
70
+ // const timer = setInterval(() => {
71
+ // if (info.project['program']) {
72
+ // clearInterval(timer);
73
+ // info.project['program'].__glint__ = { language };
74
+ // }
75
+ // }, 50);
76
+ },
77
+ };
78
+ }
79
+ else {
80
+ if (enableLogging) {
81
+ info.project.projectService.logger.info('Glint TS Plugin is NOT running!');
82
+ }
83
+ return {
84
+ languagePlugins: [],
85
+ };
86
+ }
87
+ });
88
+ module.exports = plugin;
89
+ function proxyLanguageServiceForGlint(ts, language, // Language<T>,
90
+ languageService, asScriptId) {
91
+ const proxyCache = new Map();
92
+ const getProxyMethod = (target, p) => {
93
+ switch (p) {
94
+ case 'getCompletionsAtPosition':
95
+ return getCompletionsAtPosition(ts, language, languageService, asScriptId, target[p]);
96
+ // case 'getCompletionEntryDetails': return getCompletionEntryDetails(language, asScriptId, target[p]);
97
+ // case 'getCodeFixesAtPosition': return getCodeFixesAtPosition(target[p]);
98
+ // case 'getDefinitionAndBoundSpan': return getDefinitionAndBoundSpan(ts, language, languageService, glintOptions, asScriptId, target[p]);
99
+ // case 'getQuickInfoAtPosition': return getQuickInfoAtPosition(ts, target, target[p]);
100
+ // TS plugin only
101
+ // Left as an example in case we want to augment semantic classification in .gts files.
102
+ // e.g. Vue does this to semantically classify Component names as `class` tokens.
103
+ // case 'getEncodedSemanticClassifications':
104
+ // return getEncodedSemanticClassifications(ts, language, target, asScriptId, target[p]);
105
+ case 'getSemanticDiagnostics':
106
+ return getSemanticDiagnostics(ts, language, languageService, asScriptId, target[p]);
107
+ }
108
+ };
109
+ return new Proxy(languageService, {
110
+ get(target, p, receiver) {
111
+ if (getProxyMethod) {
112
+ if (!proxyCache.has(p)) {
113
+ proxyCache.set(p, getProxyMethod(target, p));
114
+ }
115
+ const proxyMethod = proxyCache.get(p);
116
+ if (proxyMethod) {
117
+ return proxyMethod;
118
+ }
119
+ }
120
+ return Reflect.get(target, p, receiver);
121
+ },
122
+ set(target, p, value, receiver) {
123
+ return Reflect.set(target, p, value, receiver);
124
+ },
125
+ });
126
+ }
127
+ function getCompletionsAtPosition(ts, language, // Language<T>,
128
+ languageService, asScriptId, getCompletionsAtPosition) {
129
+ return (fileName, position, options, formattingSettings) => {
130
+ try {
131
+ const sourceScript = language.scripts.get(asScriptId(fileName));
132
+ const root = sourceScript?.generated?.root;
133
+ const transformedModule = root?.transformedModule;
134
+ const completions = getCompletionsAtPosition(fileName, position, options, formattingSettings);
135
+ const transformedRange = transformedModule?.getTransformedRange(transformedModule.originalFileName, position, position);
136
+ if (completions && transformedRange) {
137
+ // for attribute names on elements, we do not want the wrapping `"`.
138
+ if (transformedRange.mapping?.parent?.sourceNode.type === 'ElementNode') {
139
+ completions.entries = completions.entries.map((e) => ({
140
+ ...e,
141
+ name: e.name.replace(/^"/, '').replace(/"$/, ''),
142
+ sortText: e.sortText.replace(/\\"/g, ''),
143
+ }));
144
+ }
145
+ }
146
+ console.log(completions);
147
+ return completions;
148
+ }
149
+ catch (e) {
150
+ console.log('error', e?.message);
151
+ console.log(e);
152
+ throw e;
153
+ }
154
+ };
155
+ }
156
+ function getSemanticDiagnostics(ts, language, // Language<T>,
157
+ languageService, asScriptId, getSemanticDiagnostics) {
158
+ return (fileName) => {
159
+ const tsDiagnostics = getSemanticDiagnostics(fileName);
160
+ const program = languageService.getProgram();
161
+ const sourceScript = language.scripts.get(asScriptId(fileName));
162
+ if (!sourceScript?.generated) {
163
+ return tsDiagnostics;
164
+ }
165
+ const root = sourceScript.generated.root;
166
+ if (!(root instanceof VirtualGtsCode || root instanceof LooseModeBackingComponentClassVirtualCode)) {
167
+ return tsDiagnostics;
168
+ }
169
+ const transformedModule = root.transformedModule;
170
+ if (!transformedModule) {
171
+ return tsDiagnostics;
172
+ }
173
+ const sourceFile = program.getSourceFile(fileName);
174
+ if (!sourceFile) {
175
+ return tsDiagnostics;
176
+ }
177
+ const augmentedTsDiagnostics = augmentDiagnostics(ts, sourceFile, transformedModule, tsDiagnostics);
178
+ return augmentedTsDiagnostics;
179
+ };
180
+ }
181
+ const windowsPathReg = /\\/g;
182
+ /**
183
+ * Return semantic tokens for semantic highlighting:
184
+ * https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide
185
+ function getEncodedSemanticClassifications<T>(
186
+ ts: typeof import('typescript'),
187
+ language: any, // Language<T>,
188
+ languageService: ts.LanguageService,
189
+ asScriptId: (fileName: string) => T,
190
+ getEncodedSemanticClassifications: ts.LanguageService['getEncodedSemanticClassifications'],
191
+ ): ts.LanguageService['getEncodedSemanticClassifications'] {
192
+ return (filePath, span, format) => {
193
+ const fileName = filePath.replace(windowsPathReg, '/');
194
+ const result = getEncodedSemanticClassifications(fileName, span, format);
195
+ const sourceScript = language.scripts.get(asScriptId(fileName));
196
+ const root = sourceScript?.generated?.root;
197
+ if (root instanceof VirtualGtsCode) {
198
+ // This would remove all semantic highlighting from .gts files, including the TS parts
199
+ // outside of the `<template>` tags, which is probably undesirable.
200
+ // result.spans = [];
201
+
202
+ // We can push span to the end of the array to override previous entries.
203
+ // result.spans.push(
204
+ // 0,
205
+ // 100,
206
+ // 256, // class
207
+ // );
208
+ }
209
+ return result;
210
+ };
211
+ }
212
+ */
213
+ //# sourceMappingURL=typescript-server-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-server-plugin.js","sourceRoot":"","sources":["../src/typescript-server-plugin.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACvC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAIpC,MAAM,EACJ,2BAA2B,GAC5B,GAAG,OAAO,CAAC,iEAAiE,CAAC,CAAC;AAE/E;;;;;;;;GAQG;AACH,IAAI,aAAa,GAAG,aAAa,CAAC;AAClC,IAAI,CAAC;IACH,kCAAkC;IAClC,aAAa,GAAG,eAAe,CAAC;AAClC,CAAC;AAAC,MAAM,CAAC;IACP,iDAAiD;AACnD,CAAC;AACD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAEtC,MAAM,EAAE,cAAc,EAAE,yCAAyC,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;AAEpG,MAAM,MAAM,GAAG,2BAA2B,CACxC,CAAC,EAA+B,EAAE,IAAgC,EAAE,EAAE;IACpE,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IAE5D,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEpC,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC;IAE5B,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO;YACL,eAAe,EAAE,CAAC,iBAAiB,CAAC;YACpC,KAAK,EAAE,CAAC,QAAa,EAAE,EAAE;gBACvB,sCAAsC;gBACtC,cAAc;gBACd,8BAA8B;gBAC9B,0BAA0B;gBAC1B,MAAM;gBAEN,IAAI,CAAC,eAAe,GAAG,4BAA4B,CACjD,EAAE,EACF,QAAQ,EACR,IAAI,CAAC,eAAe,EACpB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CACvB,CAAC;gBAEF,MAAM,yBAAyB,GAC7B,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAErF,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,4EAA4E;oBAC5E,2EAA2E;oBAC3E,yEAAyE;oBACzE,4EAA4E;oBAC5E,aAAa;oBACb,EAAE;oBACF,uBAAuB;oBACvB,0EAA0E;oBAC1E,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,CACnD,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,GAAG,IAAI,EACP,EAAE;wBACF,IAAI,eAAe,GAAQ,EAAE,CAAC;wBAC9B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9B,eAAe,CAAC,IAAI,CAAC;gCACnB,GAAG,cAAc,CAAC,CAAC,CAAC;gCACpB,IAAI,EAAE,kCAAkC;6BACzC,CAAC,CAAC;4BACH,eAAe,CAAC,IAAI,CAAC;gCACnB,GAAG,cAAc,CAAC,CAAC,CAAC;gCACpB,IAAI,EAAE,kCAAkC;6BACzC,CAAC,CAAC;wBACL,CAAC;wBAED,MAAM,MAAM,GAAG,yBAAyB,CACtC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,EACvC,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,GAAG,IAAI,CACR,CAAC;wBAEF,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC,CAAC;gBACJ,CAAC;gBAED,QAAQ;gBACR,oCAAoC;gBACpC,mCAAmC;gBACnC,4BAA4B;gBAC5B,wDAAwD;gBACxD,MAAM;gBACN,UAAU;YACZ,CAAC;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;iBAEO,MAAM;AAEf,SAAS,4BAA4B,CACnC,EAA+B,EAC/B,QAAa,EAAE,eAAe;AAC9B,eAAmC,EACnC,UAAmC;IAEnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;IACpE,MAAM,cAAc,GAAG,CAAC,MAA0B,EAAE,CAAkB,EAAwB,EAAE;QAC9F,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,0BAA0B;gBAC7B,OAAO,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,uGAAuG;YACvG,2EAA2E;YAC3E,0IAA0I;YAC1I,uFAAuF;YACvF,iBAAiB;YAEjB,uFAAuF;YACvF,iFAAiF;YACjF,4CAA4C;YAC5C,2FAA2F;YAE3F,KAAK,wBAAwB;gBAC3B,OAAO,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE;QAChC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;YACrB,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,WAAW,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ;YAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,EAA+B,EAC/B,QAAa,EAAE,eAAe;AAC9B,eAAmC,EACnC,UAAmC,EACnC,wBAAwE;IAExE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC;YAC3C,MAAM,iBAAiB,GAAsB,IAAI,EAAE,iBAAiB,CAAC;YACrE,MAAM,WAAW,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC9F,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,mBAAmB,CAC7D,iBAAiB,CAAC,gBAAgB,EAClC,QAAQ,EACR,QAAQ,CACT,CAAC;YACF,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAAC;gBACpC,oEAAoE;gBACpE,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpD,GAAG,CAAC;wBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;qBACzC,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,WAAY,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,OAAO,EAAG,CAAS,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,EAA+B,EAC/B,QAAa,EAAE,eAAe;AAC9B,eAAmC,EACnC,UAAmC,EACnC,sBAAoE;IAEpE,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAG,CAAC;QAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;QACzC,IACE,CAAC,CAAC,IAAI,YAAY,cAAc,IAAI,IAAI,YAAY,yCAAyC,CAAC,EAC9F,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,sBAAsB,GAAG,kBAAkB,CAC/C,EAAE,EACF,UAAU,EACV,iBAAiB,EACjB,aAAa,CACd,CAAC;QAEF,OAAO,sBAAsB,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glint/tsserver-plugin",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.2",
4
4
  "type": "commonjs",
5
5
  "repository": "typed-ember/glint",
6
6
  "description": "TypeScript Server Plugin for Glint",
@@ -18,7 +18,7 @@
18
18
  "@volar/typescript": "2.4.12",
19
19
  "jiti": "~2.4.2",
20
20
  "typescript": ">=5.6.0",
21
- "@glint/core": "2.0.0-alpha.1"
21
+ "@glint/core": "2.0.0-alpha.2"
22
22
  },
23
23
  "release-plan": {
24
24
  "semverIncrementAs": {