1479 Commits

Author SHA1 Message Date
Vojta Jina
38340ce8d9 test(transpiler): add a cycle import spec 2014-10-07 17:35:22 -07:00
Vojta Jina
6efb7f9017 transpiler: normalize Dart library name
`file2module` was used for normalizing paths where `-` is fine.
This normalizes non-word characters only when generating the Dart
library name.
2014-10-07 17:35:22 -07:00
Vojta Jina
cfc5fdc60d chore: use es6-module-loader
Switch Traceur to use modules=“instantiate” and use es6-module-loader.
This setup supports cyclic dependencies.
2014-10-07 17:35:22 -07:00
vsavkin
b2199632c7 feat(injector): initial implementaion of dynamic injector 2014-10-03 15:35:33 -04:00
Victor Berchet
089a2f1b62 feat(transpiler): constructor and typed field semantics
fixes  (constructor and typed field semantics)
fixes  (Should we infer class property types from ctor args ?)
fixes  (number (js) should map to num (dart))

Closes 
2014-10-02 21:02:47 -07:00
Tobias Bosch
33af1d0b39 chore(build): execute pub get only if a pubspec.yaml changed and run dart analyzer on all dart files
`pub get` is now only executed when the `pubspec.yaml` in the `modules`
folder is different than the `pubspec.yaml` in the `build/dart` folder.

Generates the file `build/dart/_analyzer.dart` that imports all modules
to run `dart analyzer` against all of them. The build will fail whenever
there are errors, warnings or hints in `dart analyzer`.

Changes the sources so that `dart analyzer` does not report any
error, warning or hint.

Closes 
2014-10-02 16:10:08 -07:00
vsavkin
64fe73e20d feat(transpiler): handle named params 2014-10-02 17:31:04 -04:00
Chirayu Krishnappa
78d758b4bb fixes to get tests green with karma dart 2014-10-01 19:58:22 -07:00
Chirayu Krishnappa
c7feaba1cb feat(DartWriter): support string interpolation 2014-10-01 17:06:17 -07:00
Victor Berchet
cff47d4f8e fix(DartWriter): number (js) maps to num (dart) 2014-10-01 11:22:47 -07:00
Victor Berchet
64d3cc68f0 refactor(transpiler): split the monolithic dart transformer
fixes 

The new architecture conforms with the Traceur architecture.
2014-09-30 16:15:35 +02:00
Tobias Bosch
1907c590c8 refactor: removed stale build file 2014-09-29 14:21:38 -07:00
Tobias Bosch
c79f0c3472 refactor: simplify and make tests work in JS and Dart
* remove `wraps` syntax enhancements for imports
  and support new `import * as module from ...` syntax

  - default imports are the wrong construct for importing
    everything from a module

* moved tests from transpiler to jasmine and karma

  - transpiler tests are included when running karma in main project folder
  - transpiler is reloaded after every test run in karma,
    so no need to restart karma when the transpiler has been changed.
  - removed own gulp build for transpiler and `postinstall.sh`
    as they are no more needed.
  - transpiler tests are now executed in Dart AND JavaScript (used to be executed
    only in Dart), which allowed to catch some bugs (see the bug with the
    import specification above).

* made tests work in dart as well by using the following hack:

  - dependencies are loaded from the `build` folder, which makes
    running `gulp build` necessary before running karma for dart
  - for this to work,
    the dependencies are included in main `pubspec.yaml` of project
  - reason for the hack: `karma-dart` loads all `packages` urls
    directly from disc (should rather use the karma file list)

* added explicit annotations `FIELD`, `ABSTRACT`, ... to `facade/lang.*`

  - needed for now that we can run tests and don't get errors for undefined
    annotations.

* added `README.md` with details about the build and tests
2014-09-28 21:50:38 -07:00
Tobias Bosch
39c03e67e6 refactor: rename js2dart to transpiler 2014-09-26 17:44:42 -07:00
Vojta Jina
c3b442ea53 chore: karma with JS, Dart
Note: karma with dart is still not working
because of how `karma-dart` loads `package:…` dependencies.

Usage:
```
karma start karma-js.conf.js
karma start karma-dart.conf.js
```

Make sure to set `DARTIUM_BIN` env variable.

Refactors `js2dart`:
- live outside of the traceur module (`tools/js2dart/index.js`)
  so it can be reused by gulp and karma
- automatically build the sources in memory,
  so that `js2dart` can be used without running `gulp build` first
- provide a way to specify the moduleName of a compilation run
  independently of the input filename. This helps error messages
  and source maps (not yet enabled) to report the correct file name

Changes project setup:
- add module `test_lib` that contains the primitives for tests
  (e.g. `describe`, `it`, …)
- clean up some sources that had errors in them
- module names in transpiled js and dart files don’t contain
  `lib`, `test` nor `src` any more (e.g. `di/di`).
2014-09-26 16:53:54 -07:00
Tobias Bosch
7e3005e705 fix(js2dart): make tests work again 2014-09-26 09:54:32 -07:00
Victor Berchet
a75a3d0b31 refactor(js2dart): use the parent functionalities as mush as possible
Closes 
2014-09-26 09:54:24 -07:00
Victor Berchet
2cc1a4c354 refactor(js2dart): refactor dart library statement
fixes 
closes 
2014-09-26 09:39:37 -07:00
Misko Hevery
87dd88ff0c fix: correct library not to have lib and dart in name. 2014-09-26 09:23:04 -07:00
Tobias Bosch
100d66222c build: execute pub get and dart analyzer
When chaining a `pubspec.yaml` we automatically run `pub get`.

In `gulp build` we also run `dartanalyzer` for all files
that have the pattern:

`<module>/lib/<module>.dart`

Closes 
Closes 
Closes 
2014-09-25 17:56:05 -07:00
Misko Hevery
b42111a608 design: added record interface 2014-09-25 16:53:32 -07:00
Tobias Bosch
97f6ceb27b moved submodules into this project 2014-09-25 14:30:10 -07:00
Tobias Bosch
61ceed5bf6 moved submodules into the repo 2014-09-25 14:29:51 -07:00
Misko Hevery
8afa421d75 first chunk of interfaces that are valid via dart analyzer 2014-09-25 13:51:50 -07:00
Tobias Bosch
47bd68b33d update js2dart 2014-09-25 10:44:42 -07:00
Tobias Bosch
57b3297bf6 refactor: always use js2dart traceur and make examples run again 2014-09-24 20:20:59 -07:00
Tobias Bosch
e5224d2cb3 chore(build): make watch faster / only build what is needed 2014-09-21 22:02:28 -07:00
Tobias Bosch
88aac42c6d chore(build): update to updated version in js2dart 2014-09-20 18:40:17 -07:00
Tobias Bosch
afa7616464 build - refactor 2014-09-19 13:59:28 -07:00