@glint/ember-tsc 1.5.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/environment-ember-template-imports/-private/environment/index.ts +48 -20
- 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 -24
- package/lib/config/index.d.ts.map +0 -1
- package/lib/config/index.js +0 -37
- 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 -180
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-to-typescript.js","sourceRoot":"","sources":["../../../src/transform/template/template-to-typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import type { AST } from '@glimmer/syntax';
|
|
2
|
-
import { CodeMapping } from '@volar/language-core';
|
|
3
|
-
import GlimmerASTMappingTree from './glimmer-ast-mapping-tree.js';
|
|
4
|
-
export type Range = {
|
|
5
|
-
start: number;
|
|
6
|
-
end: number;
|
|
7
|
-
};
|
|
8
|
-
export type RangeWithMapping = Range & {
|
|
9
|
-
mapping?: GlimmerASTMappingTree;
|
|
10
|
-
};
|
|
11
|
-
export type RangeWithMappingAndSource = RangeWithMapping & {
|
|
12
|
-
source: SourceFile;
|
|
13
|
-
};
|
|
14
|
-
export type CorrelatedSpan = {
|
|
15
|
-
/** Where this span of content originated */
|
|
16
|
-
originalFile: SourceFile;
|
|
17
|
-
/** The offset where this content began in its original source */
|
|
18
|
-
originalStart: number;
|
|
19
|
-
/** The length of this span's content in its original source */
|
|
20
|
-
originalLength: number;
|
|
21
|
-
/** The location in the untransformed source where this span is spliced in */
|
|
22
|
-
insertionPoint: number;
|
|
23
|
-
/** The contents of this span in the transformed output */
|
|
24
|
-
transformedSource: string;
|
|
25
|
-
/** The offset in the transformed output of this span */
|
|
26
|
-
transformedStart: number;
|
|
27
|
-
/** The length of this span in the transformed output */
|
|
28
|
-
transformedLength: number;
|
|
29
|
-
/** (Glimmer/Handlebars spans only:) A mapping of offsets within this span between its original and transformed versions */
|
|
30
|
-
glimmerAstMapping?: GlimmerASTMappingTree;
|
|
31
|
-
};
|
|
32
|
-
export type DirectiveKind = 'ignore' | 'expect-error' | 'nocheck';
|
|
33
|
-
export type Directive = {
|
|
34
|
-
kind: DirectiveKind;
|
|
35
|
-
commentNode: AST.CommentStatement | AST.MustacheCommentStatement;
|
|
36
|
-
source: SourceFile;
|
|
37
|
-
location: Range;
|
|
38
|
-
areaOfEffect: Range;
|
|
39
|
-
/** The number of errors that have been reported for this directive */
|
|
40
|
-
errorCount: number;
|
|
41
|
-
};
|
|
42
|
-
export type TransformError = {
|
|
43
|
-
isContentTagError?: boolean;
|
|
44
|
-
message: string;
|
|
45
|
-
location: Range;
|
|
46
|
-
source: SourceFile;
|
|
47
|
-
};
|
|
48
|
-
export type SourceFile = {
|
|
49
|
-
filename: string;
|
|
50
|
-
contents: string;
|
|
51
|
-
};
|
|
52
|
-
export type TemplateSymbol = {
|
|
53
|
-
start: number;
|
|
54
|
-
end: number;
|
|
55
|
-
startTagEnd: number;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* This class represents the result of transforming a TypeScript
|
|
59
|
-
* module with one or more embedded HBS templates. It contains
|
|
60
|
-
* both the original and transformed source text of the module, as
|
|
61
|
-
* well any errors encountered during transformation.
|
|
62
|
-
*
|
|
63
|
-
* It is used heavily for bidirectional source mapping between the original TS/HBS code
|
|
64
|
-
* and the singular transformed TS output (aka the Intermediate Representation).
|
|
65
|
-
* It can be queried with an offset or range in either the
|
|
66
|
-
* original or transformed source to determine the corresponding
|
|
67
|
-
* offset or range in the other.
|
|
68
|
-
*/
|
|
69
|
-
export default class TransformedModule {
|
|
70
|
-
readonly transformedContents: string;
|
|
71
|
-
readonly errors: ReadonlyArray<TransformError>;
|
|
72
|
-
readonly directives: ReadonlyArray<Directive>;
|
|
73
|
-
readonly correlatedSpans: Array<CorrelatedSpan>;
|
|
74
|
-
readonly originalFileName: string;
|
|
75
|
-
constructor(transformedContents: string, errors: ReadonlyArray<TransformError>, directives: ReadonlyArray<Directive>, correlatedSpans: Array<CorrelatedSpan>, originalFileName: string);
|
|
76
|
-
toDebugString(): string;
|
|
77
|
-
getOriginalOffset(transformedOffset: number): {
|
|
78
|
-
source?: SourceFile;
|
|
79
|
-
offset: number;
|
|
80
|
-
};
|
|
81
|
-
getTransformedOffset(originalFileName: string, originalOffset: number): number;
|
|
82
|
-
getOriginalRange(transformedStart: number, transformedEnd: number): RangeWithMappingAndSource;
|
|
83
|
-
getTransformedRange(originalFileName: string, originalStart: number, originalEnd: number): RangeWithMapping;
|
|
84
|
-
getExactTransformedRanges(originalFileName: string, originalStart: number, originalEnd: number): GlimmerASTMappingTree[];
|
|
85
|
-
findTemplateAtOriginalOffset(originalFileName: string, originalOffset: number): {
|
|
86
|
-
originalContentStart: number;
|
|
87
|
-
originalContentEnd: number;
|
|
88
|
-
originalContent: string;
|
|
89
|
-
} | null;
|
|
90
|
-
private determineOriginalOffsetAndSpan;
|
|
91
|
-
private determineTransformedOffsetAndSpan;
|
|
92
|
-
/**
|
|
93
|
-
* Converts the mappings in this transformed module to the format expected by Volar.
|
|
94
|
-
*
|
|
95
|
-
* The main difference between the two formats is that while the classic Glint transformation
|
|
96
|
-
* mappings support mapping a differently sized source region to a differently sized target region
|
|
97
|
-
* (e.g. `{{expectsAtLeastOneArg}}` in an .hbs file to `__glintDSL__.emitContent(__glintDSL__.resolveOrReturn(expectsAtLeastOneArg)());`
|
|
98
|
-
* in a generated TS file, in Volar you can only map regions of the same size.
|
|
99
|
-
*
|
|
100
|
-
* In the case that you need to map regions of different sizes in Volar, you need to use
|
|
101
|
-
* zero-length mappings to delineate regions/boundaries that should map to each other, otherwise there will
|
|
102
|
-
* be cases where TS diagnostics will fail to transform/map back to the original source. Example:
|
|
103
|
-
*
|
|
104
|
-
* - `{{[[ZEROLEN-A]][[expectsAtLeastOneArg]][[ZEROLEN-B]]}}`
|
|
105
|
-
* - to
|
|
106
|
-
* - `[[ZEROLEN-A]]__glintDSL__.emitContent(__glintDSL__.resolveOrReturn([[expectsAtLeastOneArg]])());[[ZEROLEN-B]]`
|
|
107
|
-
*/
|
|
108
|
-
toVolarMappings(filenameFilter?: string): CodeMapping[];
|
|
109
|
-
templateSymbols(): Array<TemplateSymbol>;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=transformed-module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformed-module.d.ts","sourceRoot":"","sources":["../../../src/transform/template/transformed-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
import { assert } from '../util.js';
|
|
2
|
-
import { codeFeatures } from './code-features.js';
|
|
3
|
-
/**
|
|
4
|
-
* This class represents the result of transforming a TypeScript
|
|
5
|
-
* module with one or more embedded HBS templates. It contains
|
|
6
|
-
* both the original and transformed source text of the module, as
|
|
7
|
-
* well any errors encountered during transformation.
|
|
8
|
-
*
|
|
9
|
-
* It is used heavily for bidirectional source mapping between the original TS/HBS code
|
|
10
|
-
* and the singular transformed TS output (aka the Intermediate Representation).
|
|
11
|
-
* It can be queried with an offset or range in either the
|
|
12
|
-
* original or transformed source to determine the corresponding
|
|
13
|
-
* offset or range in the other.
|
|
14
|
-
*/
|
|
15
|
-
export default class TransformedModule {
|
|
16
|
-
constructor(transformedContents, errors, directives, correlatedSpans, originalFileName) {
|
|
17
|
-
this.transformedContents = transformedContents;
|
|
18
|
-
this.errors = errors;
|
|
19
|
-
this.directives = directives;
|
|
20
|
-
this.correlatedSpans = correlatedSpans;
|
|
21
|
-
this.originalFileName = originalFileName;
|
|
22
|
-
}
|
|
23
|
-
toDebugString() {
|
|
24
|
-
let mappingStrings = this.correlatedSpans.map((span) => span.glimmerAstMapping?.toDebugString({
|
|
25
|
-
originalStart: span.originalStart,
|
|
26
|
-
originalSource: span.originalFile.contents.slice(span.originalStart, span.originalStart + span.originalLength),
|
|
27
|
-
transformedStart: span.transformedStart,
|
|
28
|
-
transformedSource: span.transformedSource,
|
|
29
|
-
}));
|
|
30
|
-
return `TransformedModule\n\n${mappingStrings.filter(Boolean).join('\n\n')}`;
|
|
31
|
-
}
|
|
32
|
-
getOriginalOffset(transformedOffset) {
|
|
33
|
-
let { start, source } = this.getOriginalRange(transformedOffset, transformedOffset);
|
|
34
|
-
return { source, offset: start };
|
|
35
|
-
}
|
|
36
|
-
getTransformedOffset(originalFileName, originalOffset) {
|
|
37
|
-
return this.getTransformedRange(originalFileName, originalOffset, originalOffset).start;
|
|
38
|
-
}
|
|
39
|
-
getOriginalRange(transformedStart, transformedEnd) {
|
|
40
|
-
let startInfo = this.determineOriginalOffsetAndSpan(transformedStart);
|
|
41
|
-
let endInfo = this.determineOriginalOffsetAndSpan(transformedEnd);
|
|
42
|
-
assert(startInfo.correlatedSpan.originalFile === endInfo.correlatedSpan.originalFile, 'Attempted to transform a range across two different files');
|
|
43
|
-
let source = startInfo.correlatedSpan.originalFile;
|
|
44
|
-
let start = startInfo.originalOffset;
|
|
45
|
-
let end = endInfo.originalOffset;
|
|
46
|
-
if (startInfo.correlatedSpan === endInfo.correlatedSpan) {
|
|
47
|
-
let { correlatedSpan } = startInfo;
|
|
48
|
-
let mapping = correlatedSpan.glimmerAstMapping?.narrowestMappingForTransformedRange({
|
|
49
|
-
start: start - correlatedSpan.originalStart,
|
|
50
|
-
end: end - correlatedSpan.originalStart,
|
|
51
|
-
});
|
|
52
|
-
if (mapping) {
|
|
53
|
-
let start = correlatedSpan.originalStart + mapping.originalRange.start;
|
|
54
|
-
let end = correlatedSpan.originalStart + mapping.originalRange.end;
|
|
55
|
-
return { mapping, start, end, source };
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return { start, end, source };
|
|
59
|
-
}
|
|
60
|
-
getTransformedRange(originalFileName, originalStart, originalEnd) {
|
|
61
|
-
let startInfo = this.determineTransformedOffsetAndSpan(originalFileName, originalStart);
|
|
62
|
-
let endInfo = this.determineTransformedOffsetAndSpan(originalFileName, originalEnd);
|
|
63
|
-
let start = startInfo.transformedOffset;
|
|
64
|
-
let end = endInfo.transformedOffset;
|
|
65
|
-
if (startInfo.correlatedSpan && startInfo.correlatedSpan === endInfo.correlatedSpan) {
|
|
66
|
-
let { correlatedSpan } = startInfo;
|
|
67
|
-
let mapping = correlatedSpan.glimmerAstMapping?.narrowestMappingForOriginalRange({
|
|
68
|
-
start: start - correlatedSpan.transformedStart,
|
|
69
|
-
end: end - correlatedSpan.transformedStart,
|
|
70
|
-
});
|
|
71
|
-
if (mapping) {
|
|
72
|
-
let start = correlatedSpan.transformedStart + mapping.transformedRange.start;
|
|
73
|
-
let end = correlatedSpan.transformedStart + mapping.transformedRange.end;
|
|
74
|
-
return { mapping, start, end };
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return { start, end };
|
|
78
|
-
}
|
|
79
|
-
getExactTransformedRanges(originalFileName, originalStart, originalEnd) {
|
|
80
|
-
let startInfo = this.determineTransformedOffsetAndSpan(originalFileName, originalStart);
|
|
81
|
-
let endInfo = this.determineTransformedOffsetAndSpan(originalFileName, originalEnd);
|
|
82
|
-
let start = startInfo.transformedOffset;
|
|
83
|
-
let end = endInfo.transformedOffset;
|
|
84
|
-
if (startInfo.correlatedSpan && startInfo.correlatedSpan === endInfo.correlatedSpan) {
|
|
85
|
-
let { correlatedSpan } = startInfo;
|
|
86
|
-
return (correlatedSpan.glimmerAstMapping?.exactMappingsForOriginalRange({
|
|
87
|
-
start: start - correlatedSpan.transformedStart,
|
|
88
|
-
end: end - correlatedSpan.transformedStart,
|
|
89
|
-
}) || []);
|
|
90
|
-
}
|
|
91
|
-
return [];
|
|
92
|
-
}
|
|
93
|
-
findTemplateAtOriginalOffset(originalFileName, originalOffset) {
|
|
94
|
-
let { correlatedSpan } = this.determineTransformedOffsetAndSpan(originalFileName, originalOffset);
|
|
95
|
-
if (!correlatedSpan.glimmerAstMapping) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
let templateMapping = correlatedSpan.glimmerAstMapping?.children[0];
|
|
99
|
-
assert(correlatedSpan.glimmerAstMapping?.sourceNode.type === 'TemplateEmbedding' &&
|
|
100
|
-
templateMapping?.sourceNode.type === 'Template', 'Internal error: unexpected mapping structure.' + ` (${templateMapping?.sourceNode.type})`);
|
|
101
|
-
let originalContentStart = correlatedSpan.originalStart + templateMapping.originalRange.start;
|
|
102
|
-
let originalContentEnd = correlatedSpan.originalStart + templateMapping.originalRange.end;
|
|
103
|
-
let originalContent = correlatedSpan.originalFile.contents.slice(originalContentStart, originalContentEnd);
|
|
104
|
-
return { originalContentStart, originalContentEnd, originalContent };
|
|
105
|
-
}
|
|
106
|
-
determineOriginalOffsetAndSpan(transformedOffset) {
|
|
107
|
-
for (let span of this.correlatedSpans) {
|
|
108
|
-
if (transformedOffset >= span.transformedStart &&
|
|
109
|
-
transformedOffset <= span.transformedStart + span.transformedLength) {
|
|
110
|
-
return {
|
|
111
|
-
originalOffset: transformedOffset - span.transformedStart + span.originalStart,
|
|
112
|
-
correlatedSpan: span,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
assert(false, 'Internal error: offset out of bounds');
|
|
117
|
-
}
|
|
118
|
-
determineTransformedOffsetAndSpan(originalFileName, originalOffset) {
|
|
119
|
-
for (let span of this.correlatedSpans) {
|
|
120
|
-
if (span.originalFile.filename === originalFileName &&
|
|
121
|
-
originalOffset >= span.originalStart &&
|
|
122
|
-
originalOffset < span.originalStart + span.originalLength) {
|
|
123
|
-
return {
|
|
124
|
-
transformedOffset: originalOffset - span.originalStart + span.transformedStart,
|
|
125
|
-
correlatedSpan: span,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
assert(false, 'Internal error: offset out of bounds');
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Converts the mappings in this transformed module to the format expected by Volar.
|
|
133
|
-
*
|
|
134
|
-
* The main difference between the two formats is that while the classic Glint transformation
|
|
135
|
-
* mappings support mapping a differently sized source region to a differently sized target region
|
|
136
|
-
* (e.g. `{{expectsAtLeastOneArg}}` in an .hbs file to `__glintDSL__.emitContent(__glintDSL__.resolveOrReturn(expectsAtLeastOneArg)());`
|
|
137
|
-
* in a generated TS file, in Volar you can only map regions of the same size.
|
|
138
|
-
*
|
|
139
|
-
* In the case that you need to map regions of different sizes in Volar, you need to use
|
|
140
|
-
* zero-length mappings to delineate regions/boundaries that should map to each other, otherwise there will
|
|
141
|
-
* be cases where TS diagnostics will fail to transform/map back to the original source. Example:
|
|
142
|
-
*
|
|
143
|
-
* - `{{[[ZEROLEN-A]][[expectsAtLeastOneArg]][[ZEROLEN-B]]}}`
|
|
144
|
-
* - to
|
|
145
|
-
* - `[[ZEROLEN-A]]__glintDSL__.emitContent(__glintDSL__.resolveOrReturn([[expectsAtLeastOneArg]])());[[ZEROLEN-B]]`
|
|
146
|
-
*/
|
|
147
|
-
toVolarMappings(filenameFilter) {
|
|
148
|
-
const codeMappings = [];
|
|
149
|
-
const push = (sourceOffset, generatedOffset, length, codeInformation) => {
|
|
150
|
-
// if (sourceOffsets.length > 0) {
|
|
151
|
-
// TODO: these assertions are firing for certain files/transformations, which means
|
|
152
|
-
// we're emitting unsorted mappings, which means volar has to fall back to an inefficient
|
|
153
|
-
// source mapping algorithm rather than using binary search:
|
|
154
|
-
// https://github.com/volarjs/volar.js/blob/3798f27684f5c671f06bf7a19e32bc489e652e14/packages/source-map/lib/translateOffset.ts#L18
|
|
155
|
-
//
|
|
156
|
-
// The fix for this is probably somewhere in the `template-to-typescript.ts` file, but I
|
|
157
|
-
// don't have a sense for how complicated that'll be.
|
|
158
|
-
// assert(
|
|
159
|
-
// sourceOffset >= sourceOffsets[sourceOffsets.length - 1],
|
|
160
|
-
// 'Source offsets should be monotonically increasing',
|
|
161
|
-
// );
|
|
162
|
-
// assert(
|
|
163
|
-
// generatedOffset >= generatedOffsets[generatedOffsets.length - 1],
|
|
164
|
-
// 'Generated offsets should be monotonically increasing',
|
|
165
|
-
// );
|
|
166
|
-
// }
|
|
167
|
-
codeMappings.push({
|
|
168
|
-
sourceOffsets: [sourceOffset],
|
|
169
|
-
generatedOffsets: [generatedOffset],
|
|
170
|
-
lengths: [length],
|
|
171
|
-
data: codeInformation || {},
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
let recurse = (span, mapping) => {
|
|
175
|
-
const children = mapping.children;
|
|
176
|
-
let { originalRange, transformedRange } = mapping;
|
|
177
|
-
let hbsStart = span.originalStart + originalRange.start;
|
|
178
|
-
let hbsEnd = span.originalStart + originalRange.end;
|
|
179
|
-
let tsStart = span.transformedStart + transformedRange.start;
|
|
180
|
-
let tsEnd = span.transformedStart + transformedRange.end;
|
|
181
|
-
// Push mappings for equal length mapping even if there are children;
|
|
182
|
-
// Need to support recursive `forNode()`s map monotonically
|
|
183
|
-
// smaller chunks of generated code to the same source region, e.g.
|
|
184
|
-
//
|
|
185
|
-
// source: `{{foo 1 2 3}}`
|
|
186
|
-
//
|
|
187
|
-
// This might produce something like:
|
|
188
|
-
//
|
|
189
|
-
// __glintDSL__.resolve('foo')(1, 2, 3)
|
|
190
|
-
//
|
|
191
|
-
// and depending on the nature of the type error, the diagnostic raised
|
|
192
|
-
// might originate from any of the following ranges:
|
|
193
|
-
//
|
|
194
|
-
// __glintDSL__.resolve('foo')(1, 2, 3)
|
|
195
|
-
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
196
|
-
//
|
|
197
|
-
// __glintDSL__.resolve('foo')(1, 2, 3)
|
|
198
|
-
// ~~~~~
|
|
199
|
-
//
|
|
200
|
-
// __glintDSL__.resolve('foo')(1, 2, 3)
|
|
201
|
-
// ~~~~~~~~~
|
|
202
|
-
//
|
|
203
|
-
// We have some flexibility as to whether we want to map back to the entire
|
|
204
|
-
// `{{foo 1 2 3}}` region or perhaps just `1 2 3` or some other subset, but regardless,
|
|
205
|
-
// we need to support the case that multiple overlapping (or even non-overlapping) spans
|
|
206
|
-
// of generated code map back to the same source region.
|
|
207
|
-
const hbsLength = hbsEnd - hbsStart;
|
|
208
|
-
const tsLength = tsEnd - tsStart;
|
|
209
|
-
// Disregard the "null zone" mappings, i.e. cases where TS code maps to empty HBS code
|
|
210
|
-
const isNonNullMapping = hbsLength > 0 && tsLength > 0;
|
|
211
|
-
if (children.length > 0) {
|
|
212
|
-
if (isNonNullMapping) {
|
|
213
|
-
push(hbsStart, tsStart, 0, mapping.codeInformation);
|
|
214
|
-
}
|
|
215
|
-
mapping.children.forEach((child) => {
|
|
216
|
-
recurse(span, child);
|
|
217
|
-
});
|
|
218
|
-
// Disregard the "null zone" mappings, i.e. cases where TS code maps to empty HBS code
|
|
219
|
-
if (isNonNullMapping) {
|
|
220
|
-
push(hbsEnd, tsEnd, 0, mapping.codeInformation);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
if (hbsLength === tsLength) {
|
|
225
|
-
push(hbsStart, tsStart, hbsLength, mapping.codeInformation);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
// Disregard the "null zone" mappings, i.e. cases where TS code maps to empty HBS code
|
|
229
|
-
if (isNonNullMapping) {
|
|
230
|
-
push(hbsStart, tsStart, 0, mapping.codeInformation);
|
|
231
|
-
push(hbsEnd, tsEnd, 0, mapping.codeInformation);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
this.correlatedSpans.forEach((span) => {
|
|
237
|
-
if (filenameFilter && span.originalFile.filename !== filenameFilter) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
if (span.glimmerAstMapping) {
|
|
241
|
-
// this span is transformation from HBS to TS (either the replaced contents
|
|
242
|
-
// within `<template>` tags in a .gts file
|
|
243
|
-
recurse(span, span.glimmerAstMapping);
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
// This span contains untransformed TS content (because it comes
|
|
247
|
-
// from a region of source code that is already TS, e.g. the top of a .gts file,
|
|
248
|
-
// outside of any `<template>` tags). Because there's no transformation,
|
|
249
|
-
// we expect these to be the same length (in fact, they
|
|
250
|
-
// should be the same string entirely)
|
|
251
|
-
// This assertion seemed valid when parsing .gts files with extracted hbs in <template> tags,
|
|
252
|
-
// but when parsing solo .hbs files in loose mode there were cases where, e.g.,
|
|
253
|
-
// originalLength == 0 and transformLength == 1;
|
|
254
|
-
// assert(
|
|
255
|
-
// span.originalLength === span.transformedLength,
|
|
256
|
-
// 'span length mismatch for untransformed content'
|
|
257
|
-
// );
|
|
258
|
-
if (span.originalLength === span.transformedLength) {
|
|
259
|
-
// TODO: audit usage of `codeFeatures.all` here: https://github.com/typed-ember/glint/issues/769
|
|
260
|
-
// There are cases where we need to be disabling certain features to prevent, e.g., navigation
|
|
261
|
-
// that targets an "in-between" piece of generated code.
|
|
262
|
-
push(span.originalStart, span.transformedStart, span.originalLength, {
|
|
263
|
-
...codeFeatures.all,
|
|
264
|
-
// This enables symbol/outline info for the transformed TS to appear in for the .gts file.
|
|
265
|
-
structure: true,
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
return codeMappings;
|
|
271
|
-
}
|
|
272
|
-
templateSymbols() {
|
|
273
|
-
const result = [];
|
|
274
|
-
this.correlatedSpans.forEach((span) => {
|
|
275
|
-
if (span.glimmerAstMapping) {
|
|
276
|
-
// This is a template span
|
|
277
|
-
result.push({
|
|
278
|
-
start: span.originalStart,
|
|
279
|
-
end: span.originalStart + span.originalLength,
|
|
280
|
-
startTagEnd: span.originalStart + span.originalLength,
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
return result;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
//# sourceMappingURL=transformed-module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformed-module.js","sourceRoot":"","sources":["../../../src/transform/template/transformed-module.ts"],"names":[],"mappings":"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"}
|
package/lib/transform/util.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type ts from 'typescript';
|
|
2
|
-
import { SourceFile } from './template/transformed-module.js';
|
|
3
|
-
export type TSLib = typeof ts;
|
|
4
|
-
export declare function unreachable(value: never, message?: string): never;
|
|
5
|
-
export declare function assert(test: unknown, message?: string | (() => string)): asserts test;
|
|
6
|
-
export declare function createSyntheticSourceFile(ts: TSLib, source: SourceFile): ts.SourceFile;
|
|
7
|
-
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/transform/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;AAE9B,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,SAAqB,GAAG,KAAK,CAE7E;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAoB,GAClD,OAAO,CAAC,IAAI,CAId;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,CAKtF"}
|
package/lib/transform/util.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function unreachable(value, message = 'unreachable code') {
|
|
2
|
-
throw new Error(`[ember-tsc] Internal error: ${message}`);
|
|
3
|
-
}
|
|
4
|
-
export function assert(test, message = 'Internal error') {
|
|
5
|
-
if (test == null || test === false) {
|
|
6
|
-
throw new Error(typeof message === 'string' ? message : message());
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export function createSyntheticSourceFile(ts, source) {
|
|
10
|
-
return Object.assign(ts.createSourceFile(source.filename, '', ts.ScriptTarget.Latest), {
|
|
11
|
-
text: source.contents,
|
|
12
|
-
end: source.contents.length,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/transform/util.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,OAAO,GAAG,kBAAkB;IACpE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,IAAa,EACb,UAAmC,gBAAgB;IAEnD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAS,EAAE,MAAkB;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACrF,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LanguagePlugin } from '@volar/language-core';
|
|
2
|
-
import type ts from 'typescript';
|
|
3
|
-
import { URI } from 'vscode-uri';
|
|
4
|
-
import { GlintConfig } from '../index.js';
|
|
5
|
-
export type TS = typeof ts;
|
|
6
|
-
/**
|
|
7
|
-
* Create a [Volar](https://volarjs.dev) language plugin to support
|
|
8
|
-
*
|
|
9
|
-
* - .gts/.gjs files (the `ember-template-imports` environment)
|
|
10
|
-
*/
|
|
11
|
-
export declare function createEmberLanguagePlugin<T extends URI | string>(glintConfig: GlintConfig, { clientId }?: {
|
|
12
|
-
clientId?: string;
|
|
13
|
-
}): LanguagePlugin<T>;
|
|
14
|
-
//# sourceMappingURL=ember-language-plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ember-language-plugin.d.ts","sourceRoot":"","sources":["../../src/volar/ember-language-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,EAC9D,WAAW,EAAE,WAAW,EACxB,EAAE,QAAQ,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,cAAc,CAAC,CAAC,CAAC,CA4FnB"}
|