Scorpiion/vane

Issues with Platform.script.toFilePath(), from "pub run" and Windows

Opened this issue · 0 comments

See:
https://github.com/DartVoid/Vane/blob/master/lib/src/generate_client_routes.dart#L15

This works:
dart bin/server.dart

This fails:
pub run bin/server.dart

Error on Linux using pub run:
Unhandled exception:
Unsupported operation: Cannot extract a file path from a http URI
#0 Uri.toFilePath (dart:core/uri.dart:1612)
#1 generateClientRoutes (package:vane/src/generate_client_routes.dart:15:43)
#2 Router.Router (package:vane/src/router.dart:22:39)
#3 serve (package:vane/src/serve.dart:27:23)
#4 main (http://localhost:53899/server.dart:8:21)
#5 _startIsolate (dart:isolate-patch/isolate_patch.dart:239)
#6 _startMainIsolate. (dart:isolate-patch/isolate_patch.dart:192)
#7 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:130)

Error on Windows (assuming DartEditor, info from email report):
Unhandled exception:
RangeError: index (-1) must be in the range [0..0)
#0 List.
#1 List.removeLast (dart:core-patch/growable_array.dart:207)
#2 generateClientRoutes (package:vane/src/generate_client_routes.dart:18:22)
#3 Router.Router (package:vane/src/router.dart:22:39)
#4 serve (package:vane/src/serve.dart:27:23)
#5 main (file:///C:/Users/jacob/Documents/Vane-Angular-Chat/server/server.dart:8:21)
#6 _startIsolate (dart:isolate-patch/isolate_patch.dart:239)
#7 _startMainIsolate. (dart:isolate-patch/isolate_patch.dart:192)
#8 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:130)

Check how to replace Platform.script.toFilePath() in a more platform agnostic way.

Temporary fix, run with production environment variable set (see https://github.com/DartVoid/Vane/blob/master/lib/src/generate_client_routes.dart#L10):
DART_PRODUCTION=true pub run bin/server.dart