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
Igor Minar
725f909ff8
chore(build): refactor test.unit.cjs to use the broccoli pipeline
...
This change solves several problems:
- the broccoli pipeline is used to compile the node/cjs tree upon any change to the modules/ directory
- jasmine tests run in a new process removing the need to clean up environment after each test
- since we transpile only those test files that are actually needed for node/cjs build, we transpile less and don't need to filter out tests
2015-04-27 10:47:49 -07:00
Alex Eagle
623edcd2d8
Copy a second package to TypeScript.
2015-04-24 15:49:04 -07:00
Tobias Bosch
14a7b9f794
fix(jsserve): serve empty favicon to prevent errors in benchmarks
...
Background: our benchmarks check whether there were errors
in the browser log after they executed.
2015-04-21 11:25:07 -07:00
vsavkin
8b3c808cb0
cleanup: remove an unused type
2015-04-20 14:24:16 -07:00
Yegor Jbanov
2b4d30d931
chore(analysis): analyze everything in lib folders recursively; fix existing warnings
2015-04-17 13:52:02 -07:00
Yegor Jbanov
3dc4df2ffa
chore(analysis): analyze web folders; fix existing warnings
2015-04-17 13:52:02 -07:00
Igor Minar
8906cdbab8
chore(build): trigger npm postinstall when npm install is skipped
...
we temporarily need this because some of our dependencies are being installed via npm postinstall
2015-04-16 16:58:28 -07:00
Igor Minar
371c8b8a1c
chore(travis): add npm/install-dependencies.sh step in preparation for caching
2015-04-16 16:58:28 -07:00
Igor Minar
eb87f5f851
chore(npm): add shrinkwrap to our project
2015-04-16 16:58:28 -07:00
Kevin Moore
6600ac7031
chore: Fix missing analysis for lib and web directories
...
Pending issue to fix analyzer items in web: https://github.com/angular/angular/issues/1392
2015-04-15 20:58:29 -07:00
Kevin Moore
dc9c614da2
chore: break out warnings vs hints in build/analyze.dart
...
give a better report of errors
2015-04-15 15:46:16 -07:00
Jeremy Elbourn
f149ae79c6
feat(material): first ng2 material design components
2015-04-14 16:15:35 -07:00
Rado Kirov
ffe13078e5
feat(bundle): add script to push bundles to code.angularjs.org
...
Copied over from angular js 1.x.
2015-04-14 14:50:53 -07:00
Martin Probst
ef6e0d8eb8
chore(build): remove obsolete html.js, copy.js, srcFolderInsertion.
2015-04-14 11:54:36 -07:00
Martin Probst
db97d73c3b
feat(build): Move HTML copying into the broccoli task.
...
This includes all tasks to construct a Dart tree, except for formatting, and
reverse engineers/refactors the various copy tools for added more sanity.
2015-04-14 11:54:31 -07:00
Rado Kirov
3177576ad6
feat(bundle): adds a self-executing dev bundle (SFX).
2015-04-13 18:05:53 -07:00
Alex Eagle
896a0457f8
refactor(build): Better encapsulate the broccoli builder.
2015-04-13 17:28:00 -07:00
Igor Minar
0107543a33
chore(build): move build/transformCJSTests task to broccoli
2015-04-13 16:52:08 -07:00
Alex Eagle
70433e6b73
chore(build): use a Filter plugin to write the dest folder.
...
This lets broccoli keep the dest folder up-to-date in 'watch' mode,
so we should be able to use that for Karma.
2015-04-13 15:51:33 -07:00
Alex Eagle
34501aaae6
chore(build): move more broccoli support inside the TypeScript boundary
2015-04-13 12:24:28 -07:00
Igor Minar
dbfc4c1c16
chore(build): inline Traceur options just like we do everywhere
2015-04-13 11:37:18 -07:00
Igor Minar
301863b105
chore(build): transpile only e2e test code into cjs
2015-04-13 11:31:14 -07:00
Igor Minar
ef8dc40492
chore(build): correct comment
2015-04-13 11:31:14 -07:00
Igor Minar
6dbd4d969b
chore(build): create es5build.js only for files that will become es6 npm packages
2015-04-13 11:31:14 -07:00
Igor Minar
3dd0ac1f0a
chore(build): move dart broccoli tree to make-broccoli-tree
2015-04-13 11:20:59 -07:00
Igor Minar
1f6c6dbf2f
chore(build): refactor broccoli trees to generate them in order to reduce duplication
2015-04-13 10:07:31 -07:00
Alex Eagle
daf0f472b3
feat(build): enforce formatting of some files.
...
Our style guide includes formatting conventions. Instead of wasting time in reviewing PRs discussing things like indenting, and to avoid later deltas to fix bad formatting in earlier commits, we want to enforce these in the build.
The intent in this change is to fail the build as quickly as possible in travis, so those sending a PR immediately know they should run clang-format and update their commit. When running locally, we want users to know about formatting, but they may not want to act on it immediately, until they are done working. For this reason, it is only a warning outside of the continuous build.
This is done by having a check-format task which should run on most local builds, and an enforce-format task only run by travis.
2015-04-11 18:39:28 -07:00
Martin Probst
a3decad4c2
feat(build): Use broccoli for ts2dart transpilation.
2015-04-11 16:26:44 -07:00
Alex Eagle
2ed7622239
chore(build): compile the .ts broccoli tools.
...
This avoids having to check in the compiled .js files.
2015-04-10 17:29:32 -07:00