@glint/ember-tsc 1.4.0 → 1.5.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.
@@ -1,3 +1,4 @@
1
+ import type TS from 'typescript';
1
2
  import { GlintConfig } from './config.js';
2
3
  export { GlintConfig } from './config.js';
3
4
  export { GlintEnvironment } from './environment.js';
@@ -14,4 +15,10 @@ export declare function loadConfig(from: string): GlintConfig;
14
15
  * found.
15
16
  */
16
17
  export declare function findConfig(from: string): GlintConfig | null;
18
+ /**
19
+ * Creates a default GlintConfig with ember-template-imports environment
20
+ * for use when no tsconfig.json or jsconfig.json exists. This enables
21
+ * Glint to provide IntelliSense in JavaScript-only Ember projects.
22
+ */
23
+ export declare function createDefaultConfig(ts: typeof TS, rootDir: string): GlintConfig;
17
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAE3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAG/E"}
@@ -1,4 +1,6 @@
1
+ import * as path from 'node:path';
1
2
  import SilentError from 'silent-error';
3
+ import { GlintConfig } from './config.js';
2
4
  import { ConfigLoader } from './loader.js';
3
5
  export { GlintConfig } from './config.js';
4
6
  export { GlintEnvironment } from './environment.js';
@@ -23,4 +25,13 @@ export function loadConfig(from) {
23
25
  export function findConfig(from) {
24
26
  return new ConfigLoader().configForDirectory(from);
25
27
  }
28
+ /**
29
+ * Creates a default GlintConfig with ember-template-imports environment
30
+ * for use when no tsconfig.json or jsconfig.json exists. This enables
31
+ * Glint to provide IntelliSense in JavaScript-only Ember projects.
32
+ */
33
+ export function createDefaultConfig(ts, rootDir) {
34
+ const syntheticConfigPath = path.join(rootDir, 'jsconfig.json');
35
+ return new GlintConfig(ts, syntheticConfigPath, { environment: 'ember-template-imports' });
36
+ }
26
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,WAAW,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,YAAY,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,WAAW,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,YAAY,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAa,EAAE,OAAe;IAChE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChE,OAAO,IAAI,WAAW,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC7F,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { GlintConfig, loadConfig, findConfig } from './config/index.js';
1
+ import { GlintConfig, loadConfig, findConfig, createDefaultConfig } from './config/index.js';
2
2
  import { createEmberLanguagePlugin } from './volar/ember-language-plugin.js';
3
3
  import { VirtualGtsCode } from './volar/gts-virtual-code.js';
4
4
  import { augmentDiagnostics } from './transform/diagnostics/augmentation.js';
5
- export { loadConfig, findConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics };
5
+ export { loadConfig, findConfig, createDefaultConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics, };
6
6
  export type { GlintConfig };
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,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,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,GACnB,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { loadConfig, findConfig } from './config/index.js';
1
+ import { loadConfig, findConfig, createDefaultConfig } from './config/index.js';
2
2
  import { createEmberLanguagePlugin } from './volar/ember-language-plugin.js';
3
3
  import { VirtualGtsCode } from './volar/gts-virtual-code.js';
4
4
  import { augmentDiagnostics } from './transform/diagnostics/augmentation.js';
5
- export { loadConfig, findConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics };
5
+ export { loadConfig, findConfig, createDefaultConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics, };
6
6
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,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,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,GACnB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import * as path from 'node:path';
1
2
  import { createLanguage } from '@volar/language-core';
2
3
  import { createLanguageServiceEnvironment } from '@volar/language-server/lib/project/simpleProject.js';
3
4
  import { createConnection, createServer } from '@volar/language-server/node.js';
@@ -7,6 +8,7 @@ import { create as createHtmlSyntacticPlugin } from 'volar-service-html';
7
8
  import { create as createTypeScriptSyntacticPlugin } from 'volar-service-typescript/lib/plugins/syntactic.js';
8
9
  import { URI } from 'vscode-uri';
9
10
  import { ConfigLoader } from '../config/loader.js';
11
+ import { createDefaultConfig } from '../config/index.js';
10
12
  import { create as createCompilerErrorsPlugin } from '../plugins/g-compiler-errors.js';
11
13
  import { create as createComponentHoverPlugin } from '../plugins/g-component-hover.js';
12
14
  import { create as createTemplateTagSymbolsPlugin } from '../plugins/g-template-tag-symbols.js';
@@ -119,20 +121,27 @@ connection.onInitialize((params) => {
119
121
  getLanguageId: (uri) => server.documents.get(uri)?.languageId,
120
122
  },
121
123
  ];
122
- if (tsconfigFileName) {
123
- const configLoader = new ConfigLoader(logInfo);
124
- const glintConfig = configLoader.configForFile(tsconfigFileName);
125
- if (glintConfig) {
126
- logInfo(`Glint config active for ${tsconfigFileName}.`);
127
- const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
128
- languagePlugins.push(emberLanguagePlugin);
124
+ {
125
+ let glintConfig = null;
126
+ const isRealConfigFile = tsconfigFileName &&
127
+ !tsconfigFileName.startsWith('/dev/null') &&
128
+ tsconfigFileName.endsWith('.json');
129
+ if (isRealConfigFile) {
130
+ const configLoader = new ConfigLoader(logInfo);
131
+ glintConfig = configLoader.configForFile(tsconfigFileName);
129
132
  }
130
- else {
131
- logWarn(`Glint config not found for ${tsconfigFileName}; Glint features disabled.`);
133
+ if (!glintConfig) {
134
+ const rootDir = isRealConfigFile
135
+ ? path.dirname(tsconfigFileName)
136
+ : params.workspaceFolders?.[0]
137
+ ? URI.parse(params.workspaceFolders[0].uri).fsPath
138
+ : process.cwd();
139
+ logInfo(`Using default Glint config for ${rootDir}.`);
140
+ glintConfig = createDefaultConfig(ts, rootDir);
132
141
  }
133
- }
134
- else {
135
- logWarn('No tsconfig/jsconfig provided; Glint config cannot be resolved.');
142
+ logInfo(`Glint config active for ${tsconfigFileName ?? 'default'}.`);
143
+ const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
144
+ languagePlugins.push(emberLanguagePlugin);
136
145
  }
137
146
  const language = createLanguage(languagePlugins, createUriMap(), (uri) => {
138
147
  const document = server.documents.get(uri);
@@ -1 +1 @@
1
- {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/volar/language-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/volar/language-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glint/ember-tsc",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "repository": "typed-ember/glint",
5
5
  "description": "A CLI for performing typechecking on Glimmer templates",
6
6
  "license": "MIT",
@@ -1,4 +1,6 @@
1
+ import * as path from 'node:path';
1
2
  import SilentError from 'silent-error';
3
+ import type TS from 'typescript';
2
4
  import { GlintConfig } from './config.js';
3
5
  import { ConfigLoader } from './loader.js';
4
6
 
@@ -28,3 +30,13 @@ export function loadConfig(from: string): GlintConfig {
28
30
  export function findConfig(from: string): GlintConfig | null {
29
31
  return new ConfigLoader().configForDirectory(from);
30
32
  }
33
+
34
+ /**
35
+ * Creates a default GlintConfig with ember-template-imports environment
36
+ * for use when no tsconfig.json or jsconfig.json exists. This enables
37
+ * Glint to provide IntelliSense in JavaScript-only Ember projects.
38
+ */
39
+ export function createDefaultConfig(ts: typeof TS, rootDir: string): GlintConfig {
40
+ const syntheticConfigPath = path.join(rootDir, 'jsconfig.json');
41
+ return new GlintConfig(ts, syntheticConfigPath, { environment: 'ember-template-imports' });
42
+ }
package/src/index.ts CHANGED
@@ -1,9 +1,16 @@
1
- import { GlintConfig, loadConfig, findConfig } from './config/index.js';
1
+ import { GlintConfig, loadConfig, findConfig, createDefaultConfig } from './config/index.js';
2
2
  import { createEmberLanguagePlugin } from './volar/ember-language-plugin.js';
3
3
 
4
4
  import { VirtualGtsCode } from './volar/gts-virtual-code.js';
5
5
  import { augmentDiagnostics } from './transform/diagnostics/augmentation.js';
6
6
 
7
- export { loadConfig, findConfig, createEmberLanguagePlugin, VirtualGtsCode, augmentDiagnostics };
7
+ export {
8
+ loadConfig,
9
+ findConfig,
10
+ createDefaultConfig,
11
+ createEmberLanguagePlugin,
12
+ VirtualGtsCode,
13
+ augmentDiagnostics,
14
+ };
8
15
 
9
16
  export type { GlintConfig };
@@ -1,3 +1,4 @@
1
+ import * as path from 'node:path';
1
2
  import { createLanguage } from '@volar/language-core';
2
3
  import type { LanguagePlugin, LanguageServer } from '@volar/language-server';
3
4
  import { createLanguageServiceEnvironment } from '@volar/language-server/lib/project/simpleProject.js';
@@ -9,6 +10,7 @@ import { create as createHtmlSyntacticPlugin } from 'volar-service-html';
9
10
  import { create as createTypeScriptSyntacticPlugin } from 'volar-service-typescript/lib/plugins/syntactic.js';
10
11
  import { URI } from 'vscode-uri';
11
12
  import { ConfigLoader } from '../config/loader.js';
13
+ import { createDefaultConfig } from '../config/index.js';
12
14
  import { create as createCompilerErrorsPlugin } from '../plugins/g-compiler-errors.js';
13
15
  import { create as createComponentHoverPlugin } from '../plugins/g-component-hover.js';
14
16
  import type { ComponentMeta, TsPluginClient } from '../plugins/g-component-hover.js';
@@ -143,18 +145,28 @@ connection.onInitialize((params) => {
143
145
  },
144
146
  ];
145
147
 
146
- if (tsconfigFileName) {
147
- const configLoader = new ConfigLoader(logInfo);
148
- const glintConfig = configLoader.configForFile(tsconfigFileName);
149
- if (glintConfig) {
150
- logInfo(`Glint config active for ${tsconfigFileName}.`);
151
- const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
152
- languagePlugins.push(emberLanguagePlugin);
153
- } else {
154
- logWarn(`Glint config not found for ${tsconfigFileName}; Glint features disabled.`);
148
+ {
149
+ let glintConfig = null;
150
+ const isRealConfigFile =
151
+ tsconfigFileName &&
152
+ !tsconfigFileName.startsWith('/dev/null') &&
153
+ tsconfigFileName.endsWith('.json');
154
+ if (isRealConfigFile) {
155
+ const configLoader = new ConfigLoader(logInfo);
156
+ glintConfig = configLoader.configForFile(tsconfigFileName);
157
+ }
158
+ if (!glintConfig) {
159
+ const rootDir = isRealConfigFile
160
+ ? path.dirname(tsconfigFileName!)
161
+ : params.workspaceFolders?.[0]
162
+ ? URI.parse(params.workspaceFolders[0].uri).fsPath
163
+ : process.cwd();
164
+ logInfo(`Using default Glint config for ${rootDir}.`);
165
+ glintConfig = createDefaultConfig(ts, rootDir);
155
166
  }
156
- } else {
157
- logWarn('No tsconfig/jsconfig provided; Glint config cannot be resolved.');
167
+ logInfo(`Glint config active for ${tsconfigFileName ?? 'default'}.`);
168
+ const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
169
+ languagePlugins.push(emberLanguagePlugin);
158
170
  }
159
171
 
160
172
  const language = createLanguage<URI>(languagePlugins, createUriMap(), (uri) => {