2
2
// for details. All rights reserved. Use of this source code is governed by a
3
3
// BSD-style license that can be found in the LICENSE file.
4
4
5
- import 'package:package_resolver/package_resolver.dart' ;
6
5
import 'package:path/path.dart' as p;
7
6
import 'package:source_maps/source_maps.dart' ;
8
7
import 'package:source_span/source_span.dart' ;
@@ -20,6 +19,11 @@ final _simpleMapping = parseJson((SourceMapBuilder()
20
19
SourceLocation (18 , line: 15 , column: 0 ), '\n ' * 10 )))
21
20
.build ('foo.dart.js.map' ));
22
21
22
+ final _packageMap = {
23
+ 'bar' : Uri .parse ('packages/bar' ),
24
+ 'foo' : Uri .parse ('packages/foo' ),
25
+ };
26
+
23
27
void main () {
24
28
test ('maps a JS line and column to a Dart line and span' , () {
25
29
var trace = Trace .parse ('foo.dart.js 10:11 foo' );
@@ -89,9 +93,7 @@ bar.dart.js 10:11 foo
89
93
90
94
var bundle = [sourceMapJson1, sourceMapJson2];
91
95
var mapping = parseJsonExtended (bundle);
92
- var frames = _mapTrace (mapping, trace,
93
- packageResolver: SyncPackageResolver .root ('packages/' ))
94
- .frames;
96
+ var frames = _mapTrace (mapping, trace, packageMap: _packageMap).frames;
95
97
96
98
expect (frames.length, equals (3 ));
97
99
@@ -127,26 +129,6 @@ bar.dart.js 10:11 foo
127
129
expect (frame.column, equals (4 ));
128
130
});
129
131
130
- test ('uses package: URIs for frames within packageResolver.packageRoot' , () {
131
- var trace = Trace .parse ('foo.dart.js 10 foo' );
132
- var builder = SourceMapBuilder ()
133
- ..addSpan (
134
- SourceMapSpan .identifier (
135
- SourceLocation (1 ,
136
- line: 1 , column: 3 , sourceUrl: 'packages/foo/foo.dart' ),
137
- 'qux' ),
138
- SourceSpan (SourceLocation (8 , line: 5 , column: 0 ),
139
- SourceLocation (12 , line: 9 , column: 1 ), '\n ' * 4 ));
140
-
141
- var mapping = parseJson (builder.build ('foo.dart.js.map' ));
142
- var mappedTrace = _mapTrace (mapping, trace,
143
- packageResolver: SyncPackageResolver .root ('packages/' ));
144
- var frame = mappedTrace.frames.first;
145
- expect (frame.uri, equals (Uri .parse ('package:foo/foo.dart' )));
146
- expect (frame.line, equals (2 ));
147
- expect (frame.column, equals (4 ));
148
- });
149
-
150
132
test ('uses package: URIs for frames within a packageResolver.packageMap URL' ,
151
133
() {
152
134
var trace = Trace .parse ('foo.dart.js 10 foo' );
@@ -160,9 +142,7 @@ bar.dart.js 10:11 foo
160
142
SourceLocation (12 , line: 9 , column: 1 ), '\n ' * 4 ));
161
143
162
144
var mapping = parseJson (builder.build ('foo.dart.js.map' ));
163
- var mappedTrace = _mapTrace (mapping, trace,
164
- packageResolver:
165
- SyncPackageResolver .config ({'foo' : Uri .parse ('packages/foo' )}));
145
+ var mappedTrace = _mapTrace (mapping, trace, packageMap: _packageMap);
166
146
var frame = mappedTrace.frames.first;
167
147
expect (frame.uri, equals (Uri .parse ('package:foo/foo.dart' )));
168
148
expect (frame.line, equals (2 ));
@@ -264,17 +244,17 @@ bar.dart.js 10:11 foo
264
244
/// Like [mapStackTrace] , but is guaranteed to return a [Trace] so it can be
265
245
/// inspected.
266
246
Trace _mapTrace (Mapping sourceMap, StackTrace stackTrace,
267
- {bool minified = false , SyncPackageResolver packageResolver , Uri sdkRoot}) {
247
+ {bool minified = false , Map < String , Uri > packageMap , Uri sdkRoot}) {
268
248
return Trace .from (mapStackTrace (sourceMap, stackTrace,
269
- minified: minified, packageResolver : packageResolver , sdkRoot: sdkRoot));
249
+ minified: minified, packageMap : packageMap , sdkRoot: sdkRoot));
270
250
}
271
251
272
252
/// Like [mapStackTrace] , but is guaranteed to return a [Chain] so it can be
273
253
/// inspected.
274
254
Chain _mapChain (Mapping sourceMap, StackTrace stackTrace,
275
- {bool minified = false , SyncPackageResolver packageResolver , Uri sdkRoot}) {
255
+ {bool minified = false , Map < String , Uri > packageMap , Uri sdkRoot}) {
276
256
return Chain .forTrace (mapStackTrace (sourceMap, stackTrace,
277
- minified: minified, packageResolver : packageResolver , sdkRoot: sdkRoot));
257
+ minified: minified, packageMap : packageMap , sdkRoot: sdkRoot));
278
258
}
279
259
280
260
/// Runs the mapper's prettification logic on [member] and returns the result.
0 commit comments