Igor Minar
7aa9751054
build(broccoli): replace broccoli-flatten with diffing flatten implementation
...
Once we add support for addedPaths then this implementation will be significantly faster than the original.
In the meantime we benefit from having stable output directory which solves issues with certain files disappearing
during rebuild of a tree that contains flatten and mergeTree plugins.
Closes #2418
2015-06-08 23:35:31 -07:00
Igor Minar
77b52d65c7
build(broccoli): remove unused import from broccoli-replace
2015-06-08 23:35:31 -07:00
Igor Minar
1eefde7f0d
build(broccoli): replace stew.map with diffing replace
...
This fixes issues with broken symlinks that occur due to some weird interaction between stew.mv,broccoli-funnel
and our diffing plugins.
Closes #2386
2015-06-08 23:35:31 -07:00
Igor Minar
44b31f326b
build(broccoli): log the build tree after each build into tmp/build.*.log
...
This log can then be used to visualize the build tree and map paths in the tmp/ dir
to individual nodes in the build tree.
2015-06-08 23:35:31 -07:00
Rado Kirov
b5431e4cc0
fix(build): only pass ts files to ts2dart transpilation.
...
Originally, we had .js as transpilation targets, but all those files
have been converted.
2015-06-08 18:56:57 -07:00
Matias Niemelä
cd6175827f
refactor: use a custom replacement build step instead of broccoli-replace
2015-06-08 16:28:19 -07:00
Igor Minar
7140c9cc34
build: make 'npm install' work reliably and issue build warning when node_modules look stale
...
This is done a in bit kludgy way on purpose so that it works on Windows and CI.
Works around npm/npm#8452.
Closes #2038
2015-06-08 13:05:04 -07:00
Matias Niemelä
72736a1b09
revert: refactor: use a custom replacement build step instead of broccoli-replace
...
This reverts commit d5c528ac2b
.
2015-06-06 00:58:57 -07:00
Matias Niemelä
d5c528ac2b
refactor: use a custom replacement build step instead of broccoli-replace
...
Closes #2050
2015-06-05 16:16:09 -07:00
Caitlin Potter
5357b1548a
chore(broccoli): disable logging in DiffingBroccoliPlugin
...
It is very noisy, especially when multiple trees are used. Since the
tree differ is fairly quick, it's not measuring the real costs of a
plugin anyhow.
Closes #2378
2015-06-05 17:49:25 -04:00
Caitlin Potter
928ec1c5f8
fix(broccoli): ensure that inputTrees are stable
2015-06-05 16:48:54 -04:00
Caitlin Potter
dc8dac7c35
feat(broccoli): improve merge-trees plugin and add "overwrite" option
2015-06-05 16:48:54 -04:00
Caitlin Potter
c593dfc26c
chore(tsd): update jasmine
2015-06-05 16:48:54 -04:00
Caitlin Potter
6b31d82263
chore(tsd): update fs-extra
2015-06-05 16:48:54 -04:00
Caitlin Potter
4ee3fdaf7f
feat(broccoli): add diffing MergeTrees plugin
...
Closes #1815
Closes #2064
2015-06-05 16:48:46 -04:00
Caitlin Potter
41ae8e76f0
feat(diffing-broccoli-plugin): support multiple inputTrees
...
Closes #1815
Closes #2064
2015-06-05 16:48:32 -04:00
Tobias Bosch
46eeee6b5e
feat(build): add `test.unit.dartvm` for a faster roundtrip of dartvm tests
2015-06-05 13:11:23 -07:00
Martin Probst
471a1b6d12
fix: format a file that slipped in.
2015-06-03 15:50:45 -07:00
Martin Probst
f999d5a156
chore: move to clang-format 1.0.17.
...
clang-format 1.0.17 substantially improves formatting for fat arrow functions
and array literal detection. It also fixes a number of minor formatting issues.
2015-06-03 15:27:27 -07:00
Brian Ford
31b6687894
fix(build): make dart formatter errors more readable
...
Truncates the output to just the interesting parts
2015-06-03 14:42:24 -07:00
Brian Ford
381d4cb30a
fix(gulp): prevent duplicate error messages
...
Closes #2021
2015-06-03 14:42:24 -07:00
Ian Riley
40150379ae
fix(Tools): Moves files out of dart2js/**/web.
...
Fixes bug that only allowed src and packages to be moved out of dart2js/**/web. Globs all files in dart2js/**/web and moves them one directory up.
2015-06-02 13:11:31 -07:00
Tim Blasi
c9d636aa11
chore(dartanalyzer): Show source for analyzer errors
...
When showing analyzer feedback, display the source line that caused the
feedback to be generated.
Closes #1192
2015-06-02 12:06:33 -07:00
Caitlin Potter
be88cc7697
chore(build): watch logger should honor `ignoreInitial` option
...
It was confusing because the test.unit.dart task does ignore the initial, and
the logger was hardcoded to always ignore the first task, leading to the appearance
that a run was happening twice for no reason.
Also, fixed the "fake ignoreInitial" handling to not rely on a fake event, which
is not necessary.
Closes #2101
2015-06-02 14:07:36 -04:00
vsavkin
cd52d8a3be
fix(forms): disabled form tests on cjs until fakeAsync is fixed
2015-05-30 11:56:38 -07:00
Caitlin Potter
e5d06e479a
feat(broccoli): add incremental dartfmt plugin
...
Closes #2211
2015-05-29 18:55:37 -04:00
Tim Blasi
8a3b0b366f
feat(dart/transform): Generate ChangeDetector classes
...
Use the `ProtoViewDto` created by the render `Compiler` to create a
`ChangeDetectorDefinition`.
From there, generate a subclass of `AbstractChangeDetector` for each
`ChangeDetectorDefinition`.
Run some basic unit tests for the dynamic and JIT change detectors on
pre-generated change detectors.
2015-05-29 14:48:53 -07:00
Brian Ford
05d66bba3f
fix(test): clang formatting errors
2015-05-28 13:30:45 -07:00
Igor Minar
b14417498a
build(broccoli): reorder tree-differ specs
2015-05-28 11:44:37 -07:00
Igor Minar
05becf8431
style(build): reorder imports
2015-05-28 11:44:37 -07:00
Igor Minar
160c38b5ca
build(broccoli): improve error messaging from TreeDiffer
2015-05-28 11:44:37 -07:00
Igor Minar
9b0fa0dedc
build(broccoli): TreeDiffer should log associated plugin name rather than inputPath
...
Usually we don't care what we are diffing, but why we are diffing it. With this change we see what is causing build slowdown
due to diffing.
2015-05-28 11:44:37 -07:00
Igor Minar
c1157d62a8
build(broccoli): update broccoli.d.ts docs
2015-05-28 11:44:37 -07:00
Igor Minar
7b1e9286d8
build(broccoli): add tree-stabilizer plugin to deal with unstable trees
...
Previously we assumed that all input and ouput paths for broccoli trees are immutable, that turned out to be
incorrect.
By adding a tree stabilizer plugin in front of each diffing plugin, we ensure that the input trees
are stable. The stabilization is done via symlinks which is super cheap on platforms that support
symlinks. On Windows we currently copy the whole input directory, which is far from ideal. We should
investagate if using move operation on Windows is ok in the future to improve performance.
Closes #2051
2015-05-28 11:44:36 -07:00
Jeff Cross
9d90128463
refactor(ChangeDetection): convert change detection tests to typescript
2015-05-28 10:01:30 -07:00
Ian Riley
ebe1e73b1a
refactor (test/test_lib): Ts'ifying test/test_lib
...
Translates AtScript files in test/test_lib to TypeScript.
Closes #2183
2015-05-28 09:50:59 -07:00
Ian Riley
8ce0a67c81
refactor (test/services): Ts'ifying test/services
...
Translates AtScript files in test/services to TypeScript
Closes #2193
2015-05-28 09:48:38 -07:00
Martin Probst
2c25055828
chore: reformat the code base using the clang-format 1.0.15.
2015-05-27 15:28:22 -07:00
Tobias Bosch
05774f6c8a
fix(build): also run ts tests in node.
2015-05-22 13:19:58 -07:00
Caitlin Potter
e50f537667
build(gulp): turn off dartfmt logs by default
...
Closes #2105
2015-05-22 12:18:42 -04:00
Julie Ralph
863eb3c559
chore(testing): update karma-jasmine and jasmine
...
Jasmine to jasmine-core 2.3.4.
Update tools tests using minijasminenode to directly use jasmine.
See #1860
2015-05-20 21:34:56 -07:00
Julie Ralph
dd9b08cce8
chore(testing): update protractor to version 2.1.0
2015-05-20 17:28:23 -07:00
Igor Minar
4210b0e66a
build(broccoli-typescript): refactor output removal
...
this is just to make the code a bit more easier to follow
2015-05-20 11:30:45 -07:00
Igor Minar
2d6c44b54a
build(broccoli-typescript): do full rebuild after we recover from incremental failures
...
this is to ensure that we are not reporting success if unchanged files still contain errors.
2015-05-20 11:30:44 -07:00
Igor Minar
1054f6a9ab
build(gulp): watcher should not trigger more than once during init
...
Closes #2037
2015-05-20 09:33:29 -07:00
Victor Berchet
91ccc9af98
fix(XHRImpl): fix errors, add a spec
...
fixes #1715
2015-05-20 08:31:50 +02:00
Igor Minar
d04a515eb0
build(gulp): refactor existing cleanup tasks
...
the current complexity is unjustified necessary
2015-05-19 23:15:53 -07:00
Igor Minar
c54f5e0ba2
build(broccoli-typescript): do a global emit during the first run
...
reduces the time spent in TSC for the initial build to 1 sec (down from 23sec).
2015-05-19 17:41:50 -07:00
Igor Minar
37a8f1037e
build(broccoli-typescript): add missing semicolon
2015-05-19 17:41:50 -07:00
Igor Minar
4ba81bf3eb
build(node_tree): fix broken test.unit.cjs task which breaks on rebuild
2015-05-19 17:40:50 -07:00
Igor Minar
c204835969
style(nodeTree): fix formatting
...
the formatting was messed up due to https://github.com/angular/clang-format/issues/7 .
I replaced the fat arrow function with regular function expression to resolve the formatting issue
2015-05-19 17:39:57 -07:00
Brian Ford
ac28ac324d
fix(gulp): continue watching when tasks throw
...
Closes #1915
2015-05-19 16:15:34 -07:00
Tobias Bosch
8aa3fcfb63
chore(build): don’t include `export var __esModule = true` in every file
...
But do it during the build process for cjs.
Right now we only need this when we transpile from ts
directly to es5. This is only the case in our
cis build, as for our browser build we only transpile
from ts to es6 via ts and then use traceur to do
the rest.
2015-05-19 15:12:59 -07:00
Tobias Bosch
1beadb8607
refactor(render): ts’ify render api
2015-05-19 15:12:59 -07:00
Yegor Jbanov
8ab773538b
fix(errors): require passing stack traces explicitly in ng2 own code
2015-05-19 12:48:00 -07:00
Yegor Jbanov
5c88f662cd
chore(deps): bump ts2dart version
2015-05-19 10:43:18 -07:00
Victor Berchet
0f002a5b18
feat(fakeAsync): allow simulating the passage of time
2015-05-19 06:51:15 +02:00
Caitlin Potter
aad5795408
fix(tree-differ): treat symlinks to deleted paths as removals
...
Previously, tree-differ would not correctly handle symlinks to deleted files, resulting in
an ENOENT errno being tossed by libuv.
This change fixes this to ensure that symlinks are safely handled, performantly.
Closes #1961
2015-05-18 20:36:29 -04:00
Caitlin Potter
d9ceb42bfe
chore(gulp): log message when tasks triggered by watch
...
Closes #1882
Closes #1893
2015-05-18 14:34:36 -07:00
Marc Laval
c397297eef
chore(build): fix build.js and test.unit.cjs on Windows
...
Closes #1873
2015-05-16 22:44:11 +02:00
Igor Minar
666336be1a
build(trees): remove unused imports
2015-05-14 10:01:37 -07:00
Caitlin Potter
b1ef30aa20
test(watch): add some test coverage for watch build plugin
...
Closes #1890
2015-05-14 04:44:38 -04:00
Caitlin Potter
28659efa69
chore(traceur-jasmine): accept multiple specfile globs
2015-05-14 02:48:37 -04:00
Caitlin Potter
3969009fe7
build(brocolli): convert brocolli-ts2dart to use TreeDiffer
...
Closes #1720
Closes #1733
2015-05-13 21:04:51 -04:00
Caitlin Potter
23cec1e8e2
build(gulp): use chokidar alone instead of gulp-watch
...
Closes #1759
2015-05-13 19:21:35 -04:00
Misko Hevery
4f2b9a4c28
chore: fail travis on failed ‘test.unit.cjs/ci’
2015-05-12 14:11:12 -07:00
Victor Berchet
c8a0ed40bd
refactor(NgZone): use zone.js v0.5 from npm
2015-05-12 21:07:25 +02:00
Victor Berchet
e11c20541a
refactor(VmTurnZone): renamed to NgZone
...
BREAKING CHANGE:
VmTurnZone has been renamed to NgZone.
- The public API has not chnanged,
- The "outer" zone is now named "mount" zone (private to NgZone).
2015-05-12 21:03:24 +02:00
Victor Berchet
fd1d60f03b
refactor(VmTurnZone): use the browser microtask queue for JS
2015-05-12 21:03:24 +02:00
Victor Berchet
e8a6c95e2a
feat(VmTurnZone): Rework the implementation to minimize change detection runs
...
Before this PR there were only 2 zones: root zone = outer zone > inner
zone.
This PR creates the outer zone as a fork of the root zone: root > outer
> inner.
By doing this it is possible to detected microtasks scheduling in the
outer zone and run the change detection less often (no more than one
time per VM turn).
The PR also introduce a Promise monkey patch for the JS implementation.
It makes Promises aware of microtasks and again allow running the change
detection only once per turn.
2015-05-12 21:03:24 +02:00
Tim Blasi
4320859e1b
chore(dart): Copy css resources in build
...
Include css resources in the files copied to the dist/dart directory.
This fixes 404s occuring when testing the todo/ app.
2015-05-12 10:02:00 -07:00
Kevin Moore
98e7a38e50
chore: use SDK dartfmt
2015-05-12 09:56:38 -07:00
Tim Blasi
44f829dbc6
feat(dart/transform): Use the render Compiler and the DirectiveParser
...
Update the `TemplateCompile` step to use the full render `Compiler`.
Provide `DirectiveMetadata` for `ViewDefinition` objects and use it to
run the `DirectiveParser` step of the render compile pipeline.
2015-05-08 11:18:40 -07:00
vsavkin
fa28b28d0a
build(typescript): Migrated change detection to typescript
2015-05-07 17:18:04 -07:00
Caitlin Potter
a58c9f83bd
fix(brocolli): escape special regexp characters when building regexps
...
Special regexp tokens were allowed unchanged previously, which incorrectly broke
the include/exclude behaviour. Now, they're escaped first.
Closes #1721
Closes #1752
2015-05-07 19:01:12 -04:00
Alex Eagle
1daa8aa3a1
chore(shrinkwrap): update dependencies to latest
...
Also, our package.json was out-of-sync with npm-shrinkwrap.json; see https://github.com/angular/angular/issues/1737
This includes a fix for the shrinkwrapping of ts2dart; see https://github.com/angular/ts2dart/issues/138
2015-05-07 14:29:43 -07:00
Caitlin Potter
aaf3edd131
build(brocolli): move filename filtering into DiffingPluginWrapper
...
Closes #1719
2015-05-07 17:00:35 -04:00
Julie Ralph
01fdb4afc6
chore(build): remove karma preprocessors
...
Custom karma preprocessors are no longer being used after 1676 and 1597
2015-05-06 14:06:40 -07:00
Igor Minar
1d0078415f
build(broccoli): refactor typescript plugin to be incremental via DiffingBroccoliPlugin
2015-05-06 07:45:46 -07:00
Igor Minar
3f36a3c119
build(broccoli): traceur plugin should react only to .js/.es6/.cjs file removal
2015-05-06 07:45:46 -07:00
Igor Minar
8c15ccecd1
build(broccoli): add DiffingBroccoliPlugin and refactor existing plugins to use it
...
tree-differ:
- export both TreeDiffer and DiffResult interface
diffing-broccoli-plugin:
- factory class for wrapping DiffingBroccoliPlugins and turning them into BroccoliTrees
broccoli-dest-copy:
- refactor into DiffingBroccoliPlugin
broccoli-traceur:
- refactor into DiffingBroccoliPlugin
2015-05-06 07:45:45 -07:00
Igor Minar
e966869744
build(broccoli.d.ts): add tree.description signature
2015-05-06 07:45:45 -07:00
Julie Ralph
bb6f59e423
chore(build): make karma watch broccoli output for dart unit tests
...
Previously, karma used a custom preprocessor. Instead, have karma
run built dart from the `dist` folder and use gulp and broccoli
to watch for changes.
2015-05-05 19:24:20 -07:00
Alex Eagle
3c77855b39
chore(build): Remove .es6 files which shadow .ts files.
...
This removes .es6 files which are pure duplicates of a
.ts file in the same folder.
Next we need to remove .js files as well, and remove karma preprocessors for dart.
2015-05-01 09:51:03 -07:00
vsavkin
e4342743c0
feat(benchmark): added an implementation of the tree benchmark in React
2015-04-30 18:12:21 -07:00
Rado Kirov
fb67e37339
feat(decorators): adds decorators to be used by TS and Babel transpiled apps.
2015-04-29 15:13:25 -07:00
Alex Eagle
511e832ee2
chore(build): Karma watches broccoli output.
...
This is a prerequisite for switching to TypeScript. We need to remove the Traceur preprocessor
from Karma, so we have the build specified in a single place (broccoli tree def'n).
2015-04-29 14:15:45 -07:00
Marc Laval
a51a5c2968
chore(build): run forms tests in Node
...
Closes #1565
2015-04-29 13:58:07 +02:00
Alex Eagle
4c1e978536
cleanup(build): remove traceur-based Dart transpiler
2015-04-28 16:25:10 -07:00
Kevin Moore
867705bd2c
chore: put everything in the _analyze.dart file
...
6x faster dart analyze
2015-04-27 16:13:20 -07:00
Igor Minar
2827ca1559
build(broccoli): add a tree-differ workaround to browser trees
2015-04-27 10:50:59 -07:00
Igor Minar
8ea03d0380
build(gulp): fix incremental compilation by reusing angularBuilder across watch re-reruns
2015-04-27 10:47:52 -07:00
Igor Minar
0a97f0b645
build(js.cjs): re-enable tests that now pass in cjs
...
previously these tests were failing but now they pass on master
2015-04-27 10:47:52 -07:00
Igor Minar
a52798543a
build(gulp): rename tasks `build.broccoli.tools` => `build.tools` + `test.unit.broccoli` => `test.unit.tools`
2015-04-27 10:47:51 -07:00
Igor Minar
1cbdb9cd17
refactor(build): introduce AngularBuilder facade and clean up many things
2015-04-27 10:47:51 -07:00
Igor Minar
4c9b8ebb0c
build(gulp): remove obsolete gulp transformer
2015-04-27 10:47:51 -07:00
Igor Minar
7740fc071c
build(broccoli): convert traceur and broccoli-dest-copy plugins to use tree-differ
...
Also adding symlink-or-copy to our npm dependencies since our plugins now use it.
2015-04-27 10:47:50 -07:00
Igor Minar
bdf6af9bd6
build(broccoli): add custom broccoli.d.ts file
2015-04-27 10:47:50 -07:00
Igor Minar
2f83efaac8
build(broccoli): add tree-differ for diffing broccoli trees
2015-04-27 10:47:49 -07:00
Igor Minar
32c5ab956c
build(broccoli): add testing infrastructure for our build plugins
...
components:
- gulp test.unit.broccoli task
- mock-fs for mocking our FS in unit tests
- jasmine d.ts file for type checking
jasmine lib is provided by minijasmine2 so we don't need to include it explicitly
2015-04-27 10:47:49 -07:00