Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Built-in dart2js transformer seems to run with '--categories=all' #21786

Closed
mkustermann opened this issue Dec 4, 2014 · 4 comments
Closed

Built-in dart2js transformer seems to run with '--categories=all' #21786

mkustermann opened this issue Dec 4, 2014 · 4 comments

Comments

@mkustermann
Copy link
Member

This can be highly confusing for users who accidentally import 'dart:io' in a web application.

$ cat pubspec.yaml
name: foo
version: 0.1.0

$ cat web/foo.dart
import 'dart:io';
import 'dart:html';

main() {
  query('#foobar');
  stdout.writeln('hello world');
}

$ pub build
Loading source assets...
Building foo...
[Info from Dart2JS]:
Compiling foo|web/foo.dart...
[Info from Dart2JS]:
Took 0:00:05.293322 to compile foo|web/foo.dart.
Built 1 file to "build".

=> It compiles without any warning or error!

Whereas if I run dart2js manually it gives me a proper error message:
$ dart2js web/foo.dart
web/foo.dart:1:8:
Error: Library not found 'dart:io'.
import 'dart:io';
       ^^^^^^^^^
Error: Compilation failed.

I'm not sure if this is intentionally or not, but e.g. for automated scripts which run "pub build" and check for successful building of the application, this can hide errors IMHO.

We should give users warnings/errors as early as possible and never suppress them by default.

@DartBot
Copy link

DartBot commented Dec 4, 2014

This comment was originally written by @zoechi


Seems to be a dup of http://dartbug.com/21781
where 21781 is about not using --all in DartEditor by default anymore and this seems about also using -all from command line.

@mkustermann
Copy link
Member Author

This is orthogonal to Issue #21781:

  • Issue Editor shouldn't run "pub build --all" #21781 is about what directories to build (i.e. default behavior in DartEditor when selecting "Pub Build").
  • This issue is about passing the wrong flags to the $dart2js transformer (independent of directories).

@munificent
Copy link
Member

We can probably use a better category for stuff in web/ and bin/. The tricky part is example/, test/, benchmark/ and other user-defined directories. Any of those could contain web stuff or command-line stuff, so we have to use category all.

@DartBot
Copy link

DartBot commented Jun 5, 2015

This issue has been moved to dart-lang/pub#1201.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants