Go to file
vsavkin 0b60f8494d style(di): add new lines 2014-10-12 17:06:41 -04:00
modules style(di): add new lines 2014-10-12 17:06:41 -04:00
scripts feat: travis-ci integration 2014-09-29 16:33:53 -07:00
tools/transpiler design: view instantiation test 2014-10-10 20:54:33 -07:00
.gitignore chore: update .gitignore for web-storm 2014-09-26 09:03:37 -07:00
.travis.yml feat: travis-ci integration 2014-09-29 16:33:53 -07:00
LICENSE Initial commit 2014-09-18 09:12:01 -07:00
README.md doc(README): HOWTO debug the transpiler 2014-10-01 17:32:59 +02:00
TODO.md refactor: simplify and make tests work in JS and Dart 2014-09-28 21:50:38 -07:00
file2modulename.js transpiler: normalize Dart library name 2014-10-07 17:35:22 -07:00
gulpfile.js chore(build): execute `pub get` only if a pubspec.yaml changed and run `dart analyzer` on all dart files 2014-10-02 16:10:08 -07:00
karma-dart.conf.js chore: allow running Dart/JS Karma at the same time 2014-10-09 13:50:25 -07:00
karma-js.conf.js chore: allow running Dart/JS Karma at the same time 2014-10-09 13:50:25 -07:00
package.json chore: use es6-module-loader 2014-10-07 17:35:22 -07:00
pubspec.yaml chore(build): execute `pub get` only if a pubspec.yaml changed and run `dart analyzer` on all dart files 2014-10-02 16:10:08 -07:00
test-main.dart refactor: simplify and make tests work in JS and Dart 2014-09-28 21:50:38 -07:00
test-main.js chore: use es6-module-loader 2014-10-07 17:35:22 -07:00

README.md

Build Status

Build

Prerequisites:

  1. npm install
  2. npm install -g gulp karma
  3. gulp build
  4. pub get

Folder structure

  • modules/*: modules that will be loaded in the browser
  • tools/*: tools that are needed to build Angular

File endings

  • *.js: javascript files that get transpiled to Dart and EcmaScript 5
  • *.es6: javascript files that get transpiled only to EcmaScript 5
  • *.es5: javascript files that don't get transpiled
  • *.dart: dart files that don't get transpiled

Build:

  1. gulp build -> result is in build folder
  • will also run pub get for the subfolders in modules and run dartanalyzer for every file that matches <module>/src/<module>.dart, e.g. di/src/di.dart
  1. gulp clean -> cleans the build folder

Tests:

  1. karma start karma-js.conf.js: JS tests
  2. karma start karma-dart.conf.js: Dart tests

Notes for all tests:

The karma preprocessor is setup in a way so that after every test run the transpiler is reloaded. With that it is possible to make changes to the preprocessor and run the tests without exiting karma (just touch a test file that you would like to run).

Restriction for Dart tests (for now):

  • Due to a bug karma-dart plugin, this will use the files in the build folder for resolving package: dependencies (created e.g. for import ... from 'di:di'). So you need to execute gulp build before this.

Debug the transpiler

If you need to debug the transpiler:

  • add a debugger; statement in the transpiler code,
  • from the root folder, execute node debug node_modules/.bin/gulp build to enter the node debugger
  • press "c" to execute the program until you reach the debugger; statement,
  • you can then type "repl" to enter the REPL and inspect variables in the context.

See the Node.js manual for more information.

Notes:

  • You can also execute node node_modules/.bin/karma start karma-dart.conf.js depending on which code you want to debug (the former will process the "modules" folder while the later processes the transpiler specs),
  • You can also add debugger; statements in the specs (JavaScript). The execution will halt when the developer tools are opened in the browser running Karma.