chrome-devtools-frontend 1.0.1704172 → 1.0.1706026
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/AUTHORS +1 -0
- package/docs/architecture_of_devtools.md +1 -1
- package/docs/cookbook/localization.md +2 -2
- package/eslint.config.mjs +1 -0
- package/front_end/Images/src/nodejsHex.svg +28 -0
- package/front_end/core/common/README.md +4 -3
- package/front_end/core/sdk/CPUThrottlingManager.ts +14 -10
- package/front_end/core/sdk/DOMModel.ts +65 -20
- package/front_end/core/sdk/DebuggerModel.ts +0 -4
- package/front_end/core/sdk/PageResourceLoader.ts +12 -11
- package/front_end/core/sdk/SourceMap.ts +7 -5
- package/front_end/core/sdk/SourceMapFunctionRanges.ts +22 -37
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +3 -3
- package/front_end/core/sdk/SourceMapScopesInfo.ts +50 -62
- package/front_end/entrypoints/formatter_actions/formatter_actions.ts +18 -0
- package/front_end/entrypoints/formatter_worker/Substitute.ts +9 -8
- package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +9 -4
- package/front_end/entrypoints/heap_snapshot_worker/ContextAnalyzer.ts +140 -20
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +16 -5
- package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -1
- package/front_end/foundation/Universe.ts +9 -0
- package/front_end/generated/InspectorBackendCommands.ts +4 -3
- package/front_end/generated/protocol.ts +17 -1
- package/front_end/models/ai_assistance/AiConversation.ts +16 -3
- package/front_end/models/ai_assistance/skills/accessibility.md +8 -7
- package/front_end/models/formatter/FormatterWorkerPool.ts +14 -4
- package/front_end/models/javascript_metadata/NativeFunctions.ts +6 -2
- package/front_end/models/source_map_scopes/NamesResolver.ts +69 -42
- package/front_end/models/source_map_scopes/ScopeChainModel.ts +13 -45
- package/front_end/models/source_map_scopes/ScopeChainResolver.ts +101 -0
- package/front_end/models/source_map_scopes/source_map_scopes.ts +2 -0
- package/front_end/panels/application/BackgroundServiceView.ts +1 -0
- package/front_end/panels/application/components/AdsView.ts +6 -6
- package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
- package/front_end/panels/console/ConsolePrompt.ts +2 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +3 -0
- package/front_end/panels/elements/ClassesPaneWidget.ts +4 -1
- package/front_end/panels/elements/LayoutPane.ts +17 -20
- package/front_end/panels/network/NetworkLogViewColumns.ts +10 -3
- package/front_end/panels/network/ShowMoreDetailsWidget.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +14 -7
- package/front_end/panels/sources/BreakpointEditDialog.ts +13 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +69 -58
- package/front_end/panels/sources/EditingLocationHistoryManager.ts +6 -6
- package/front_end/panels/sources/OpenFileQuickOpen.ts +2 -2
- package/front_end/panels/sources/Plugin.ts +3 -2
- package/front_end/panels/sources/ResourceOriginPlugin.ts +14 -17
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +2 -2
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/sources/SourcesView.ts +25 -82
- package/front_end/panels/sources/TabbedEditorContainer.ts +75 -21
- package/front_end/panels/sources/UISourceCodeFrame.ts +22 -13
- package/front_end/panels/sources/sourcesView.css +17 -27
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/source-map-scopes-codec/README.chromium +2 -2
- package/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +14 -1
- package/front_end/third_party/source-map-scopes-codec/package/README.md +8 -6
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +4 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +3 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts +4 -3
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/deno.json +6 -2
- package/front_end/third_party/source-map-scopes-codec/package/package.json +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +18 -2
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +22 -3
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +33 -5
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +41 -5
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -2
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +4 -3
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +99 -36
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +143 -49
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +3 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +3 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +40 -18
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +51 -21
- package/front_end/third_party/source-map-scopes-codec/package/src/scopes.ts +4 -3
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +18 -4
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +18 -4
- package/front_end/ui/comments/CommentOverlayManager.ts +23 -10
- package/front_end/ui/components/text_editor/javascript.ts +128 -52
- package/front_end/ui/legacy/README.md +12 -12
- package/front_end/ui/legacy/SearchableView.ts +125 -74
- package/front_end/ui/legacy/components/source_frame/FontView.ts +5 -5
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +13 -13
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -6
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -2
- package/mcp/mcp.ts +1 -0
- package/package.json +1 -1
- package/front_end/Images/nodeIcon.avif +0 -0
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
export var Tag = /*#__PURE__*/ function(Tag) {
|
|
5
|
-
Tag[Tag["EMPTY"] = 0] = "EMPTY";
|
|
6
5
|
Tag[Tag["ORIGINAL_SCOPE_START"] = 1] = "ORIGINAL_SCOPE_START";
|
|
7
6
|
Tag[Tag["ORIGINAL_SCOPE_END"] = 2] = "ORIGINAL_SCOPE_END";
|
|
8
7
|
Tag[Tag["ORIGINAL_SCOPE_VARIABLES"] = 3] = "ORIGINAL_SCOPE_VARIABLES";
|
|
@@ -15,7 +14,6 @@ export var Tag = /*#__PURE__*/ function(Tag) {
|
|
|
15
14
|
return Tag;
|
|
16
15
|
}({});
|
|
17
16
|
export var EncodedTag = /*#__PURE__*/ function(EncodedTag) {
|
|
18
|
-
EncodedTag["EMPTY"] = "A";
|
|
19
17
|
EncodedTag["ORIGINAL_SCOPE_START"] = "B";
|
|
20
18
|
EncodedTag["ORIGINAL_SCOPE_END"] = "C";
|
|
21
19
|
EncodedTag["ORIGINAL_SCOPE_VARIABLES"] = "D";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sources":["./codec.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,IAAA,AAAW,6BAAA
|
|
1
|
+
{"version":3,"file":"codec.js","sources":["./codec.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,IAAA,AAAW,6BAAA;;;;;;;;;;SAAA;MAUjB;AAED,OAAO,IAAA,AAAW,oCAAA;;;;;;;;;;SAAA;MAUjB;AAED,OAAO,IAAA,AAAW,4CAAA;;;;SAAA;MAIjB;AAED,OAAO,IAAA,AAAW,6CAAA;;;;;SAAA;MAKjB"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
export const enum Tag {
|
|
6
|
-
EMPTY = 0x0,
|
|
7
6
|
ORIGINAL_SCOPE_START = 0x1,
|
|
8
7
|
ORIGINAL_SCOPE_END = 0x2,
|
|
9
8
|
ORIGINAL_SCOPE_VARIABLES = 0x3,
|
|
@@ -16,7 +15,6 @@ export const enum Tag {
|
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
export const enum EncodedTag {
|
|
19
|
-
EMPTY = "A", // 0x0
|
|
20
18
|
ORIGINAL_SCOPE_START = "B", // 0x1
|
|
21
19
|
ORIGINAL_SCOPE_END = "C", // 0x2
|
|
22
20
|
ORIGINAL_SCOPE_VARIABLES = "D", // 0x3
|
|
@@ -53,5 +51,8 @@ export interface GeneratedRangeStartItem {
|
|
|
53
51
|
flags: number;
|
|
54
52
|
line?: number;
|
|
55
53
|
column: number;
|
|
56
|
-
|
|
54
|
+
definition?: {
|
|
55
|
+
sourceIdx: number;
|
|
56
|
+
scopeIdx: number;
|
|
57
|
+
};
|
|
57
58
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
import { GeneratedRangeFlags, OriginalScopeFlags, Tag } from "../codec.js";
|
|
5
|
+
import { comparePositions } from "../util.js";
|
|
5
6
|
import { TokenIterator } from "../vlq.js";
|
|
6
7
|
/**
|
|
7
8
|
* The mode decides how well-formed the encoded scopes have to be, to be accepted by the decoder.
|
|
@@ -45,14 +46,14 @@ export function decode(sourceMap, options = DEFAULT_DECODE_OPTIONS) {
|
|
|
45
46
|
return decodeMap(sourceMap, opts);
|
|
46
47
|
}
|
|
47
48
|
function decodeMap(sourceMap, options) {
|
|
48
|
-
if (!sourceMap.scopes || !sourceMap.names) {
|
|
49
|
+
if (!sourceMap.scopes && !sourceMap.ranges || !sourceMap.names) {
|
|
49
50
|
return {
|
|
50
51
|
scopes: [],
|
|
51
52
|
ranges: [],
|
|
52
53
|
hasVariableAndBindingInfo: false
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
|
-
return new Decoder(sourceMap.scopes, sourceMap.names, options).decode();
|
|
56
|
+
return new Decoder(sourceMap.scopes ?? [], sourceMap.ranges ?? [], sourceMap.names, options).decode();
|
|
56
57
|
}
|
|
57
58
|
function decodeIndexMap(sourceMap, options) {
|
|
58
59
|
const scopeInfo = {
|
|
@@ -81,12 +82,15 @@ const DEFAULT_SCOPE_STATE = {
|
|
|
81
82
|
const DEFAULT_RANGE_STATE = {
|
|
82
83
|
line: 0,
|
|
83
84
|
column: 0,
|
|
85
|
+
defSourceIdx: 0,
|
|
84
86
|
defScopeIdx: 0
|
|
85
87
|
};
|
|
86
88
|
class Decoder {
|
|
87
89
|
#encodedScopes;
|
|
90
|
+
#encodedRanges;
|
|
88
91
|
#names;
|
|
89
92
|
#mode;
|
|
93
|
+
#generatedOffset;
|
|
90
94
|
#scopes = [];
|
|
91
95
|
#ranges = [];
|
|
92
96
|
#scopeState = {
|
|
@@ -97,27 +101,53 @@ class Decoder {
|
|
|
97
101
|
};
|
|
98
102
|
#scopeStack = [];
|
|
99
103
|
#rangeStack = [];
|
|
104
|
+
#currentRootScopes = [];
|
|
100
105
|
#flatOriginalScopes = [];
|
|
106
|
+
#currentFlatScopes = [];
|
|
101
107
|
#subRangeBindingsForRange = new Map();
|
|
102
108
|
#seenOriginalScopeVariables = false;
|
|
103
109
|
#seenGeneratedRangeBindings = false;
|
|
104
|
-
constructor(scopes, names, options){
|
|
110
|
+
constructor(scopes, ranges, names, options){
|
|
105
111
|
this.#encodedScopes = scopes;
|
|
112
|
+
this.#encodedRanges = ranges;
|
|
106
113
|
this.#names = names;
|
|
107
114
|
this.#mode = options.mode;
|
|
108
|
-
this.#
|
|
109
|
-
this.#rangeState.column = options.generatedOffset.column;
|
|
115
|
+
this.#generatedOffset = options.generatedOffset;
|
|
110
116
|
}
|
|
111
117
|
decode() {
|
|
112
|
-
const
|
|
118
|
+
for (const encodedScope of this.#encodedScopes){
|
|
119
|
+
if (encodedScope === null) {
|
|
120
|
+
this.#scopes.push(null);
|
|
121
|
+
this.#flatOriginalScopes.push(null);
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
this.#decodeScopes(encodedScope);
|
|
125
|
+
}
|
|
126
|
+
for (const encodedRange of this.#encodedRanges){
|
|
127
|
+
this.#decodeRanges(encodedRange);
|
|
128
|
+
}
|
|
129
|
+
const info = {
|
|
130
|
+
scopes: this.#scopes,
|
|
131
|
+
ranges: this.#ranges,
|
|
132
|
+
hasVariableAndBindingInfo: this.#seenOriginalScopeVariables && this.#seenGeneratedRangeBindings
|
|
133
|
+
};
|
|
134
|
+
this.#scopes = [];
|
|
135
|
+
this.#ranges = [];
|
|
136
|
+
this.#currentRootScopes = [];
|
|
137
|
+
this.#flatOriginalScopes = [];
|
|
138
|
+
this.#currentFlatScopes = [];
|
|
139
|
+
this.#seenOriginalScopeVariables = false;
|
|
140
|
+
this.#seenGeneratedRangeBindings = false;
|
|
141
|
+
return info;
|
|
142
|
+
}
|
|
143
|
+
#decodeScopes(encodedScope) {
|
|
144
|
+
Object.assign(this.#scopeState, DEFAULT_SCOPE_STATE);
|
|
145
|
+
this.#currentRootScopes = [];
|
|
146
|
+
this.#currentFlatScopes = [];
|
|
147
|
+
const iter = new TokenIterator(encodedScope, this.#mode === 1);
|
|
113
148
|
while(iter.hasNext()){
|
|
114
149
|
const tag = iter.nextUnsignedVLQ();
|
|
115
150
|
switch(tag){
|
|
116
|
-
case Tag.EMPTY:
|
|
117
|
-
{
|
|
118
|
-
this.#scopes.push(null);
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
151
|
case Tag.ORIGINAL_SCOPE_START:
|
|
122
152
|
{
|
|
123
153
|
const item = {
|
|
@@ -149,17 +179,57 @@ class Decoder {
|
|
|
149
179
|
this.#handleOriginalScopeEndItem(iter.nextUnsignedVLQ(), iter.nextUnsignedVLQ());
|
|
150
180
|
break;
|
|
151
181
|
}
|
|
182
|
+
case Tag.VENDOR_EXTENSION:
|
|
183
|
+
{
|
|
184
|
+
const _extensionNameIdx = iter.nextUnsignedVLQ();
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
default:
|
|
188
|
+
{
|
|
189
|
+
this.#throwInStrictMode(`Encountered illegal item tag ${tag}`);
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Consume any trailing VLQ and the ","
|
|
194
|
+
while(iter.hasNext() && iter.peek() !== ",")iter.nextUnsignedVLQ();
|
|
195
|
+
if (iter.hasNext()) iter.nextChar();
|
|
196
|
+
}
|
|
197
|
+
if (this.#scopeStack.length > 0) {
|
|
198
|
+
this.#throwInStrictMode("Encountered ORIGINAL_SCOPE_START without matching END!");
|
|
199
|
+
this.#scopeStack.length = 0;
|
|
200
|
+
}
|
|
201
|
+
this.#scopes.push(this.#currentRootScopes);
|
|
202
|
+
this.#flatOriginalScopes.push(this.#currentFlatScopes);
|
|
203
|
+
}
|
|
204
|
+
#decodeRanges(encodedRanges) {
|
|
205
|
+
Object.assign(this.#rangeState, DEFAULT_RANGE_STATE);
|
|
206
|
+
this.#rangeState.line = this.#generatedOffset.line;
|
|
207
|
+
this.#rangeState.column = this.#generatedOffset.column;
|
|
208
|
+
const prevLastRange = this.#ranges.at(-1);
|
|
209
|
+
const prevRangesLength = this.#ranges.length;
|
|
210
|
+
const iter = new TokenIterator(encodedRanges, this.#mode === 1);
|
|
211
|
+
while(iter.hasNext()){
|
|
212
|
+
const tag = iter.nextUnsignedVLQ();
|
|
213
|
+
switch(tag){
|
|
152
214
|
case Tag.GENERATED_RANGE_START:
|
|
153
215
|
{
|
|
154
216
|
const flags = iter.nextUnsignedVLQ();
|
|
155
217
|
const line = flags & GeneratedRangeFlags.HAS_LINE ? iter.nextUnsignedVLQ() : undefined;
|
|
156
218
|
const column = iter.nextUnsignedVLQ();
|
|
157
|
-
|
|
219
|
+
let definition;
|
|
220
|
+
if (flags & GeneratedRangeFlags.HAS_DEFINITION) {
|
|
221
|
+
const sourceIdx = iter.nextSignedVLQ();
|
|
222
|
+
const scopeIdx = sourceIdx === 0 ? iter.nextSignedVLQ() : iter.nextUnsignedVLQ();
|
|
223
|
+
definition = {
|
|
224
|
+
sourceIdx,
|
|
225
|
+
scopeIdx
|
|
226
|
+
};
|
|
227
|
+
}
|
|
158
228
|
this.#handleGeneratedRangeStartItem({
|
|
159
229
|
flags,
|
|
160
230
|
line,
|
|
161
231
|
column,
|
|
162
|
-
|
|
232
|
+
definition
|
|
163
233
|
});
|
|
164
234
|
break;
|
|
165
235
|
}
|
|
@@ -215,27 +285,17 @@ class Decoder {
|
|
|
215
285
|
break;
|
|
216
286
|
}
|
|
217
287
|
}
|
|
218
|
-
// Consume any trailing VLQ and the
|
|
288
|
+
// Consume any trailing VLQ and the ","
|
|
219
289
|
while(iter.hasNext() && iter.peek() !== ",")iter.nextUnsignedVLQ();
|
|
220
290
|
if (iter.hasNext()) iter.nextChar();
|
|
221
291
|
}
|
|
222
|
-
if (this.#scopeStack.length > 0) {
|
|
223
|
-
this.#throwInStrictMode("Encountered ORIGINAL_SCOPE_START without matching END!");
|
|
224
|
-
}
|
|
225
292
|
if (this.#rangeStack.length > 0) {
|
|
226
293
|
this.#throwInStrictMode("Encountered GENERATED_RANGE_START without matching END!");
|
|
294
|
+
this.#rangeStack.length = 0;
|
|
295
|
+
}
|
|
296
|
+
if (prevLastRange && this.#ranges.length > prevRangesLength && comparePositions(this.#ranges[prevRangesLength].start, prevLastRange.end) < 0) {
|
|
297
|
+
this.#throwInStrictMode("Range segment starts before the previous segment ended!");
|
|
227
298
|
}
|
|
228
|
-
const info = {
|
|
229
|
-
scopes: this.#scopes,
|
|
230
|
-
ranges: this.#ranges,
|
|
231
|
-
hasVariableAndBindingInfo: this.#seenOriginalScopeVariables && this.#seenGeneratedRangeBindings
|
|
232
|
-
};
|
|
233
|
-
this.#scopes = [];
|
|
234
|
-
this.#ranges = [];
|
|
235
|
-
this.#flatOriginalScopes = [];
|
|
236
|
-
this.#seenOriginalScopeVariables = false;
|
|
237
|
-
this.#seenGeneratedRangeBindings = false;
|
|
238
|
-
return info;
|
|
239
299
|
}
|
|
240
300
|
#throwInStrictMode(message) {
|
|
241
301
|
if (this.#mode === 1) throw new Error(message);
|
|
@@ -270,7 +330,7 @@ class Decoder {
|
|
|
270
330
|
}
|
|
271
331
|
scope.isStackFrame = Boolean(item.flags & OriginalScopeFlags.IS_STACK_FRAME);
|
|
272
332
|
this.#scopeStack.push(scope);
|
|
273
|
-
this.#
|
|
333
|
+
this.#currentFlatScopes.push(scope);
|
|
274
334
|
}
|
|
275
335
|
#handleOriginalScopeVariablesItem(variableIdxs) {
|
|
276
336
|
const scope = this.#scopeStack.at(-1);
|
|
@@ -304,9 +364,7 @@ class Decoder {
|
|
|
304
364
|
scope.parent = parent;
|
|
305
365
|
parent.children.push(scope);
|
|
306
366
|
} else {
|
|
307
|
-
this.#
|
|
308
|
-
this.#scopeState.line = 0;
|
|
309
|
-
this.#scopeState.column = 0;
|
|
367
|
+
this.#currentRootScopes.push(scope);
|
|
310
368
|
}
|
|
311
369
|
}
|
|
312
370
|
#handleGeneratedRangeStartItem(item) {
|
|
@@ -330,12 +388,17 @@ class Decoder {
|
|
|
330
388
|
values: [],
|
|
331
389
|
children: []
|
|
332
390
|
};
|
|
333
|
-
if (item.
|
|
334
|
-
this.#rangeState.
|
|
335
|
-
if (
|
|
391
|
+
if (item.definition !== undefined) {
|
|
392
|
+
this.#rangeState.defSourceIdx += item.definition.sourceIdx;
|
|
393
|
+
if (item.definition.sourceIdx !== 0) {
|
|
394
|
+
this.#rangeState.defScopeIdx = 0;
|
|
395
|
+
}
|
|
396
|
+
this.#rangeState.defScopeIdx += item.definition.scopeIdx;
|
|
397
|
+
const originalScope = this.#flatOriginalScopes[this.#rangeState.defSourceIdx]?.[this.#rangeState.defScopeIdx];
|
|
398
|
+
if (!originalScope) {
|
|
336
399
|
this.#throwInStrictMode("Invalid definition scope index");
|
|
337
400
|
} else {
|
|
338
|
-
range.originalScope =
|
|
401
|
+
range.originalScope = originalScope;
|
|
339
402
|
}
|
|
340
403
|
}
|
|
341
404
|
this.#rangeStack.push(range);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.js","sources":["./decode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decode.js","sources":["./decode.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import type {
|
|
|
19
19
|
SourceMapJson,
|
|
20
20
|
SubRangeBinding,
|
|
21
21
|
} from "../scopes.ts";
|
|
22
|
+
import { comparePositions } from "../util.js";
|
|
22
23
|
import { TokenIterator } from "../vlq.js";
|
|
23
24
|
|
|
24
25
|
/**
|
|
@@ -75,11 +76,16 @@ function decodeMap(
|
|
|
75
76
|
sourceMap: SourceMapJson,
|
|
76
77
|
options: DecodeOptions,
|
|
77
78
|
): DecodedScopeInfo {
|
|
78
|
-
if (!sourceMap.scopes || !sourceMap.names) {
|
|
79
|
+
if ((!sourceMap.scopes && !sourceMap.ranges) || !sourceMap.names) {
|
|
79
80
|
return { scopes: [], ranges: [], hasVariableAndBindingInfo: false };
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
return new Decoder(
|
|
83
|
+
return new Decoder(
|
|
84
|
+
sourceMap.scopes ?? [],
|
|
85
|
+
sourceMap.ranges ?? [],
|
|
86
|
+
sourceMap.names,
|
|
87
|
+
options,
|
|
88
|
+
).decode();
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
function decodeIndexMap(
|
|
@@ -116,15 +122,18 @@ const DEFAULT_SCOPE_STATE = {
|
|
|
116
122
|
const DEFAULT_RANGE_STATE = {
|
|
117
123
|
line: 0,
|
|
118
124
|
column: 0,
|
|
125
|
+
defSourceIdx: 0,
|
|
119
126
|
defScopeIdx: 0,
|
|
120
127
|
};
|
|
121
128
|
|
|
122
129
|
class Decoder {
|
|
123
|
-
readonly #encodedScopes: string;
|
|
130
|
+
readonly #encodedScopes: (string | null)[];
|
|
131
|
+
readonly #encodedRanges: string[];
|
|
124
132
|
readonly #names: string[];
|
|
125
133
|
readonly #mode: DecodeMode;
|
|
134
|
+
readonly #generatedOffset: Position;
|
|
126
135
|
|
|
127
|
-
#scopes: (OriginalScope | null)[] = [];
|
|
136
|
+
#scopes: (OriginalScope[] | null)[] = [];
|
|
128
137
|
#ranges: GeneratedRange[] = [];
|
|
129
138
|
|
|
130
139
|
readonly #scopeState = { ...DEFAULT_SCOPE_STATE };
|
|
@@ -133,7 +142,9 @@ class Decoder {
|
|
|
133
142
|
readonly #scopeStack: OriginalScope[] = [];
|
|
134
143
|
readonly #rangeStack: GeneratedRange[] = [];
|
|
135
144
|
|
|
136
|
-
#
|
|
145
|
+
#currentRootScopes: OriginalScope[] = [];
|
|
146
|
+
#flatOriginalScopes: (OriginalScope[] | null)[] = [];
|
|
147
|
+
#currentFlatScopes: OriginalScope[] = [];
|
|
137
148
|
#subRangeBindingsForRange = new Map<
|
|
138
149
|
GeneratedRange,
|
|
139
150
|
Map<number, [number, number, number][]>
|
|
@@ -142,24 +153,64 @@ class Decoder {
|
|
|
142
153
|
#seenOriginalScopeVariables = false;
|
|
143
154
|
#seenGeneratedRangeBindings = false;
|
|
144
155
|
|
|
145
|
-
constructor(
|
|
156
|
+
constructor(
|
|
157
|
+
scopes: (string | null)[],
|
|
158
|
+
ranges: string[],
|
|
159
|
+
names: string[],
|
|
160
|
+
options: DecodeOptions,
|
|
161
|
+
) {
|
|
146
162
|
this.#encodedScopes = scopes;
|
|
163
|
+
this.#encodedRanges = ranges;
|
|
147
164
|
this.#names = names;
|
|
148
165
|
this.#mode = options.mode;
|
|
149
|
-
this.#
|
|
150
|
-
this.#rangeState.column = options.generatedOffset.column;
|
|
166
|
+
this.#generatedOffset = options.generatedOffset;
|
|
151
167
|
}
|
|
152
168
|
|
|
153
169
|
decode(): DecodedScopeInfo {
|
|
154
|
-
const
|
|
170
|
+
for (const encodedScope of this.#encodedScopes) {
|
|
171
|
+
if (encodedScope === null) {
|
|
172
|
+
this.#scopes.push(null);
|
|
173
|
+
this.#flatOriginalScopes.push(null);
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
this.#decodeScopes(encodedScope);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
for (const encodedRange of this.#encodedRanges) {
|
|
180
|
+
this.#decodeRanges(encodedRange);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const info = {
|
|
184
|
+
scopes: this.#scopes,
|
|
185
|
+
ranges: this.#ranges,
|
|
186
|
+
hasVariableAndBindingInfo: this.#seenOriginalScopeVariables &&
|
|
187
|
+
this.#seenGeneratedRangeBindings,
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
this.#scopes = [];
|
|
191
|
+
this.#ranges = [];
|
|
192
|
+
this.#currentRootScopes = [];
|
|
193
|
+
this.#flatOriginalScopes = [];
|
|
194
|
+
this.#currentFlatScopes = [];
|
|
195
|
+
this.#seenOriginalScopeVariables = false;
|
|
196
|
+
this.#seenGeneratedRangeBindings = false;
|
|
197
|
+
|
|
198
|
+
return info;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
#decodeScopes(encodedScope: string) {
|
|
202
|
+
Object.assign(this.#scopeState, DEFAULT_SCOPE_STATE);
|
|
203
|
+
this.#currentRootScopes = [];
|
|
204
|
+
this.#currentFlatScopes = [];
|
|
205
|
+
|
|
206
|
+
const iter = new TokenIterator(
|
|
207
|
+
encodedScope,
|
|
208
|
+
this.#mode === DecodeMode.STRICT,
|
|
209
|
+
);
|
|
155
210
|
|
|
156
211
|
while (iter.hasNext()) {
|
|
157
212
|
const tag = iter.nextUnsignedVLQ();
|
|
158
213
|
switch (tag) {
|
|
159
|
-
case Tag.EMPTY: {
|
|
160
|
-
this.#scopes.push(null);
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
214
|
case Tag.ORIGINAL_SCOPE_START: {
|
|
164
215
|
const item: OriginalScopeStartItem = {
|
|
165
216
|
flags: iter.nextUnsignedVLQ(),
|
|
@@ -195,6 +246,47 @@ class Decoder {
|
|
|
195
246
|
);
|
|
196
247
|
break;
|
|
197
248
|
}
|
|
249
|
+
case Tag.VENDOR_EXTENSION: {
|
|
250
|
+
const _extensionNameIdx = iter.nextUnsignedVLQ();
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
default: {
|
|
254
|
+
this.#throwInStrictMode(`Encountered illegal item tag ${tag}`);
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// Consume any trailing VLQ and the ","
|
|
260
|
+
while (iter.hasNext() && iter.peek() !== ",") iter.nextUnsignedVLQ();
|
|
261
|
+
if (iter.hasNext()) iter.nextChar();
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (this.#scopeStack.length > 0) {
|
|
265
|
+
this.#throwInStrictMode(
|
|
266
|
+
"Encountered ORIGINAL_SCOPE_START without matching END!",
|
|
267
|
+
);
|
|
268
|
+
this.#scopeStack.length = 0;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
this.#scopes.push(this.#currentRootScopes);
|
|
272
|
+
this.#flatOriginalScopes.push(this.#currentFlatScopes);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
#decodeRanges(encodedRanges: string) {
|
|
276
|
+
Object.assign(this.#rangeState, DEFAULT_RANGE_STATE);
|
|
277
|
+
this.#rangeState.line = this.#generatedOffset.line;
|
|
278
|
+
this.#rangeState.column = this.#generatedOffset.column;
|
|
279
|
+
const prevLastRange = this.#ranges.at(-1);
|
|
280
|
+
const prevRangesLength = this.#ranges.length;
|
|
281
|
+
|
|
282
|
+
const iter = new TokenIterator(
|
|
283
|
+
encodedRanges,
|
|
284
|
+
this.#mode === DecodeMode.STRICT,
|
|
285
|
+
);
|
|
286
|
+
|
|
287
|
+
while (iter.hasNext()) {
|
|
288
|
+
const tag = iter.nextUnsignedVLQ();
|
|
289
|
+
switch (tag) {
|
|
198
290
|
case Tag.GENERATED_RANGE_START: {
|
|
199
291
|
const flags = iter.nextUnsignedVLQ();
|
|
200
292
|
const line = flags & GeneratedRangeFlags.HAS_LINE
|
|
@@ -202,15 +294,20 @@ class Decoder {
|
|
|
202
294
|
: undefined;
|
|
203
295
|
const column = iter.nextUnsignedVLQ();
|
|
204
296
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
297
|
+
let definition: { sourceIdx: number; scopeIdx: number } | undefined;
|
|
298
|
+
if (flags & GeneratedRangeFlags.HAS_DEFINITION) {
|
|
299
|
+
const sourceIdx = iter.nextSignedVLQ();
|
|
300
|
+
const scopeIdx = sourceIdx === 0
|
|
301
|
+
? iter.nextSignedVLQ()
|
|
302
|
+
: iter.nextUnsignedVLQ();
|
|
303
|
+
definition = { sourceIdx, scopeIdx };
|
|
304
|
+
}
|
|
208
305
|
|
|
209
306
|
this.#handleGeneratedRangeStartItem({
|
|
210
307
|
flags,
|
|
211
308
|
line,
|
|
212
309
|
column,
|
|
213
|
-
|
|
310
|
+
definition,
|
|
214
311
|
});
|
|
215
312
|
break;
|
|
216
313
|
}
|
|
@@ -272,36 +369,31 @@ class Decoder {
|
|
|
272
369
|
}
|
|
273
370
|
}
|
|
274
371
|
|
|
275
|
-
// Consume any trailing VLQ and the
|
|
372
|
+
// Consume any trailing VLQ and the ","
|
|
276
373
|
while (iter.hasNext() && iter.peek() !== ",") iter.nextUnsignedVLQ();
|
|
277
374
|
if (iter.hasNext()) iter.nextChar();
|
|
278
375
|
}
|
|
279
376
|
|
|
280
|
-
if (this.#scopeStack.length > 0) {
|
|
281
|
-
this.#throwInStrictMode(
|
|
282
|
-
"Encountered ORIGINAL_SCOPE_START without matching END!",
|
|
283
|
-
);
|
|
284
|
-
}
|
|
285
377
|
if (this.#rangeStack.length > 0) {
|
|
286
378
|
this.#throwInStrictMode(
|
|
287
379
|
"Encountered GENERATED_RANGE_START without matching END!",
|
|
288
380
|
);
|
|
381
|
+
this.#rangeStack.length = 0;
|
|
289
382
|
}
|
|
290
383
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
return info;
|
|
384
|
+
if (
|
|
385
|
+
prevLastRange &&
|
|
386
|
+
this.#ranges.length > prevRangesLength &&
|
|
387
|
+
comparePositions(
|
|
388
|
+
this.#ranges[prevRangesLength].start,
|
|
389
|
+
prevLastRange.end,
|
|
390
|
+
) <
|
|
391
|
+
0
|
|
392
|
+
) {
|
|
393
|
+
this.#throwInStrictMode(
|
|
394
|
+
"Range segment starts before the previous segment ended!",
|
|
395
|
+
);
|
|
396
|
+
}
|
|
305
397
|
}
|
|
306
398
|
|
|
307
399
|
#throwInStrictMode(message: string) {
|
|
@@ -337,7 +429,7 @@ class Decoder {
|
|
|
337
429
|
);
|
|
338
430
|
|
|
339
431
|
this.#scopeStack.push(scope);
|
|
340
|
-
this.#
|
|
432
|
+
this.#currentFlatScopes.push(scope);
|
|
341
433
|
}
|
|
342
434
|
|
|
343
435
|
#handleOriginalScopeVariablesItem(variableIdxs: number[]) {
|
|
@@ -381,9 +473,7 @@ class Decoder {
|
|
|
381
473
|
scope.parent = parent;
|
|
382
474
|
parent.children.push(scope);
|
|
383
475
|
} else {
|
|
384
|
-
this.#
|
|
385
|
-
this.#scopeState.line = 0;
|
|
386
|
-
this.#scopeState.column = 0;
|
|
476
|
+
this.#currentRootScopes.push(scope);
|
|
387
477
|
}
|
|
388
478
|
}
|
|
389
479
|
|
|
@@ -412,16 +502,20 @@ class Decoder {
|
|
|
412
502
|
children: [],
|
|
413
503
|
};
|
|
414
504
|
|
|
415
|
-
if (item.
|
|
416
|
-
this.#rangeState.
|
|
417
|
-
if (
|
|
418
|
-
this.#rangeState.defScopeIdx
|
|
419
|
-
|
|
420
|
-
|
|
505
|
+
if (item.definition !== undefined) {
|
|
506
|
+
this.#rangeState.defSourceIdx += item.definition.sourceIdx;
|
|
507
|
+
if (item.definition.sourceIdx !== 0) {
|
|
508
|
+
this.#rangeState.defScopeIdx = 0;
|
|
509
|
+
}
|
|
510
|
+
this.#rangeState.defScopeIdx += item.definition.scopeIdx;
|
|
511
|
+
|
|
512
|
+
const originalScope = this
|
|
513
|
+
.#flatOriginalScopes[this.#rangeState.defSourceIdx]
|
|
514
|
+
?.[this.#rangeState.defScopeIdx];
|
|
515
|
+
if (!originalScope) {
|
|
421
516
|
this.#throwInStrictMode("Invalid definition scope index");
|
|
422
517
|
} else {
|
|
423
|
-
range.originalScope =
|
|
424
|
-
this.#flatOriginalScopes[this.#rangeState.defScopeIdx];
|
|
518
|
+
range.originalScope = originalScope;
|
|
425
519
|
}
|
|
426
520
|
}
|
|
427
521
|
|
|
@@ -17,7 +17,9 @@ import { Encoder } from "./encoder.js";
|
|
|
17
17
|
if (inputSourceMap.sources.length !== scopesInfo.scopes.length) {
|
|
18
18
|
throw new Error(`SourceMapJson.sources.length must match ScopesInfo.scopes! ${inputSourceMap.sources.length} vs ${scopesInfo.scopes.length}`);
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
const { scopes, ranges } = new Encoder(scopesInfo, inputSourceMap.names).encode();
|
|
21
|
+
inputSourceMap.scopes = scopes;
|
|
22
|
+
inputSourceMap.ranges = ranges;
|
|
21
23
|
return inputSourceMap;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=encode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sources":["./encode.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAG7B,SAAS,OAAO,uBAAuB;AAEvC;;;;;CAKC,GACD,OAAO,SAAS,OACd,UAAqB,EACrB,cAA8B;EAE9B,mBAAmB;IACjB,SAAS;IACT,UAAU;IACV,SAAS,IAAI,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;EACpD;EACA,eAAe,KAAK,KAAK,EAAE;EAE3B,IAAI,eAAe,OAAO,CAAC,MAAM,KAAK,WAAW,MAAM,CAAC,MAAM,EAAE;IAC9D,MAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,eAAe,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE;EAEhI;EAEA,
|
|
1
|
+
{"version":3,"file":"encode.js","sources":["./encode.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAG7B,SAAS,OAAO,uBAAuB;AAEvC;;;;;CAKC,GACD,OAAO,SAAS,OACd,UAAqB,EACrB,cAA8B;EAE9B,mBAAmB;IACjB,SAAS;IACT,UAAU;IACV,SAAS,IAAI,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;EACpD;EACA,eAAe,KAAK,KAAK,EAAE;EAE3B,IAAI,eAAe,OAAO,CAAC,MAAM,KAAK,WAAW,MAAM,CAAC,MAAM,EAAE;IAC9D,MAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,eAAe,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE;EAEhI;EAEA,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,QAAQ,YAAY,eAAe,KAAK,EACpE,MAAM;EACT,eAAe,MAAM,GAAG;EACxB,eAAe,MAAM,GAAG;EAExB,OAAO;AACT"}
|
|
@@ -28,8 +28,10 @@ export function encode(
|
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
const { scopes, ranges } = new Encoder(scopesInfo, inputSourceMap.names)
|
|
32
32
|
.encode();
|
|
33
|
+
inputSourceMap.scopes = scopes;
|
|
34
|
+
inputSourceMap.ranges = ranges;
|
|
33
35
|
|
|
34
36
|
return inputSourceMap;
|
|
35
37
|
}
|