Commit Graph

72 Commits

Author SHA1 Message Date
Alex Eagle 23766b85e9
build: Fix windows tests ()
closes 
2018-07-20 10:51:32 -07:00
Greg Magolan c438b5eeda build(bazel): turn on preserve-symlinks ()
This change turns on preserve-symlinks in nodejs to verify hermeticity of the Angular build.

BREAKING CHANGE: Use of @angular/bazel rules now requires calling ng_setup_workspace() in your WORKSPACE file.

For example:

local_repository(
    name = "angular",
    path = "node_modules/@angular/bazel",
)

load("@angular//:index.bzl", "ng_setup_workspace")

ng_setup_workspace()

PR Close 
2018-07-20 10:37:30 -07:00
Alex Eagle 06a33984af build: rename angular_devkit dependency to angular_cli ()
PR Close 
2018-07-17 16:44:01 -04:00
Alex Eagle 97277bc9fb build: update to Bazel 0.15 ()
PR Close 
2018-07-13 15:05:16 -04:00
Greg Magolan ee50ee493d build(bazel): try removing gazelle ()
PR Close 
2018-07-12 16:34:45 -04:00
Greg Magolan 161ff5c79d feat(bazel): protractor_web_test_suite for release ()
PR Close 
2018-07-12 16:34:45 -04:00
mrmeku 71e0df039c feat(bazel): Initial commit of protractor_web_test_suite ()
Co-authored-by: Andrew Z Allen <me@andrewzallen.com>

PR Close 
2018-07-12 16:34:45 -04:00
Rado Kirov 4d8b8ad372 build(bazel): Undo temporary dependency on unleased TS bazel rules ()
Point to a proper new release version 0.15.1.

PR Close 
2018-07-12 14:38:14 -04:00
Alex Eagle 80576641a8 build: update to latest nodejs bazel rules ()
PR Close 
2018-07-10 18:47:39 -07:00
Greg Magolan 1e74ea9e60 build(bazel): update to rule_nodejs 0.10.0 ()
PR Close 
2018-07-06 10:17:36 -07:00
Igor Minar e3064d5432 feat: typescript 2.9 support ()
PR Close 
2018-07-03 13:32:06 -07:00
Greg Magolan c94a2c9e3f build(bazel): update to latest rules_typescript ()
PR Close 
2018-07-03 08:34:41 -07:00
Alex Rickabaugh 2ecaa40e64 build(ivy): run latest build-optimizer on ngtsc compiled code ()
Previously the repo was depending on an old version of build optimizer.
This change updates to the latest (an RC release in the CLI package).

Additionally, this changes the behavior of ng_rollup_bundle to apply
the optimizer to ngtsc compiled code, and configures it to treat the
@angular/compiler package as side-effect-free.

This results in a substantial size reduction of ngtsc compiled code.

PR Close 
2018-06-28 17:51:42 -04:00
Alex Eagle 5aa12c73ae build: update to Bazel 0.14.0 ()
Includes a fix for out-of-memory condition which caused this to be
reverted yesterday.

PR Close 
2018-06-14 10:04:42 -07:00
Alex Eagle 03f93b3772 Revert "build: update to Bazel 0.14.0 ()" ()
This reverts commit 0d07d273dc.

Fixes 

PR Close 
2018-06-13 16:47:18 -07:00
Alex Eagle c2b5ebfa24 build: update buildifier to latest ()
this matches the version in ngcontainer:0.3.1

PR Close 
2018-06-12 11:42:35 -07:00
Alex Eagle 0d07d273dc build: update to Bazel 0.14.0 ()
Also update usage of the ctx.actions.args to a newer preferred API

PR Close 
2018-06-12 11:42:35 -07:00
Greg Magolan ec57133b61 build: update to rules_nodejs 0.9.1 and rules_typescript 0.15.0 ()
PR Close 
2018-05-31 10:08:07 -07:00
Alex Eagle 49d97f1ba0 build: update rules_webtesting ()
this includes a fix for spammy browser installs that makes our CI logs hard to read

PR Close 
2018-05-30 11:31:03 -07:00
George Kalpakas 62f751cd87 build: update brotli version in WORKSPACE ()
The updated version includes the fix for google/brotli#671.

PR Close 
2018-05-30 11:30:40 -07:00
Alex Eagle e43d3fa4b7 build: pick up rules_typescript karma fix ()
Error was Cannot find module 'karma/bin/karma'

PR Close 
2018-05-29 16:50:11 -04:00
Alex Eagle 017d67cdf8 test: switch to ts_web_test_suite ()
Unit tests now run on Firefox too

PR Close 
2018-05-15 11:40:56 -07:00
Alex Eagle 089fe83865 build: update to latest TypeScript rules ()
Fixes 

PR Close 
2018-05-10 16:45:38 -07:00
Greg Magolan c5ca5c0d9f build(bazel): update to rules_typescript 0.12.3 ()
PR Close 
2018-05-09 11:47:10 -07:00
Alex Eagle 7e9649bdf1 build: update to latest nodejs bazel rules ()
PR Close 
2018-05-04 15:29:03 -07:00
Alex Eagle e3e15773ee build: update bazel to 0.13 ()
PR Close 
2018-05-04 15:23:55 -07:00
Alex Eagle b4c252bcc5 build: serve ivy todo app with real http-server ()
PR Close 
2018-04-25 15:51:18 -07:00
Alex Eagle b76dd3b979 fix(compiler): use correct global name in compiler.umd.js ()
Fixes 

PR Close 
2018-04-13 00:13:54 -07:00
Alex Eagle b3a10e0a42 build: update Bazel dependency to 0.11.1 ()
PR Close 
2018-04-10 23:01:30 -07:00
Alex Eagle 37c1634276 build: Add sourcemap output from ng_rollup_bundle ()
PR Close 
2018-04-09 16:07:13 -07:00
Alex Eagle 6699fb5d77 build: language-service package built by bazel ()
PR Close 
2018-04-04 16:48:39 -07:00
Alex Eagle 580f05bd9c build: flatten esm5 sources before rollup ()
this is needed to update to latest rules_nodejs due to breaking change in
https://github.com/bazelbuild/rules_nodejs/pull/172
It has the side-effect of correctly marking rxjs packages as side-effect-free

PR Close 
2018-04-03 10:47:29 -07:00
Alex Eagle d284404060 build: update brotli version ()
fixes the build on glinux.

PR Close 
2018-04-03 10:47:29 -07:00
Alex Eagle 0b348c8ffe build: fix bazel stamping ()
As pointed out in https://github.com/bazelbuild/rules_nodejs/issues/156
our mechanism would never pick up changes to the version info.

PR Close 
2018-03-28 09:00:02 -07:00
Alex Eagle 4f0cae0676 build: allow bazel build //... ()
Also switch our CircleCI commands to just
bazel build //...
bazel test //...
as this is easier to understand.

Note, the reason this commit removes `firebase-tools` is:

1) firebase-tools has an optional dependency on
https://www.npmjs.com/package/@google-cloud/functions-emulator
2) yarn's `--ignore-optional` doesn't work for transitive deps, so
there's no way to yarn install without getting that functions-emulator
package
3) functions-emulator has a transitive dep on `grpc`
4) the version of `grpc` we get has `BUILD` files and no `WORKSPACE`
file so it always breaks `bazel build ...`

It could be solved by any of:
1) remove firebase-tools - this is what I did
2) fix yarn so you can omit optional deps of a transitive dep
3) make functions-emulator depend transitively on a more recent `grpc`
version
4) patch `grpc` after install by doing an `rm` command in our
postinstall or something

In its place we must install protobufjs. This is needed by the
ngc-wrapped test, which needs jasmine as well as bazel's worker mode
dependencies, and therefore cannot simply rely on
node_modules =
"@build_bazel_rules_typescript_tsc_wrapped_deps//:node_modules"

PR Close 
2018-03-23 15:02:32 -05:00
Alex Eagle 34981063ec build: ts-api-guardian reuses root node_modules ()
This avoids the need to run bazel run :install instead of yarn install.
We merge the devDependencies of ts-api-guardian into the root package.json file.

PR Close 
2018-03-22 19:23:33 -04:00
Misko Hevery fc50c77bd3 test(ivy): switch HelloWorld to ivy compiler ()
PR Close 
2018-03-19 16:00:38 -07:00
Alex Eagle 88b3198c80 feat(bazel): change ng_package rule to APF v6 ()
Angular Package Format v6 stops bundling files in the esm5 and esm2015
directories, now that Webpack 4 can tree-shake per-file.

Adds some missing files like package.json to make packages closer to
what we publish today.

Refactor ng_package to be a type of npm_package and re-use the packaging
action from that rule.

PR Close 
2018-03-15 11:38:31 -07:00
Miško Hevery 51027d73cc fix(ivy): Update rollup rule to prevent inlining symbols in debug. ()
The new rollup rule disables inlining symbols in debug mode. This makes 
it look as if there would be more symbols but in reality these are the
symbols which are no longer being inlined.
PR Close 
2018-03-13 19:58:30 -07:00
Alex Eagle fcb8c492d6 build: add an npm_package rule for @angular/bazel ()
PR Close 
2018-03-07 10:56:27 -08:00
Alex Eagle 4c40812b71 fix(bazel): fixes for ng_package on Windows ()
PR Close 
2018-03-06 07:52:48 -08:00
Alex Eagle 4f60968704 test(bazel): Build and test ts-api-guardian locally ()
Also use it to test the public API for core and common

Once we have an ng_package for every package, we can remove
the npm dependency on ts-api-guardian and the gulp-based
public api check.

PR Close 
2018-03-02 15:00:00 -08:00
Alex Eagle ba8df8a3f1 build: update to latest bazel rules ()
PR Close 
2018-03-02 13:27:25 -08:00
Alex Eagle b43b164a61 feat(bazel): add an ng_package rule ()
This produces a directory following the Angular Package layout spec.

Includes integration test coverage by making a minimal ng_package in integration/bazel.
Unit tests verify the content of the @angular/core and @angular/common packages.

This doesn't totally match our current output, but is good enough to unblock some
early adopters.

It re-uses logic from the rollup_bundle rule in rules_nodejs. It should also
eventually have the .pack and .publish secondary targets like npm_package rule.

PR Close 
2018-02-23 11:19:04 -08:00
Alex Eagle a81d599bfc ci: don't use bazel git_repository rule ()
It's currently broken on CircleCI because of a TLS change made by GitHub.
This is okay as a permanent change, we don't really want bazel to fetch a full git history.

Fixes 

PR Close 
2018-02-23 09:41:10 -08:00
Martin Probst ca06af40f4 build: allow passing node options to ngc. ()
PR Close 
2018-02-22 10:20:04 -08:00
Alex Eagle 029dbf0e18 feat(bazel): ng_module produces bundle index ()
It creates the bundle index .d.ts and .metadata.json files.
The names are based on the ng_module target.

PR Close 
2018-02-15 14:08:53 -08:00
Matias Niemelä 0aa9b46b79 Revert "build: allow bazel build ... ()"
This reverts commit 265ac8a106.
2018-02-15 03:28:35 -08:00
Alex Eagle 265ac8a106 build: allow bazel build ... ()
Note, the reason this commit removes `firebase-tools` is:

1) firebase-tools has an optional dependency on
https://www.npmjs.com/package/@google-cloud/functions-emulator
2) yarn's `--ignore-optional` doesn't work for transitive deps, so
there's no way to yarn install without getting that functions-emulator
package
3) functions-emulator has a transitive dep on `grpc`
4) the version of `grpc` we get has `BUILD` files and no `WORKSPACE`
file so it always breaks `bazel build ...`

It could be solved by any of:
1) remove firebase-tools - this is what I did
2) fix yarn so you can omit optional deps of a transitive dep
3) make functions-emulator depend transitively on a more recent `grpc`
version
4) patch `grpc` after install by doing an `rm` command in our
postinstall or something

In its place we must install protobufjs. This is needed by the
ngc-wrapped test, which needs jasmine as well as bazel's worker mode
dependencies, and therefore cannot simply rely on
node_modules =
"@build_bazel_rules_typescript_tsc_wrapped_deps//:node_modules"

PR Close 
2018-02-14 15:01:41 -05:00
Alex Eagle 7e9b120452 build: update to latest bazel rules ()
PR Close 
2018-02-09 17:21:54 -08:00