Skip to content

Commit 668233a

Browse files
authored
Remove support for legacy arguments (flutter#9)
Closes flutter#8 Remove deprecated `packageRoot` argument, nothing should be using this. Change `sdkUri` to be statically a `Uri` for more type safety. We only ever really need the String representation, but by enforcing the type we keep usage more on the rails. The only usage in `package:test_core` is passing a Uri, and other uses can easily wrap with `Uri.parse`. Bump the minimum SDK to `2.4.0`. Not version of `package:test` will support this package with a lower SDK bound, so it is not useful to claim support for earlier SDKs that we can't test on.
1 parent 51dec14 commit 668233a

File tree

5 files changed

+21
-66
lines changed

5 files changed

+21
-66
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ sudo: true
55

66
dart:
77
- dev
8-
- 2.0.0
8+
- 2.4.0
99

1010
dart_task:
1111
- test: -p chrome,vm

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
## 1.1.6-dev
1+
## 2.0.0-dev
2+
3+
* **Breaking** The `sdkRoot` argument must be an `Uri`. Use `Uri.parse` for use
4+
cases previously passing a `String`.
5+
* **Breaking** The deprecated `packageRoot` argument has been removed.
26

37
## 1.1.5
48

lib/source_map_stack_trace.dart

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,10 @@ import 'package:stack_trace/stack_trace.dart';
1616
/// If [packageResolver] is passed, it's used to reconstruct `package:` URIs for
1717
/// stack frames that come from packages.
1818
///
19-
/// [sdkRoot] is the URI (usually a `file:` URI) for the SDK containing dart2js.
20-
/// It can be a [String] or a [Uri]. If it's passed, stack frames from the SDK
21-
/// will have `dart:` URLs.
22-
///
23-
/// `packageRoot` is deprecated and shouldn't be used in new code. This throws
24-
/// an [ArgumentError] if `packageRoot` and [packageResolver] are both passed.
19+
/// [sdkRoot] is the URI surfaced in the stack traces for SDK libraries.
20+
/// If it's passed, stack frames from the SDK will have `dart:` URLs.
2521
StackTrace mapStackTrace(Mapping sourceMap, StackTrace stackTrace,
26-
{bool minified = false,
27-
SyncPackageResolver packageResolver,
28-
sdkRoot,
29-
@Deprecated('Use the packageResolver parameter instead.') packageRoot}) {
30-
if (packageRoot != null) {
31-
if (packageResolver != null) {
32-
throw ArgumentError(
33-
'packageResolver and packageRoot may not both be passed.');
34-
}
35-
36-
packageResolver = SyncPackageResolver.root(packageRoot);
37-
}
38-
22+
{bool minified = false, SyncPackageResolver packageResolver, Uri sdkRoot}) {
3923
if (stackTrace is Chain) {
4024
return Chain(stackTrace.traces.map((trace) {
4125
return Trace.from(mapStackTrace(sourceMap, trace,
@@ -45,10 +29,6 @@ StackTrace mapStackTrace(Mapping sourceMap, StackTrace stackTrace,
4529
}));
4630
}
4731

48-
if (sdkRoot != null && sdkRoot is! String && sdkRoot is! Uri) {
49-
throw ArgumentError('sdkRoot must be a String or a Uri, was "$sdkRoot".');
50-
}
51-
5232
var sdkLib = sdkRoot == null ? null : '$sdkRoot/lib';
5333

5434
var trace = Trace.from(stackTrace);

pubspec.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
name: source_map_stack_trace
2-
version: 1.1.6-dev
2+
version: 2.0.0-dev
33

44
description: A package for applying source maps to stack traces.
55
author: Dart Team <[email protected]>
66
homepage: https://github.com/dart-lang/source_map_stack_trace
77

88
environment:
9-
sdk: '>=2.0.0 <3.0.0'
9+
sdk: '>=2.4.0 <3.0.0'
1010

1111
dependencies:
1212
package_resolver: ^1.0.0
@@ -15,5 +15,8 @@ dependencies:
1515
source_maps: ^0.10.2
1616

1717
dev_dependencies:
18-
test: '>=0.12.0 <2.0.0'
18+
test: ^1.12.0
1919
pedantic: ^1.0.0
20+
21+
dependency_overrides:
22+
test_core: ^0.3.0

test/source_map_stack_trace_test.dart

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -127,25 +127,6 @@ bar.dart.js 10:11 foo
127127
expect(frame.column, equals(4));
128128
});
129129

130-
test('uses package: URIs for frames within 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 frame =
143-
_mapTrace(mapping, trace, packageRoot: 'packages/').frames.first;
144-
expect(frame.uri, equals(Uri.parse('package:foo/foo.dart')));
145-
expect(frame.line, equals(2));
146-
expect(frame.column, equals(4));
147-
});
148-
149130
test('uses package: URIs for frames within packageResolver.packageRoot', () {
150131
var trace = Trace.parse('foo.dart.js 10 foo');
151132
var builder = SourceMapBuilder()
@@ -200,7 +181,8 @@ bar.dart.js 10:11 foo
200181
SourceLocation(12, line: 9, column: 1), '\n' * 4));
201182

202183
var mapping = parseJson(builder.build('foo.dart.js.map'));
203-
var frame = _mapTrace(mapping, trace, sdkRoot: 'sdk/').frames.first;
184+
var frame =
185+
_mapTrace(mapping, trace, sdkRoot: Uri.parse('sdk/')).frames.first;
204186
expect(frame.uri, equals(Uri.parse('dart:async/foo.dart')));
205187
expect(frame.line, equals(2));
206188
expect(frame.column, equals(4));
@@ -282,31 +264,17 @@ bar.dart.js 10:11 foo
282264
/// Like [mapStackTrace], but is guaranteed to return a [Trace] so it can be
283265
/// inspected.
284266
Trace _mapTrace(Mapping sourceMap, StackTrace stackTrace,
285-
{bool minified = false,
286-
SyncPackageResolver packageResolver,
287-
sdkRoot,
288-
packageRoot}) {
267+
{bool minified = false, SyncPackageResolver packageResolver, Uri sdkRoot}) {
289268
return Trace.from(mapStackTrace(sourceMap, stackTrace,
290-
minified: minified,
291-
packageResolver: packageResolver,
292-
sdkRoot: sdkRoot,
293-
// ignore: deprecated_member_use_from_same_package
294-
packageRoot: packageRoot));
269+
minified: minified, packageResolver: packageResolver, sdkRoot: sdkRoot));
295270
}
296271

297272
/// Like [mapStackTrace], but is guaranteed to return a [Chain] so it can be
298273
/// inspected.
299274
Chain _mapChain(Mapping sourceMap, StackTrace stackTrace,
300-
{bool minified = false,
301-
SyncPackageResolver packageResolver,
302-
sdkRoot,
303-
packageRoot}) {
275+
{bool minified = false, SyncPackageResolver packageResolver, Uri sdkRoot}) {
304276
return Chain.forTrace(mapStackTrace(sourceMap, stackTrace,
305-
minified: minified,
306-
packageResolver: packageResolver,
307-
sdkRoot: sdkRoot,
308-
// ignore: deprecated_member_use_from_same_package
309-
packageRoot: packageRoot));
277+
minified: minified, packageResolver: packageResolver, sdkRoot: sdkRoot));
310278
}
311279

312280
/// Runs the mapper's prettification logic on [member] and returns the result.

0 commit comments

Comments
 (0)