105 Commits

Author SHA1 Message Date
Vikram Subramanian
6e20e0aac8 fix(animations): set animations styles properly on platform-server ()
Animations styles weren't getting properly set on platform-server because of erroneous checks and absence of reflection of style property to attribute on the server.

The fix corrects the check for platform and explicitly reflects the style property to the attribute.

PR Close 
2018-06-25 07:58:11 -07:00
Rado Kirov
c95437f15d build(bazel): Turning on strictPropertyInitialization for Angular. ()
All errors for existing fields have been detected and suppressed with a
`!` assertion.

Issue/24571 is tracking proper clean up of those instances.

One-line change required in ivy/compilation.ts, because it appears that
the new syntax causes tsickle emitted node to no longer track their
original sourceFiles.

PR Close 
2018-06-25 07:57:13 -07:00
Victor Savkin
49c5234c68 feat(router): implement scrolling restoration service ()
For documentation, see `RouterModule.scrollPositionRestoration`

Fixes    

PR Close 
2018-06-08 15:30:52 -07:00
Alex Rickabaugh
7983f0a69b ci(ivy): configure CI environments for Ivy JIT and AOT ()
Two new CircleCI environments are created: test_ivy_jit and test_ivy_aot.
Both run a subset of the tests that have been marked with Bazel tags as
being appropriate for that environment.

Once all the tests pass, builds are published to the *-builds repo both
for the legacy View Engine compiled code as well as for ivy-jit and ivy-aot.

PR Close 
2018-06-08 13:34:27 -07:00
Vikram Subramanian
08f943a1f3 test(platform-server): add a test for 'hidden' property ()
Add a test to verify that the hidden property is reflected properly to the hidden attribute.

PR Close 
2018-06-01 10:04:44 -07:00
Vikram Subramanian
60aa943e2d fix(platform-server): avoid dependency cycle when using http interceptor ()
Fixes .

When a HTTP Interceptor injects HttpClient it causes a DI cycle. This fix is to use Injector to lazily inject HTTP_INTERCEPTORS while setting up the HttpHandler on the server so as to break the cycle.

PR Close 
2018-06-01 08:33:45 -07:00
Vikram Subramanian
6a663a4073 fix(platform-server): don't reflect innerHTML property to attibute ()
Fixes .

innerHTML is conservatively marked as an attribute for security purpose so that it's sanitized when set. However this same mapping is used by the server renderer to decide whether the `innerHTML` property needs to be reflected to the `innerhtml` attribute. The fix is to just skip the property to attribute reflection for `innerHTML`.

PR Close 
2018-05-31 10:08:28 -07:00
Vikram Subramanian
b96a3c8def fix(platform-server): avoid clash between server and client style encapsulation attributes ()
Previously the style encapsulation attributes(_nghost-* and _ngcontent-*) created on the server could overlap with the attributes and styles created by the client side app when it botstraps. In case the client is bootstrapping a lazy route, the client side styles are added before the server-side styles are removed. If the components on the client are bootstrapped in a different order than on the server, the styles generated by the client will cause the elements on the server to have the wrong styles.

The fix puts the styles and attributes generated on the server in a completely differemt space so that they are not affected by the client generated styles. The client generated styles will only affect elements bootstrapped on the client.

PR Close 
2018-05-30 14:28:14 -07:00
Vikram Subramanian
c73196eb59 fix(platform-server): provide Domino DOM types globally ()
Fixes , .

This fix lets code access DOM types like Node, HTMLElement in the code. These are invariant across requests and the corresponding classes from Domino can be safely provided during platform initialization.

This is needed for the current sanitizer to work properly on platform-server. Also allows HTML types in injection - Ex. `@inject(DOCUMENT) doc: Document`.

PR Close 
2018-05-30 10:18:29 -07:00
Vikram Subramanian
d6595ebd39 feat(platform-server): use EventManagerPlugin on the server ()
Previously event handlers on the server were setup directly. This change makes it so that the event registration on the server go through EventManagerPlugin just like on client. This allows us to add custom event registration handlers on the server which allows us to hook up preboot event handlers cleanly.

PR Close 
2018-05-30 10:17:31 -07:00
swseverance
fe3679a356 style: remove empty comments ()
PR Close 
2018-05-10 15:48:13 -07:00
Igor Minar
5b96078624 Revert "refactor(core): tree-shake application_module providers ()"
This reverts commit eb031c6ff1d416d90d7c89dbeb367f9dc1927564.

The change is breaking targets in g3 see cl/194336387.
2018-04-26 14:08:13 -07:00
Matias Niemelä
eb031c6ff1 refactor(core): tree-shake application_module providers ()
PR Close 
2018-04-25 15:51:51 -07:00
Alex Eagle
102ed3b03c test: move platform-server integration test ()
Now it lives in our standard location for tests against npm packages

PR Close 
2018-04-13 16:30:50 -07:00
Igor Minar
bbfa1d31a4 fix(platform-server): require node v8+ ()
PR Close 
2018-04-12 00:08:50 -07:00
Pete Bacon Darwin
4b96a58c5a docs: remove all deprecated @stable jsdoc tags ()
These are no longer needed as stable docs are computed as those that
do not have `@experimental` or `@deprecated` tags.

PR Close 
2018-04-10 21:49:32 -07:00
Alex Eagle
15278784fc release(bazel): change publish-next script to publish bazel artifacts ()
PR Close 
2018-03-30 14:03:05 -07:00
Igor Minar
22cb2c9441 build: add missing dependencies on @rxjs//operators needed for rxjs@6.0.0-beta.4 ()
PR Close 
2018-03-30 13:07:03 -07:00
Veres Lajos
de90314304 style: typos fixed - https://github.com/vlajos/misspell-fixer ()
PR Close 
2018-03-27 14:51:53 -04:00
Igor Minar
7d095b96cd fix: correct several esm2015 entry-points in package.jsons ()
PR Close 
2018-03-20 13:30:08 -07:00
Alex Eagle
689f351092 build: expose flatModuleOutFile option on ng_module ()
This lets projects like Material change ng_package "bundle index" files to non-conflicting paths

Currently packages like @angular/core ship with the generated metadata
in a path like 'core.js' which overwrites one of the inputs.

Angular material puts the generated file in a path like 'index.js'

Either way these files generated by ng_module rules have the potential
to collide with inputs given by the user, which results in an error.

Instead, give users the freedom to choose a different non-conflicting name.

Also this refactors the ng_package rule, removing the redundant
secondary_entry_points attribute.

Instead, we assume that any ng_module in the deps with a module_name
attribute is a secondary entry point.

PR Close 
2018-03-20 13:28:57 -07:00
Igor Minar
b43f8bc7d3 feat(core): upgrade rxjs to 6.0.0-alpha.4 ()
PR Close 
2018-03-19 21:51:51 -07:00
Igor Minar
ce63dc6f95 feat: update the package output of build.sh to APF v6 ()
PR Close 
2018-03-18 09:33:51 -07:00
Alex Eagle
f9247e4b2e build: enable importHelpers in tsconfig ()
This is the primary tsconfig file used for Bazel builds.
Previously, we enabled this option only for releases.

PR Close 
2018-03-15 21:16:03 -07:00
Igor Minar
44de10e2db feat: mark angular packages as side-effect free ()
This flag is picked up by webpack v4 and used for more agressive optimizations.

Our code is already side-effect free, because that's what we needed for build-optimizer to work.

PR Close 
2018-03-15 14:52:40 -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
Adam Plumer
cd2ebd22fd fix(platform-server): add styles to elements correctly ()
* Partially reverts  due to lack of total spec compliance
  on the server
* Maintains the camel-case styles fix

PR Close 
2018-03-14 14:12:31 -07:00
Alex Eagle
1e6cc42a01 test: migrate remaining public-api tests to Bazel ()
We now create npm packages to cover all the public api assertions in tools/public_api_guard.
We no longer depend on ts-api-guardian from npm - it is now stale since the repository was archived.
There is no longer a gulp task to enforce or accept the public API, this is in CircleCI as part of running all bazel test targets.

PR Close 
2018-03-09 09:11:40 -08:00
Igor Minar
489fec1299 feat: update tslib to 1.9.0 ()
BREAKING CHANGE: after this change, npm and yarn will issue incompatible peerDependencies warning

We don't expect this to actually break an application, but the application/library package.json
will need to be updated to provide tslib 1.9.0 or higher.

PR Close 
2018-03-08 16:42:34 -08:00
Hans Larsen
288851c41e release: add ng update package group metadata to angular ()
"ng update" supports having multiple packages as part of a group which should be updated together, meaning that e.g. calling "ng update @angular/core" would be equivalent to updating all packages of the group (that are part of the package.json already).

In order to support the grouping feature, the package.json of the version the user is updating to needs to include an "ng-update" key that points to this metadata.

The entire specification for the update workflow can be found here: 2e8b12a4ef/docs/specifications/update.md

PR Close 
2018-02-28 14:57:53 -08:00
Adam Plumer
40ba009e25 fix(platform-server): generate correct stylings for camel case names ()
* Add correct mapping from camel case to kebab case for CSS style
names
* Remove internal CSS methods in favor of native Domino APIs

Fixes 

PR Close 
2018-02-26 17:46:21 -08:00
Adam Plumer
d3827a0017 feat(platform-server): bump Domino to v2.0 ()
BREAKING CHANGE:

* Bump the dependency on Domino to 2.0 to resolve issues with
  namespacing

PR Close 
2018-02-26 14:55:52 -08:00
Alex Eagle
a069e08354 refactor(bazel): convert most ts_library to ng_module ()
This is necessary so we can produce ng metadata for our packages that are published as libraries

PR Close 
2018-02-15 14:08:53 -08:00
Adrien Boullé
020338230f style: fix typos boostrap to bootstrap ()
PR Close 
2018-02-15 09:54:00 -08:00
Matias Niemelä
831592c381 Revert "style: fix typos boostrap to bootstrap ()"
This reverts commit 363498b6b44610f6dd76d5c0603be0289707b9cf.
2018-02-14 22:56:44 -05:00
Adrien Boullé
363498b6b4 style: fix typos boostrap to bootstrap ()
PR Close 
2018-02-14 18:21:52 -05:00
Alex Rickabaugh
647b8595d0 build: update some ts_library rules to ng_module ()
This is needed so the rules produce metadata.json files, which is essential
for building compiler/integration tests with Bazel.

PR Close 
2018-02-12 14:34:59 -08:00
vsavkin
c40ae7f7cf feat(router): add navigationSource and restoredState to NavigationStart event ()
Currently, NavigationStart there is no way to know if an navigation was triggered imperatively or via the location change. These two use cases should be handled differently for a variety of use cases (e.g., scroll position restoration). This PR adds a navigation source field and restored navigation id (passed to navigations triggered by a URL change).

PR Close 
2018-01-29 10:22:59 -08:00
Jason Aden
ede9cb7c2f Revert: "feat(router): add navigationSource and restoredState to NavigationStart event ()"
This reverts commit 3b7bab7d22064d545f1745dc3e062fcb1d91073b. Will be re-merged after fixing integration of minor breaking change.
2018-01-26 16:24:56 -08:00
vsavkin
3b7bab7d22 feat(router): add navigationSource and restoredState to NavigationStart event ()
Currently, NavigationStart there is no way to know if an navigation was triggered imperatively or via the location change. These two use cases should be handled differently for a variety of use cases (e.g., scroll position restoration). This PR adds a navigation source field and restored navigation id (passed to navigations triggered by a URL change).

PR Close 
2018-01-26 10:25:32 -08:00
Alex Eagle
a1492a73ce build: Remove angular_src nested workspace ()
PR Close 
2018-01-19 10:17:37 -08:00
Alex Eagle
c4f02e21dd build: move repeated tsconfig attributes to a macro ()
This helps ensure we use the same tsconfig.json file for all compilations.
Next steps are to make it the same tsconfig.json file used by the editor

PR Close 
2018-01-10 12:30:19 -08:00
Miško Hevery
ae97920fe2 build: move _testing_init into tools; limit web_test concurrency ()
PR Close 
2017-12-22 13:10:51 -08:00
Misko Hevery
3d50fd7cac build: add bazel test rules for remainder of packages ()
PR Close 
2017-12-22 13:10:51 -08:00
Misko Hevery
47e251a80a build: remove main() from specs ()
PR Close 
2017-12-22 13:10:51 -08:00
George Kalpakas
81d497ce1f build: pin ChromeDriver version ()
Since our version of Chromium is also pinned, a new ChromeDriver (that
drops support for our Chromium version) can cause random (and unrelated
to the corresponding changes) errors on CI.
This commit pins the version of ChromeDriver and it should now be
manually upgraded to a vrsion that is compatible with th currently used
Chromium version.

PR Close 
2017-12-11 15:53:04 -08:00
Alex Eagle
ef534c0cc1 build: upgrade bazel rules to latest ()
Add enough BUILD files to make it possible to
`bazel build packages/core/test`

Also re-format BUILD.bazel files with Buildifier.
Add a CI lint check that they stay formatted.

PR Close 
2017-12-07 11:27:50 -08:00
Alex Eagle
5ec1717c58 fix: Update test code to type-check under TS 2.5 ()
PR Close 
2017-11-15 18:12:16 -06:00
Hans Larsen
13f8648a00 fix: add missing globals from each rollup configuration ()
PR Close 
2017-10-30 23:09:17 -04:00
Hans Larsen
b6abcb2500 refactor: make all rollup config ES5 compatible ()
So they can be required by other Node scripts.

PR Close 
2017-10-30 23:09:17 -04:00