@glint/ember-tsc 1.4.0 → 1.6.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.
- package/package.json +14 -3
- package/src/config/index.ts +12 -0
- package/src/environment-ember-template-imports/-private/environment/index.ts +48 -20
- package/src/index.ts +9 -2
- package/src/volar/language-server.ts +23 -11
- package/types/-private/dsl/globals.d.ts +316 -1
- package/types/-private/intrinsics/array-hash.d.ts +17 -0
- package/types/-private/intrinsics/comparison.d.ts +36 -0
- package/types/-private/intrinsics/element.d.ts +14 -0
- package/types/-private/intrinsics/truth-convert.d.ts +86 -0
- package/types/-private/intrinsics/truth-helpers.d.ts +32 -0
- package/lib/cli/run-volar-tsc.d.ts +0 -2
- package/lib/cli/run-volar-tsc.d.ts.map +0 -1
- package/lib/cli/run-volar-tsc.js +0 -32
- package/lib/cli/run-volar-tsc.js.map +0 -1
- package/lib/config/config.d.ts +0 -15
- package/lib/config/config.d.ts.map +0 -1
- package/lib/config/config.js +0 -21
- package/lib/config/config.js.map +0 -1
- package/lib/config/environment.d.ts +0 -26
- package/lib/config/environment.d.ts.map +0 -1
- package/lib/config/environment.js +0 -96
- package/lib/config/environment.js.map +0 -1
- package/lib/config/index.d.ts +0 -17
- package/lib/config/index.d.ts.map +0 -1
- package/lib/config/index.js +0 -26
- package/lib/config/index.js.map +0 -1
- package/lib/config/loader.d.ts +0 -28
- package/lib/config/loader.d.ts.map +0 -1
- package/lib/config/loader.js +0 -121
- package/lib/config/loader.js.map +0 -1
- package/lib/config/types.cjs +0 -3
- package/lib/config/types.cjs.map +0 -1
- package/lib/config/types.d.cts +0 -60
- package/lib/config/types.d.cts.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/common.d.ts +0 -13
- package/lib/environment-ember-template-imports/-private/environment/common.d.ts.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/common.js +0 -2
- package/lib/environment-ember-template-imports/-private/environment/common.js.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/index.d.ts +0 -3
- package/lib/environment-ember-template-imports/-private/environment/index.d.ts.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/index.js +0 -76
- package/lib/environment-ember-template-imports/-private/environment/index.js.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts +0 -4
- package/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/preprocess.js +0 -42
- package/lib/environment-ember-template-imports/-private/environment/preprocess.js.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/transform.d.ts +0 -4
- package/lib/environment-ember-template-imports/-private/environment/transform.d.ts.map +0 -1
- package/lib/environment-ember-template-imports/-private/environment/transform.js +0 -134
- package/lib/environment-ember-template-imports/-private/environment/transform.js.map +0 -1
- package/lib/index.d.ts +0 -7
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -6
- package/lib/index.js.map +0 -1
- package/lib/plugins/g-compiler-errors.d.ts +0 -12
- package/lib/plugins/g-compiler-errors.d.ts.map +0 -1
- package/lib/plugins/g-compiler-errors.js +0 -58
- package/lib/plugins/g-compiler-errors.js.map +0 -1
- package/lib/plugins/g-component-hover.d.ts +0 -24
- package/lib/plugins/g-component-hover.d.ts.map +0 -1
- package/lib/plugins/g-component-hover.js +0 -135
- package/lib/plugins/g-component-hover.js.map +0 -1
- package/lib/plugins/g-template-tag-symbols.d.ts +0 -11
- package/lib/plugins/g-template-tag-symbols.d.ts.map +0 -1
- package/lib/plugins/g-template-tag-symbols.js +0 -48
- package/lib/plugins/g-template-tag-symbols.js.map +0 -1
- package/lib/plugins/utils.d.ts +0 -25
- package/lib/plugins/utils.d.ts.map +0 -1
- package/lib/plugins/utils.js +0 -63
- package/lib/plugins/utils.js.map +0 -1
- package/lib/transform/diagnostics/augmentation.d.ts +0 -4
- package/lib/transform/diagnostics/augmentation.d.ts.map +0 -1
- package/lib/transform/diagnostics/augmentation.js +0 -249
- package/lib/transform/diagnostics/augmentation.js.map +0 -1
- package/lib/transform/diagnostics/index.d.ts +0 -5
- package/lib/transform/diagnostics/index.d.ts.map +0 -1
- package/lib/transform/diagnostics/index.js +0 -2
- package/lib/transform/diagnostics/index.js.map +0 -1
- package/lib/transform/index.d.ts +0 -4
- package/lib/transform/index.d.ts.map +0 -1
- package/lib/transform/index.js +0 -2
- package/lib/transform/index.js.map +0 -1
- package/lib/transform/template/code-features.d.ts +0 -30
- package/lib/transform/template/code-features.d.ts.map +0 -1
- package/lib/transform/template/code-features.js +0 -26
- package/lib/transform/template/code-features.js.map +0 -1
- package/lib/transform/template/glimmer-ast-mapping-tree.d.ts +0 -80
- package/lib/transform/template/glimmer-ast-mapping-tree.d.ts.map +0 -1
- package/lib/transform/template/glimmer-ast-mapping-tree.js +0 -132
- package/lib/transform/template/glimmer-ast-mapping-tree.js.map +0 -1
- package/lib/transform/template/inlining/index.d.ts +0 -16
- package/lib/transform/template/inlining/index.d.ts.map +0 -1
- package/lib/transform/template/inlining/index.js +0 -21
- package/lib/transform/template/inlining/index.js.map +0 -1
- package/lib/transform/template/inlining/tagged-strings.d.ts +0 -8
- package/lib/transform/template/inlining/tagged-strings.d.ts.map +0 -1
- package/lib/transform/template/inlining/tagged-strings.js +0 -140
- package/lib/transform/template/inlining/tagged-strings.js.map +0 -1
- package/lib/transform/template/map-template-contents.d.ts +0 -121
- package/lib/transform/template/map-template-contents.d.ts.map +0 -1
- package/lib/transform/template/map-template-contents.js +0 -287
- package/lib/transform/template/map-template-contents.js.map +0 -1
- package/lib/transform/template/rewrite-module.d.ts +0 -22
- package/lib/transform/template/rewrite-module.d.ts.map +0 -1
- package/lib/transform/template/rewrite-module.js +0 -265
- package/lib/transform/template/rewrite-module.js.map +0 -1
- package/lib/transform/template/scope-stack.d.ts +0 -13
- package/lib/transform/template/scope-stack.d.ts.map +0 -1
- package/lib/transform/template/scope-stack.js +0 -28
- package/lib/transform/template/scope-stack.js.map +0 -1
- package/lib/transform/template/template-to-typescript.d.ts +0 -19
- package/lib/transform/template/template-to-typescript.d.ts.map +0 -1
- package/lib/transform/template/template-to-typescript.js +0 -1125
- package/lib/transform/template/template-to-typescript.js.map +0 -1
- package/lib/transform/template/transformed-module.d.ts +0 -111
- package/lib/transform/template/transformed-module.d.ts.map +0 -1
- package/lib/transform/template/transformed-module.js +0 -287
- package/lib/transform/template/transformed-module.js.map +0 -1
- package/lib/transform/util.d.ts +0 -7
- package/lib/transform/util.d.ts.map +0 -1
- package/lib/transform/util.js +0 -15
- package/lib/transform/util.js.map +0 -1
- package/lib/volar/ember-language-plugin.d.ts +0 -14
- package/lib/volar/ember-language-plugin.d.ts.map +0 -1
- package/lib/volar/ember-language-plugin.js +0 -91
- package/lib/volar/ember-language-plugin.js.map +0 -1
- package/lib/volar/gts-virtual-code.d.ts +0 -83
- package/lib/volar/gts-virtual-code.d.ts.map +0 -1
- package/lib/volar/gts-virtual-code.js +0 -210
- package/lib/volar/gts-virtual-code.js.map +0 -1
- package/lib/volar/language-server.d.ts +0 -2
- package/lib/volar/language-server.d.ts.map +0 -1
- package/lib/volar/language-server.js +0 -171
- package/lib/volar/language-server.js.map +0 -1
- package/lib/volar/script-snapshot.d.ts +0 -17
- package/lib/volar/script-snapshot.d.ts.map +0 -1
- package/lib/volar/script-snapshot.js +0 -24
- package/lib/volar/script-snapshot.js.map +0 -1
|
@@ -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 +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 +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 +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,CA0C/D,CAAC"}
|
|
@@ -1,42 +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
|
-
let templates = p.parse(source, { filename: path });
|
|
8
|
-
let templateLocations = [];
|
|
9
|
-
let contents = '';
|
|
10
|
-
let sourceOffset = 0;
|
|
11
|
-
for (let template of templates) {
|
|
12
|
-
let startTagOffset = template.startRange.startUtf16Codepoint;
|
|
13
|
-
let startTagEnd = template.startRange.endUtf16Codepoint;
|
|
14
|
-
let endTagOffset = template.endRange.startUtf16Codepoint;
|
|
15
|
-
let endTagEnd = template.endRange.endUtf16Codepoint;
|
|
16
|
-
contents += source.slice(sourceOffset, startTagOffset);
|
|
17
|
-
let transformedStart = contents.length;
|
|
18
|
-
contents += TEMPLATE_START;
|
|
19
|
-
let templateContent = source.slice(startTagEnd, endTagOffset);
|
|
20
|
-
let escapedContent = templateContent.replaceAll('${{', '\\${{').replaceAll('`', '\\`');
|
|
21
|
-
contents += escapedContent;
|
|
22
|
-
contents += TEMPLATE_END;
|
|
23
|
-
let transformedEnd = contents.length;
|
|
24
|
-
sourceOffset = endTagEnd;
|
|
25
|
-
templateLocations.push({
|
|
26
|
-
startTagOffset,
|
|
27
|
-
endTagOffset,
|
|
28
|
-
startTagLength: startTagEnd - startTagOffset,
|
|
29
|
-
endTagLength: endTagEnd - endTagOffset,
|
|
30
|
-
transformedStart,
|
|
31
|
-
transformedEnd,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
contents += source.slice(sourceOffset);
|
|
35
|
-
return {
|
|
36
|
-
contents,
|
|
37
|
-
data: {
|
|
38
|
-
templateLocations,
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
//# 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":"AACA,OAAO,EAAE,UAAU,EAAoC,MAAM,aAAa,CAAC;AAE3E,MAAM,cAAc,GAAG,IAAI,UAAU,IAAI,CAAC;AAC1C,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,MAAM,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAA6C,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IACnF,IAAI,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,IAAI,iBAAiB,GAA4B,EAAE,CAAC;IACpD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACxD,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzD,IAAI,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAEpD,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAEvD,IAAI,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,QAAQ,IAAI,cAAc,CAAC;QAE3B,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvF,QAAQ,IAAI,cAAc,CAAC;QAC3B,QAAQ,IAAI,YAAY,CAAC;QACzB,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QAErC,YAAY,GAAG,SAAS,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC;YACrB,cAAc;YACd,YAAY;YACZ,cAAc,EAAE,WAAW,GAAG,cAAc;YAC5C,YAAY,EAAE,SAAS,GAAG,YAAY;YACtC,gBAAgB;YAChB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO;QACL,QAAQ;QACR,IAAI,EAAE;YACJ,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -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
|
package/lib/index.d.ts.map
DELETED
|
@@ -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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { getEmbeddedInfo } from './utils.js';
|
|
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 function create() {
|
|
12
|
-
return {
|
|
13
|
-
name: 'g-compiler-errors',
|
|
14
|
-
capabilities: {
|
|
15
|
-
diagnosticProvider: {
|
|
16
|
-
interFileDependencies: false,
|
|
17
|
-
workspaceDiagnostics: false,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
create(context) {
|
|
21
|
-
return {
|
|
22
|
-
provideDiagnostics(document) {
|
|
23
|
-
// `gts` is the ID of the root virtual code within the virtual/embedded code tree of our GtsVirtualCode.
|
|
24
|
-
// It is the untransformed .gts file; we use this file to generate diagnostics for
|
|
25
|
-
// `<template>` tag compiler errors because the diagnostic regions within the errors
|
|
26
|
-
// we get back from the compiler are already relative to the root/outer .gts file
|
|
27
|
-
// rather than relative to start of the template tag.
|
|
28
|
-
const info = getEmbeddedInfo(context, document, 'gts');
|
|
29
|
-
if (!info) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const virtualCode = info.root;
|
|
33
|
-
const transformedModule = virtualCode.transformedModule;
|
|
34
|
-
if (!transformedModule) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const parseErrors = [];
|
|
38
|
-
for (const error of transformedModule.errors) {
|
|
39
|
-
const start = document.positionAt(error.location.start);
|
|
40
|
-
const end = document.positionAt(error.location.end);
|
|
41
|
-
parseErrors.push({
|
|
42
|
-
range: {
|
|
43
|
-
start: start,
|
|
44
|
-
end: end,
|
|
45
|
-
},
|
|
46
|
-
severity: 1,
|
|
47
|
-
code: 9999,
|
|
48
|
-
source: 'glint',
|
|
49
|
-
message: error.message,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return parseErrors;
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=g-compiler-errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g-compiler-errors.js","sourceRoot":"","sources":["../../src/plugins/g-compiler-errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,YAAY,EAAE;YACZ,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,MAAM,CAAC,OAAO;YACZ,OAAO;gBACL,kBAAkB,CAAC,QAAQ;oBACzB,wGAAwG;oBACxG,kFAAkF;oBAClF,oFAAoF;oBACpF,iFAAiF;oBACjF,qDAAqD;oBACrD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAEvD,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAE9B,MAAM,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;oBACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,OAAO;oBACT,CAAC;oBAED,MAAM,WAAW,GAAwB,EAAE,CAAC;oBAE5C,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;wBAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAEpD,WAAW,CAAC,IAAI,CAAC;4BACf,KAAK,EAAE;gCACL,KAAK,EAAE,KAAK;gCACZ,GAAG,EAAE,GAAG;6BACT;4BACD,QAAQ,EAAE,CAAkD;4BAC5D,IAAI,EAAE,IAAI;4BACV,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,WAAW,CAAC;gBACrB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { LanguageServicePlugin } from '@volar/language-service';
|
|
2
|
-
export interface ComponentMeta {
|
|
3
|
-
args: Array<{
|
|
4
|
-
name: string;
|
|
5
|
-
type: string;
|
|
6
|
-
description: string;
|
|
7
|
-
required: boolean;
|
|
8
|
-
tags: Array<{
|
|
9
|
-
name: string;
|
|
10
|
-
text?: string;
|
|
11
|
-
}>;
|
|
12
|
-
}>;
|
|
13
|
-
blocks: Array<{
|
|
14
|
-
name: string;
|
|
15
|
-
params: string;
|
|
16
|
-
}>;
|
|
17
|
-
element: string | null;
|
|
18
|
-
description: string;
|
|
19
|
-
}
|
|
20
|
-
export type TsPluginClient = {
|
|
21
|
-
getComponentMeta(fileName: string, tagName: string): Promise<ComponentMeta | null>;
|
|
22
|
-
};
|
|
23
|
-
export declare function create(getTsPluginClient: () => TsPluginClient | undefined): LanguageServicePlugin;
|
|
24
|
-
//# sourceMappingURL=g-component-hover.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g-component-hover.d.ts","sourceRoot":"","sources":["../../src/plugins/g-component-hover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKrE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CACpF,CAAC;AAEF,wBAAgB,MAAM,CAAC,iBAAiB,EAAE,MAAM,cAAc,GAAG,SAAS,GAAG,qBAAqB,CA6CjG"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { getEmbeddedInfo } from './utils.js';
|
|
2
|
-
export function create(getTsPluginClient) {
|
|
3
|
-
return {
|
|
4
|
-
name: 'g-component-hover',
|
|
5
|
-
capabilities: {
|
|
6
|
-
hoverProvider: true,
|
|
7
|
-
},
|
|
8
|
-
create(_context) {
|
|
9
|
-
return {
|
|
10
|
-
async provideHover(document, position) {
|
|
11
|
-
const info = getEmbeddedInfo(_context, document, 'gts');
|
|
12
|
-
if (!info)
|
|
13
|
-
return;
|
|
14
|
-
const { root } = info;
|
|
15
|
-
const transformedModule = root.transformedModule;
|
|
16
|
-
if (!transformedModule)
|
|
17
|
-
return;
|
|
18
|
-
const offset = document.offsetAt(position);
|
|
19
|
-
const componentInfo = findComponentAtOffset(transformedModule, offset);
|
|
20
|
-
if (!componentInfo)
|
|
21
|
-
return;
|
|
22
|
-
const tsPluginClient = getTsPluginClient();
|
|
23
|
-
if (!tsPluginClient)
|
|
24
|
-
return;
|
|
25
|
-
const filePath = info.sourceScript.id.fsPath;
|
|
26
|
-
const meta = await tsPluginClient.getComponentMeta(filePath, componentInfo.tagName);
|
|
27
|
-
if (!meta)
|
|
28
|
-
return;
|
|
29
|
-
const content = formatComponentHover(componentInfo.tagName, meta);
|
|
30
|
-
if (!content)
|
|
31
|
-
return;
|
|
32
|
-
return {
|
|
33
|
-
range: {
|
|
34
|
-
start: document.positionAt(componentInfo.tagStart),
|
|
35
|
-
end: document.positionAt(componentInfo.tagEnd),
|
|
36
|
-
},
|
|
37
|
-
contents: {
|
|
38
|
-
kind: 'markdown',
|
|
39
|
-
value: content,
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function findComponentAtOffset(transformedModule, offset) {
|
|
48
|
-
for (const span of transformedModule.correlatedSpans) {
|
|
49
|
-
if (!span.glimmerAstMapping)
|
|
50
|
-
continue;
|
|
51
|
-
if (offset < span.originalStart || offset >= span.originalStart + span.originalLength)
|
|
52
|
-
continue;
|
|
53
|
-
const relativeOffset = offset - span.originalStart;
|
|
54
|
-
const elementNode = findElementNodeInTree(span.glimmerAstMapping, relativeOffset);
|
|
55
|
-
if (!elementNode)
|
|
56
|
-
continue;
|
|
57
|
-
if (elementNode.sourceNode.type !== 'ElementNode')
|
|
58
|
-
continue;
|
|
59
|
-
const tagName = elementNode.sourceNode.tag;
|
|
60
|
-
const firstChar = tagName.charAt(0);
|
|
61
|
-
// Components are PascalCase or namespaced (Foo.Bar)
|
|
62
|
-
if (firstChar !== firstChar.toUpperCase() && !tagName.includes('.')) {
|
|
63
|
-
return null; // plain element
|
|
64
|
-
}
|
|
65
|
-
const elementStart = span.originalStart + elementNode.originalRange.start;
|
|
66
|
-
const source = span.originalFile.contents;
|
|
67
|
-
const tagNameIdx = source.indexOf(tagName, elementStart);
|
|
68
|
-
const tagStart = tagNameIdx >= 0 ? tagNameIdx : elementStart;
|
|
69
|
-
const tagEnd = tagStart + tagName.length;
|
|
70
|
-
return { tagName, tagStart, tagEnd };
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
function findElementNodeInTree(tree, offset) {
|
|
75
|
-
if (offset < tree.originalRange.start || offset >= tree.originalRange.end) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
// Check children first (depth-first, find the deepest ElementNode)
|
|
79
|
-
for (const child of tree.children) {
|
|
80
|
-
const result = findElementNodeInTree(child, offset);
|
|
81
|
-
if (result)
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
if (tree.sourceNode?.type === 'ElementNode') {
|
|
85
|
-
return tree;
|
|
86
|
-
}
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
function formatComponentHover(tagName, meta) {
|
|
90
|
-
const hasArgs = meta.args.length > 0;
|
|
91
|
-
const hasBlocks = meta.blocks.length > 0;
|
|
92
|
-
const hasElement = meta.element && meta.element !== 'unknown' && meta.element !== 'null';
|
|
93
|
-
if (!hasArgs && !hasBlocks && !hasElement && !meta.description)
|
|
94
|
-
return null;
|
|
95
|
-
const lines = [];
|
|
96
|
-
if (meta.description) {
|
|
97
|
-
lines.push(meta.description);
|
|
98
|
-
lines.push('');
|
|
99
|
-
}
|
|
100
|
-
lines.push('```typescript');
|
|
101
|
-
lines.push(`interface ${tagName}Signature {`);
|
|
102
|
-
if (hasElement) {
|
|
103
|
-
lines.push(` Element: ${meta.element}`);
|
|
104
|
-
}
|
|
105
|
-
if (hasArgs) {
|
|
106
|
-
lines.push(' Args: {');
|
|
107
|
-
for (const arg of meta.args) {
|
|
108
|
-
const opt = arg.required ? '' : '?';
|
|
109
|
-
const deprecatedTag = arg.tags.find((t) => t.name === 'deprecated');
|
|
110
|
-
if (deprecatedTag) {
|
|
111
|
-
// Strike through only the property name using Unicode combining
|
|
112
|
-
// strikethrough (U+0336) — keeps the type readable and syntax-highlighted.
|
|
113
|
-
const reason = deprecatedTag.text ? ` ${deprecatedTag.text}` : '';
|
|
114
|
-
const struckName = arg.name.split('').join('\u0336') + '\u0336';
|
|
115
|
-
lines.push(` ${struckName}${opt}: ${arg.type} // @deprecated${reason}`);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
const comment = arg.description ? ` // ${arg.description}` : '';
|
|
119
|
-
lines.push(` ${arg.name}${opt}: ${arg.type}${comment}`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
lines.push(' }');
|
|
123
|
-
}
|
|
124
|
-
if (hasBlocks) {
|
|
125
|
-
lines.push(' Blocks: {');
|
|
126
|
-
for (const block of meta.blocks) {
|
|
127
|
-
lines.push(` ${block.name}: ${block.params}`);
|
|
128
|
-
}
|
|
129
|
-
lines.push(' }');
|
|
130
|
-
}
|
|
131
|
-
lines.push('}');
|
|
132
|
-
lines.push('```');
|
|
133
|
-
return lines.join('\n');
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=g-component-hover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g-component-hover.js","sourceRoot":"","sources":["../../src/plugins/g-component-hover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { LanguageServicePlugin } from '@volar/language-service';
|
|
2
|
-
/**
|
|
3
|
-
* Provides symbols for `<template>` tags within .gts/.gjs files.
|
|
4
|
-
* This among other things faciliates code folding of the `<template>` region.
|
|
5
|
-
*
|
|
6
|
-
* Note that this ONLY provides symbols for the `<template>` tag and none of the
|
|
7
|
-
* contents of the template tag. Symbols inside or outside the template tag are actually
|
|
8
|
-
* generated by the syntactic TS LanguageServicePlugin (search `createTypeScriptSyntacticPlugin`).
|
|
9
|
-
*/
|
|
10
|
-
export declare function create(): LanguageServicePlugin;
|
|
11
|
-
//# sourceMappingURL=g-template-tag-symbols.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g-template-tag-symbols.d.ts","sourceRoot":"","sources":["../../src/plugins/g-template-tag-symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIrE;;;;;;;GAOG;AACH,wBAAgB,MAAM,IAAI,qBAAqB,CAyC9C"}
|