11

dart2js probably generates .js.map, .js.deps and .precompiled.js.

What's the purpose of them? and I donno why dart2js doens't remove them after finishing compile.

Günter Zöchbauer
  • 623,577
  • 216
  • 2,003
  • 1,567
Sungguk Lim
  • 6,109
  • 7
  • 43
  • 63

2 Answers2

10

All files are generated by dart2js on purpose:

.js: The JavaScript output of your application

.precompiled.js: The JavaScript output but with content security policy (CSP) support

.js.map: source map file used for debugging the JavaScript code in the browser. It contains a mapping from JavaScript to Dart code lines.

.js.deps: contains a list list of all references files used for compilation, prop ably for debugging but I'm not sure about this.

Fox32
  • 13,126
  • 9
  • 50
  • 71
  • Thank you for the answer, I think `.precompiled.js` is the only thing that I really necessary. and others is not necessary for the real web application. – Sungguk Lim Feb 26 '14 at 09:04
  • 4
    Not for the final deployed version, but .js.map is very usefull during development / debugging. – Fox32 Feb 26 '14 at 09:06
2

Here is what I believe is correct at the time I write this:

  • .js - the main JavaScript output of dart2js

    Convention is to us the -o option to set the generated Javascript filename to end with .dart.js to differentiate generated Javascript from explicit Javascript in the Dart project. E.g.:

    dart2js -o main.dart.js main.dart

    pub-build does that by default. The dart.js file assumes this convention is used. Sample Dart .gitignore files often include *.dart.js.

  • .js.map - provides source maps from JavaScript to Dart that make debugging easier

  • .js.deps - what files were used when compiling with dart2js

  • .info.json - json file with information about the generated code (if --dump-info specified)

  • .js_1.part.js, .js_2.part.js etc. - parts of deferred imports

    Sample Dart .gitignore files often include *.js_ to cover these files.

  • The --deferred-map option will generate a json file that you must provide a file name for.

  • .precompiled.js is no longer produced by dart2js

See:

  1. https://www.dartlang.org/tools/private-files.html
  2. https://github.com/dart-lang/www.dartlang.org/issues/1496 for my conversation with the site authors on making some adjustments.
  3. https://www.dartlang.org/tools/dart2js/
  4. https://github.com/github/gitignore/blob/master/Dart.gitignore.
Argenti Apparatus
  • 3,857
  • 2
  • 25
  • 35