https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
24fd1a1 fix(ivy): handle namespaced imports correctly (#31367) The ngcc tool adds namespaced imports to files when compiling. The ngtsc tooling was not processing types correctly when they were imported via such namespaces. For example: ``` export declare class SomeModule { static withOptions(...): ModuleWithProviders<ɵngcc1.BaseModule>; ``` In this case the `BaseModule` was being incorrectly attributed to coming from the current module rather than the imported module, represented by `ɵngcc1`. Fixes #31342 PR Close #31367 09 July 2019, 16:40:30 UTC
a3fc147 ci(docs-infra): increase waiting time to reduce flakiness on CI (#31408) Example failure: https://circleci.com/gh/angular/angular/381763 PR Close #31408 09 July 2019, 16:35:54 UTC
bdfbb92 fix(zone.js): restore definition of global (#31453) This partially reverts some changes from https://github.com/angular/zone.js/commit/71b93711806000d7788e79451478e20d6086aa8a#diff-dd469785fca8680a5b33b1e81c5cfd91R1420 These broke the g3sync of zone.js because we use the output of the TypeScript compiler directly, rather than rely on the rollup commonjs plugin to define the global symbol PR Close #31453 09 July 2019, 16:34:50 UTC
4bda800 docs: add correct default cli ngModule (#31166) PR Close #31166 08 July 2019, 17:25:58 UTC
06cbaf8 docs: update polyfill support doc (#31262) PR Close #31262 08 July 2019, 17:22:01 UTC
0e53e8f docs: api doc cleanup (#31377) PR Close #31377 08 July 2019, 16:51:59 UTC
bebf089 fix(core): export provider interfaces that are part of the public API types (#31377) Some of the provider interfaces that the [Provider][1] and [StaticProvider][2] types comprise were not exported from [@angular/core][3]. As a result, the docs for these symbols did not appear on angular.io (even though both `Provider` and `StaticProvider` are part of the public API. (See, also, https://github.com/angular/angular/pull/31377#discussion_r299254408.) This commit fixes it by exporting all necessary provider interfaces. [1]: https://github.com/angular/angular/blob/9e34670b2/packages/core/src/di/interface/provider.ts#L365-L366 [2]: https://github.com/angular/angular/blob/9e34670b2/packages/core/src/di/interface/provider.ts#L283-L284 [3]: https://github.com/angular/angular/blob/9e34670b2/packages/core/src/di/index.ts#L23 PR Close #31377 08 July 2019, 16:51:59 UTC
7b0a287 docs: fix formatting in workspace config and add helpful info for universal (#31399) PR Close #31399 08 July 2019, 16:38:25 UTC
dcf9c13 ci: update gcp_token (#31405) PR Close #31405 03 July 2019, 15:54:02 UTC
1033a02 release: cut the v8.1.0 release 02 July 2019, 20:44:35 UTC
376c5fc docs: add accessibility guide (#30851) PR Close #30851 02 July 2019, 18:39:24 UTC
48a7581 docs: fix typo in Template Syntax (#31298) Fixes #31282 PR Close #31298 02 July 2019, 18:30:50 UTC
d0c32e0 docs(core): in template syntax guide, make SVG example more clear (#31356) add e2e test for SVG template example fix template syntax example app - linting errors - runtime exceptions - template type errors - deprecated type casting - deprecated currency pipe example Relates to #30559 PR Close #31356 02 July 2019, 18:30:15 UTC
a57ea26 test(zone.js): fix typos (#31358) Relates to #31144 PR Close #31358 02 July 2019, 18:29:33 UTC
4ea54a7 docs: fix typo in deployment page (#31369) PR Close #31369 02 July 2019, 18:29:11 UTC
0fe6110 build(docs-infra): update dgeni-packages dependency (#31368) The new version 0.27.5 now has the `post-process-html` package, so we don't need it in angular/angular any more. PR Close #31368 02 July 2019, 18:28:24 UTC
ffe7050 build(bazel): fix build failures with worker mode cache and @types/events (#31326) Errors observed only in tests on CircleCI — was not reproducible locally: ``` ERROR: /home/circleci/ng/packages/http/test/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/http/test:test_lib failed (Exit 1): tsc_wrapped failed: error executing command (cd /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular && \ exec env - \ BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 \ PATH=/bin:/usr/bin:/usr/local/bin \ bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped @@bazel-out/k8-fastbuild/bin/packages/http/test/test_lib_es5_tsconfig.json) Execution platform: //tools:rbe_ubuntu1604-angular Compilation failed Error: missing input digest for /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/external/npm/node_modules/@types/events/index.d.ts. ERROR: /home/circleci/ng/packages/benchpress/test/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/benchpress/test:test_lib failed (Exit 1): tsc_wrapped failed: error executing command (cd /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular && \ exec env - \ BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 \ PATH=/bin:/usr/bin:/usr/local/bin \ bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped @@bazel-out/k8-fastbuild/bin/packages/benchpress/test/test_lib_es5_tsconfig.json) Execution platform: //tools:rbe_ubuntu1604-angular Compilation failed Error: missing input digest for /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/external/npm/node_modules/@types/events/index.d.ts ERROR: C:/codefresh/volume/angular/packages/compiler/test/css_parser/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/compiler/test/css_parser:css_parser_lib failed (Exit 1): tsc_wrapped.exe failed: error executing command cd C:/users/containeradministrator/_bazel_containeradministrator/zquin2l6/execroot/angular SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0 SET RUNFILES_MANIFEST_ONLY=1 bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped.exe @@bazel-out/x64_windows-fastbuild/bin/packages/compiler/test/css_parser/css_parser_lib_es5_tsconfig.json Execution platform: @bazel_tools//platforms:host_platform Compilation failed Error: missing input digest for C:/users/containeradministrator/_bazel_containeradministrator/zquin2l6/execroot/angular/external/npm/node_modules/@types/events/index. d.ts ``` PR Close #31326 01 July 2019, 21:17:09 UTC
0ac6406 build(bazel): update //packages/bazel/test/ngc-wrapped:ngc_test test (#31326) after update to rules_nodejs 0.32.1, @types are no longer automatically discovered by ngc-wrapped (which uses parts of ts_library) so this test needed updating so that the types files it generates is added as an explicit dep PR Close #31326 01 July 2019, 21:17:09 UTC
57ffb41 build(bazel): add build --incompatible_list_based_execution_strategy_selection=false flag (#31326) This option is changed to true in Bazel 0.27 and exposes a possible regression in Bazel 0.27.0. Error observed is in npm_package target `//packages/common/locales:package`: ``` ERROR: /home/circleci/ng/packages/common/locales/BUILD.bazel:13:1: Assembling npm package packages/common/locales/package failed: No usable spawn strategy found for spawn with mnemonic SkylarkAction. Your --spawn_strategyor --strategy flags are probably too strict. Visit https://github.com/bazelbuild/bazel/issues/7480 for migration advises ``` Suspect is https://github.com/bazelbuild/rules_nodejs/blob/master/internal/npm_package/npm_package.bzl#L75-L82: ``` execution_requirements = { # Never schedule this action remotely because it's not computationally expensive. # It just copies files into a directory; it's not worth copying inputs and outputs to a remote worker. # Also don't run it in a sandbox, because it resolves an absolute path to the bazel-out directory # allowing the .pack and .publish runnables to work with no symlink_prefix # See https://github.com/bazelbuild/rules_nodejs/issues/187 "local": "1", }, ``` PR Close #31326 01 July 2019, 21:17:09 UTC
c60edab build(bazel): remove deprecated rules_nodejs NodeModuleInfo provider (#31326) PR Close #31326 01 July 2019, 21:17:09 UTC
b3b8e10 build: disable must-use-promises check in ts_library tsetse for tests as... (#31326) ...tsetse now falsely asserting on some lines in a few tests such as packages/core/schematics/test/injectable_pipe_migration_spec.ts. ``` await runMigration(); expect(tree.readContent('/index.ts')) ``` it asserts that "await is required on promise" on the 2nd line when there is no promise there PR Close #31326 01 July 2019, 21:17:09 UTC
87c449a build(bazel): cleanup entry_point target (#31326) PR Close #31326 01 July 2019, 21:17:09 UTC
52d47b4 build(bazel): update to rules_nodejs 0.32.2 (#31326) Brings in ts_library fixes required to get angular/angular building after 0.32.0: typescript: exclude typescript lib declarations in node_module_library transitive_declarations typescript: remove override of @bazel/tsetse (+1 squashed commit) @npm//node_modules/foobar:foobar.js labels changed to @npm//:node_modules/foobar/foobar.js with fix for bazelbuild/rules_nodejs#802 also updates to rules_rass commit compatible with rules_nodejs 0.32.0 PR Close #31326 01 July 2019, 21:17:08 UTC
917933b build(bazel): update to bazel 0.27.0 and fix compat in @angular/bazel package (#31326) ctx.actions.declare_file now used in @angular/bazel ng_module rule as ctx.new_file is now deprecated. Fixes error: ``` File "ng_module.bzl", line 272, in _expected_outs ctx.new_file(ctx.genfiles_dir, (ctx.label.name ...")) Use ctx.actions.declare_file instead of ctx.new_file. Use --incompatible_new_actions_api=false to temporarily disable this check. ``` This can be worked around with incompatible_new_actions_api flag but may as well fix it proper so downstream doesn't require this flag due to this code. Also, depset() is no longer iterable by default without a flag. This required fixing in a few spots in @angular/bazel. fix: foo PR Close #31326 01 July 2019, 21:17:08 UTC
80ccd6c fix(core): handle `undefined` meta in `injectArgs` (#31333) In the recent versions of the CLI we introduced a ctor downleveler tranformer for VE JIT builds based on the one found in tsickle, to fix the TDZ issue of `forwardRef`. However this caused a regression as the injector is not handling that a position `paramType` can be undefined. Which is bubbled down to https://github.com/angular/angular/blob/c6b29f4c6d23b1510db3434cb030203d5bdea119/packages/core/src/di/injector_compatibility.ts#L162 and will crash https://github.com/angular/angular/blob/c6b29f4c6d23b1510db3434cb030203d5bdea119/packages/core/src/di/injector_compatibility.ts#L174-L186 Fixes https://github.com/angular/angular-cli/issues/14888 PR Close #31333 01 July 2019, 17:11:08 UTC
b7e3d80 feat(ivy): ngcc - handle top-level helper calls in CommonJS (#31335) Some formats of CommonJS put the decorator helper calls outside the class IIFE as statements on the top level of the source file. This commit adds support to the `CommonJSReflectionHost` for this format. PR Close #31335 01 July 2019, 17:09:41 UTC
4bbf60e docs: change order of Angular Elements article (#30521) PR Close #30268 PR Close #30521 28 June 2019, 19:22:45 UTC
299a43c Revert "fix(router): adjust UrlTree redirect to replace URL if in eager update (#31168)" (#31344) This reverts commit 15e397816f98ec16839c30fd5c1ea01c7444fb84. Reason: it broke an internal g3 app. PR Close #31344 28 June 2019, 18:40:27 UTC
c92fe6f docs: add tests for lazy loading angularjs example (#30622) PR Close #30622 28 June 2019, 16:26:50 UTC
c8875f2 docs: added svg example (#30559) Fixes #30441 PR Close #30559 27 June 2019, 22:56:26 UTC
3ca56a6 fix(docs-infra): detect docregions on more file types (`pug`, `svg`, `yml`) (#30559) PR Close #30559 27 June 2019, 22:56:26 UTC
7223f60 fix(router): adjust UrlTree redirect to replace URL if in eager update (#31168) Without this change when using UrlTree redirects in `urlUpdateStrategy="eager"`, the URL would get updated to the target location, then redirected. This resulted in having an additional entry in the `history` and thus the `back` button would be broken (going back would land on the URL causing a new redirect). Additionally, there was a bug where the redirect, even without `urlUpdateStrategy="eager"`, could create a history with too many entries. This was due to kicking off a new navigation within the navigation cancelling logic. With this PR the new navigation is pushed to the next tick with a `setTimeout`, allowing the page being redirected from to be cancelled before starting a new navigation. Related to #27148 PR Close #31168 27 June 2019, 22:54:20 UTC
8b03418 docs: fix example misprints (#31284) PR Close #31284 27 June 2019, 22:53:26 UTC
579f129 ci: add branch info to CircleCI failure notifications (#31319) PR Close #31319 27 June 2019, 22:52:14 UTC
2914b10 build(docs-infra): upgrade cli command docs sources to 823731f6e (#31308) Updating [angular#8.1.x](https://github.com/angular/angular/tree/8.1.x) from [cli-builds#8.0.x](https://github.com/angular/cli-builds/tree/8.0.x). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/01a7186bb...823731f6e): **Modified** - help/analytics.json - help/build.json - help/e2e.json - help/generate.json - help/new.json - help/serve.json - help/test.json - help/update.json - help/xi18n.json ## PR Close #31308 27 June 2019, 18:51:56 UTC
c00544a refactor(service-worker): remove redundant cache operation (#30977) At this point, the response will have been cached (or scheduled to be cached) in other code paths, so caching it again is redundant. PR Close #30977 27 June 2019, 16:52:29 UTC
a9038ef fix(service-worker): cache opaque responses when requests exceeds timeout threshold (#30977) PR Close #30977 27 June 2019, 16:52:29 UTC
b0c3453 fix(service-worker): cache opaque responses in data groups with `freshness` strategy (#30977) Previously, (presummably due to a typo) the `okToCacheOpaque` argument of `DataGroup#cacheResponse()` was essentially never taken into account (since opaque responses have a non-200 status code and thus `res.ok` is always false). This commit fixes the typo, which allows opaque responses to be cached when `okToCacheOpaque` is true (i.e. in data groups using the `freshness` strategy). Fixes #30968 PR Close #30977 27 June 2019, 16:52:29 UTC
26efc68 refactor(service-worker): make the caching behavior more explicit (#30977) This commit doesn't change the behavior wrt caching, but it makes it more explicit that only non-timed-out responses are cached. In case of a timeout, `res` would be set to a programmatically created 504 `Response`, so `cacheResponse()` (which checks for `res.ok`) would not have cached it anyway, but this makes change makes it more explicit (and more similar to the equivalent part in [handleFetchWithFreshness()][1]). [1]: https://github.com/angular/angular/blob/2b4d5c754/packages/service-worker/worker/src/data.ts#L379-L388 PR Close #30977 27 June 2019, 16:52:29 UTC
8b61287 test(service-worker): better simulate opaque requests (#30977) Previously, opaque responses where handled a little differently than other responses from the mock server. More specifically, they were not tracked (so no assertions could be made for them) and their [`Body` mixin][1] methods (such as `arrayBuffer()`, `json()`, `text()`) would throw an error due to `body` being `null`. This commit ensures opaque responses are also captured on the mock server and also changes `Body` mixin methods to better simulate the [spec'd behavior][2]. (These improvements will be necessary to test caching of opaque responses in a subsequent commit.) [1]: https://developer.mozilla.org/en-US/docs/Web/API/Body [2]: https://fetch.spec.whatwg.org/#concept-body-consume-body PR Close #30977 27 June 2019, 16:52:29 UTC
54c171c test(service-worker): properly reset mock server state for each test (#30977) PR Close #30977 27 June 2019, 16:52:29 UTC
642f604 test(service-worker): simplify test helpers (#30977) PR Close #30977 27 June 2019, 16:52:29 UTC
d0e213d test(service-worker): remove obsolete async test helpers (#30977) Jasmine natively supports returning promises from spec functions for quite some time now. We don't need special async helpers. PR Close #30977 27 June 2019, 16:52:29 UTC
7418c90 docs: couple of small UI fixes throughout some documents (#31155) PR Close #31155 27 June 2019, 16:51:28 UTC
641a4ea release: cut the v8.1.0-rc.0 release 26 June 2019, 21:06:11 UTC
da4f7fb docs: release notes for the v8.0.3 release 26 June 2019, 20:56:16 UTC
9c87d22 ci: target default pool for linux RBE executions (#31297) PR Close #31297 26 June 2019, 20:31:36 UTC
2be061a docs: add "ivy" and "zone.js" to known scopes in contributing guide (#31291) Currently the contributing guide misses entries for the `ivy` and `zone.js` scopes. This commit adds these to the contributing guide as it is useful for new contributors to know which scopes are supported. PR Close #31291 26 June 2019, 20:30:23 UTC
3851544 style: fix code style in several files (#31295) These files have not been formatted properly, due to issues in the `gulp format*` tasks. See previous commits (or #31295) for more details. PR Close #31295 26 June 2019, 20:29:29 UTC
6b7b4ee build: fix formatting tasks by ignoring the `zone.js/` directory (#31295) This was causing issues, because `zone.js` looks like a JS file (despite it being a directory). The contents of `zone.js/` are still matched by the globs (it is only the directory itself that is excluded). Related to #30962. PR Close #31295 26 June 2019, 20:29:29 UTC
279e746 refactor: move negative glob patterns of files to format close to their positive counterparts (#31295) This makes it easier to identify which files in directory will be included and which will be ignored. PR Close #31295 26 June 2019, 20:29:29 UTC
8503901 build: downgrade `gulp-clang-format` to 1.0.23 (#31295) The `gulp format*` tasks have been broken since 5eb742621. These include the `gulp format:enforce` task, which is what runs on CI to enforce consistent code style. Here is what (I believe) happened: - I assume formatting was failing in 5eb742621 (moving `zone.js` into `angular/angular`). The reason must have been that [this glob pattern][1] matches `packages/zone.js/` (which is a directory) and passes it to `clang-format` claiming it is a file. - I further assume that in an attempt to fix the issue, `gulp-clang-format` was updated to the latest version (1.0.27) in 5eb742621. - `gulp format:enforce` stopped complaining, so everyone thought formatting was fine and moved on. - Formatting still wasn't fine, but the task completed successfully nevertheless :scream: - The reason is that angular/gulp-clang-format@55b697c5c (and subsequent commits) changed the way the `done()` callback was called, leaving it to `clang-format` to call it (while previously it was also called when the associated stream ended). - In the old version of `clang-format` that we are using (1.0.41), there is a bug (which has been fixed in angular/clang-format@4cce2c4ee): The callback is not called [unless the process exits with an error][2]. One can also see that the `gulp format:enforce` task is not completed in `gulp lint`. Example output from [build 374722][3]: ``` yarn gulp lint ... Starting 'format:enforce'... Starting 'validate-commit-messages'... ... Finished 'validate-commit-messages' after 833 ms Starting 'tools:build'... Finished 'tools:build' after 1.75 s Starting 'tslint'... Finished 'tslint' after 19 s Done in 21.82s. ``` Notice that all tasks have a corresponding "Finished X` log, except for `format:enforce`. For reference: The problem was originally reported by @ocombe on Slack ([discussion][4]). --- This commit fixes the issue by downgrading `gulp-clang-format` to 1.0.23. The linting failures due to formatting issues will be addressed in subsequent commits. [1]: https://github.com/angular/angular/blob/a8f3b317f/tools/gulp-tasks/format.js#L13 [2]: https://github.com/angular/clang-format/blob/b8c7df0b7/index.js#L95 [3]: https://circleci.com/gh/angular/angular/374722 [4]: https://angular-team.slack.com/archives/C042EU9T5/p1561480241191000 PR Close #31295 26 June 2019, 20:29:29 UTC
e01d697 build: filter out changelog entries for zone.js from framework changelog (#31277) We don't want to show entries for the `zone.js` scope in the main framework changelog file. The zone.js changelog will be handled separately within the `packages/zone.js` folder. (see [here](https://github.com/angular/angular/pull/31277#issuecomment-505934681)) PR Close #31277 26 June 2019, 16:23:02 UTC
59d2edf build: allow "zone.js" as scope for commit messages (#31277) Adds `zone.js` as valid scope for commit messages. This is necessary because the `zone.js` repository has been moved into the mono-repo and future changes should be categorized properly through commit messages. Currently the pre-commit git hook or CircleCI will fail when `zone.js` is used as commit scope. PR Close #31277 26 June 2019, 16:23:02 UTC
a8f3b31 build(docs-infra): upgrade cli command docs sources to 01a7186bb (#31281) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/a7d4472eb...01a7186bb): **Modified** - help/doc.json - help/test.json ## PR Close #31281 26 June 2019, 15:17:16 UTC
3788ebb fix(ivy): ngcc - don't crash if entry-points have multiple invalid dependencies (#31276) If an entry-point has missing dependencies then it cannot be processed and is marked as invalid. Similarly, if an entry-point has dependencies that have been marked as invalid then that entry-point too is invalid. In all these cases, ngcc should quietly ignore these entry-points and continue processing what it can. Previously, if an entry-point had more than one entry-point that was transitively invalid then ngcc was crashing rather than ignoring the entry-point. PR Close #31276 26 June 2019, 15:01:43 UTC
32c760f fix(ivy): don't mask errors by calling lifecycle hooks after a crash (#31244) The Angular runtime frequently calls into user code (for example, when writing to a property binding). Since user code can throw errors, calls to it are frequently wrapped in a try-finally block. In Ivy, the following pattern is common: ```typescript enterView(); try { callUserCode(); } finally { leaveView(); } ``` This has a significant problem, however: `leaveView` has a side effect: it calls any pending lifecycle hooks that might've been scheduled during the current round of change detection. Generally it's a bad idea to run lifecycle hooks after the application has crashed. The application is in an inconsistent state - directives may not be instantiated fully, queries may not be resolved, bindings may not have been applied, etc. Invariants that the app code relies upon may not hold. Further crashes or broken behavior are likely. Frequently, lifecycle hooks are used to make assertions about these invariants. When these assertions fail, they will throw and "swallow" the original error, making debugging of the problem much more difficult. This commit modifies `leaveView` to understand whether the application is currently crashing, via a parameter `safeToRunHooks`. This parameter is set by modifying the above pattern: ```typescript enterView(); let safeToRunHooks = false; try { callUserCode(); safeToRunHooks = true; } finally { leaveView(..., safeToRunHooks); } ``` If `callUserCode` crashes, then `safeToRunHooks` will never be set to `true` and `leaveView` won't call any further user code. The original error will then propagate back up the stack and be reported correctly. A test is added to verify this behavior. PR Close #31244 26 June 2019, 15:01:14 UTC
f690a4e fix(ivy): ngcc - do not analyze files outside the current package (#30591) Our module resolution prefers `.js` files over `.d.ts` files because occasionally libraries publish their typings in the same directory structure as the compiled JS files, i.e. adjacent to each other. The standard TS module resolution would pick up the typings file and add that to the `ts.Program` and so they would be ignored by our analyzers. But we need those JS files, if they are part of the current package. But this meant that we also bring in JS files from external imports from outside the package, which is not desired. This was happening for the `@fire/storage` enty-point that was importing the `firebase/storage` path. In this commit we solve this problem, for the case of imports coming from a completely different package, by saying that any file that is outside the package root directory must be an external import and so we do not analyze those files. This does not solve the potential problem of imports between secondary entry-points within a package but so far that does not appear to be a problem. PR Close #30591 26 June 2019, 15:00:03 UTC
42036f4 refactor(ivy): ngcc - pass `bundle` to `DecorationAnalyzer` (#30591) Rather than passing a number of individual arguments, we can just pass an `EntryPointBundle`, which already contains them. This is also a precursor to using more of the properties in the bundle. PR Close #30591 26 June 2019, 15:00:03 UTC
74f637f refactor(ivy): ngcc - no need to pass `isCore` explicitly (#30591) It is part of `EntryPointBundle` so we can just use that, which is generally already passed around. PR Close #30591 26 June 2019, 15:00:03 UTC
e943859 refactor(ivy): ngcc - expose the `entryPoint` from the `EntryPointBundle` interface (#30591) This will allow users of the `EntryPointBundle` to use some of the `EntryPoint` properties without us having to pass them around one by one. PR Close #30591 26 June 2019, 15:00:03 UTC
a94bdc6 refactor(ivy): ngcc - pass whole entry-point object to `makeEntryPointBundle()` (#30591) This simplifies the interface somewhat but also allows us to make use of other properties of the EntryPoint object in the future. PR Close #30591 26 June 2019, 15:00:03 UTC
2dfd97d fix(ivy): ngcc - support bare array constructor param decorators (#30591) Previously we expected the constructor parameter `decorators` property to be an array wrapped in a function. Now we also support an array not wrapped in a function. PR Close #30591 26 June 2019, 15:00:03 UTC
869e3e8 fix(ivy): ngcc - infer entry-point typings from format paths (#30591) Some packages do not actually provide a `typings` field in their package.json. But TypeScript naturally infers the typings file from the location of the JavaScript source file. This commit modifies ngcc to do a similar inference when finding entry-points to process. Fixes #28603 (FW-1299) PR Close #30591 26 June 2019, 15:00:02 UTC
7c4c676 feat(ivy): customize ngcc via configuration files (#30591) There are scenarios where it is not possible for ngcc to guess the format or configuration of an entry-point just from the files on disk. Such scenarios include: 1) Unwanted entry-points: A spurious package.json makes ngcc think there is an entry-point when there should not be one. 2) Deep-import entry-points: some packages allow deep-imports but do not provide package.json files to indicate to ngcc that the imported path is actually an entry-point to be processed. 3) Invalid/missing package.json properties: For example, an entry-point that does not provide a valid property to a required format. The configuration is provided by one or more `ngcc.config.js` files: * If placed at the root of the project, this file can provide configuration for named packages (and their entry-points) that have been npm installed into the project. * If published as part of a package, the file can provide configuration for entry-points of the package. The configured of a package at the project level will override any configuration provided by the package itself. PR Close #30591 26 June 2019, 15:00:02 UTC
4004d15 test(ivy): ngcc refactor mock file-systems to make each spec independent (#30591) Previously each test relied on large shared mock file-systems, which makes it difficult to reason about what is actually being tested. This commit breaks up these big mock file-systems into smaller more focused chunks. PR Close #30591 26 June 2019, 15:00:02 UTC
abbbc69 test(ivy): ngcc - remove use of mock-fs in tests (#30591) Now that ngcc uses a `FileSystem` throughout we no longer need to rely upon mocking out the real file-system with mock-fs. PR Close #30591 26 June 2019, 15:00:02 UTC
4fe0e75 refactor(ivy): rename applyXYZ to executeActionOnXYZ for clarity (#31182) PR Close #31182 26 June 2019, 00:03:52 UTC
103064a refactor(ivy): remove code duplication from applyXYZ functions (#31182) PR Close #31182 26 June 2019, 00:03:51 UTC
29a9909 refactor(ivy): simplify `walkTNodeTree` method for readability (#31182) PR Close #31182 26 June 2019, 00:03:51 UTC
7186f9c refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) To improve cross platform support, all file access (and path manipulation) is now done through a well known interface (`FileSystem`). For testing a number of `MockFileSystem` implementations are provided. These provide an in-memory file-system which emulates operating systems like OS/X, Unix and Windows. The current file system is always available via the static method, `FileSystem.getFileSystem()`. This is also used by a number of static methods on `AbsoluteFsPath` and `PathSegment`, to avoid having to pass `FileSystem` objects around all the time. The result of this is that one must be careful to ensure that the file-system has been initialized before using any of these static methods. To prevent this happening accidentally the current file system always starts out as an instance of `InvalidFileSystem`, which will throw an error if any of its methods are called. You can set the current file-system by calling `FileSystem.setFileSystem()`. During testing you can call the helper function `initMockFileSystem(os)` which takes a string name of the OS to emulate, and will also monkey-patch aspects of the TypeScript library to ensure that TS is also using the current file-system. Finally there is the `NgtscCompilerHost` to be used for any TypeScript compilation, which uses a given file-system. All tests that interact with the file-system should be tested against each of the mock file-systems. A series of helpers have been provided to support such tests: * `runInEachFileSystem()` - wrap your tests in this helper to run all the wrapped tests in each of the mock file-systems. * `addTestFilesToFileSystem()` - use this to add files and their contents to the mock file system for testing. * `loadTestFilesFromDisk()` - use this to load a mirror image of files on disk into the in-memory mock file-system. * `loadFakeCore()` - use this to load a fake version of `@angular/core` into the mock file-system. All ngcc and ngtsc source and tests now use this virtual file-system setup. PR Close #30921 25 June 2019, 23:25:24 UTC
1e7e065 docs: correct indention for code example in deployment guide (#31255) PR Close #31255 25 June 2019, 21:44:34 UTC
ae1ac45 docs(core): update code sample for "outputs" attribute (#31199) The current code sample for (directive) "outputs" attribute is incorrect as it does not provide the usage of "outputs" attribute rather it provides the usage of "exportAs" attribute. This commit update the code sample by correcting the code sample with correct usage of "outputs" attribute. Fixes https://github.com/angular/angular/issues/29523 Related work https://github.com/angular/angular/pull/30014 This commit continues from the unfinished (https://github.com/angular/angular/pull/30014#issuecomment-485419124, https://github.com/angular/angular/issues/29523#issuecomment-497333146) work. PR Close #31199 25 June 2019, 21:44:08 UTC
280e856 Revert "build(bazel): update to bazel 0.27.0 and fix compat in @angular/bazel package (#31019)" (#31267) This reverts commit 28d3bfc4169acf2eabefcf9e5917bbc84b24b54f. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:01 UTC
660800c Revert "build: update to rules_nodejs 0.32.2 (#31019)" (#31267) This reverts commit a38433f36b036cb2956066cb6a5843bef73a4de1. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
2c07820 Revert "build(bazel): cleanup entry_point target (#31019)" (#31267) This reverts commit cd617b15e8b7bb0e5f94846487ece5928490a9a6. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
44b1ce6 Revert "build: disable must-use-promises check in ts_library tsetse for tests as... (#31019)" (#31267) This reverts commit 5bec68369226ba6a3a13afbf0b7862abfdf04109. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
5eb4691 Revert "build(bazel): remove deprecated rules_nodejs NodeModuleInfo provider (#31019)" (#31267) This reverts commit 72e4ff7591b29f82645abf1e079c2d58df9179df. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
35acd44 Revert "build(bazel): add build --incompatible_list_based_execution_strategy_selection=false flag (#31019)" (#31267) This reverts commit ab2733761270886327382c8434eadc195950ecc7. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
8afc998 Revert "build(bazel): update //packages/bazel/test/ngc-wrapped:ngc_test test (#31019)" (#31267) This reverts commit 708d0a2db20705e4cd88a8247bea92a8b70d575c. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
26a85a8 Revert "build: fix build failures with worker mode cache and @types/events (#31019)" (#31267) This reverts commit 6ba42f1da4a5e8abf87e3c4202d423504357fe49. Reason: this causes failures in g3 with i18n extraction. See #31267. PR Close #31267 25 June 2019, 21:36:00 UTC
98685e6 docs: change note about cli (#31216) PR Close #31216 25 June 2019, 18:58:06 UTC
61f2353 docs: add note about cli commands (#31216) PR Close #31216 25 June 2019, 18:58:06 UTC
ef9cb6a perf(ivy): chain multiple `i18nExp` calls (#31258) Implement function chaining for `i18nExp` to reduce the output size. FW-1391 #resolve PR Close #31258 25 June 2019, 18:26:29 UTC
3846192 ci: add owners for zone.js to CODEOWNERS (#31203) Follow-up to #30962. PR Close #31203 25 June 2019, 18:20:01 UTC
a1d436e docs: fix formatting (#31120) PR Close #31120 25 June 2019, 17:28:50 UTC
02d98ed docs: fix testing example (#31120) PR Close #31120 25 June 2019, 17:28:50 UTC
e8d0265 ci: enable remote build caching for CI jobs (#31204) Enables remote caching for CI jobs. This configuration: always reads from build cache on CI only write to build cache for local builds for non-PR CI run PR Close #31204 25 June 2019, 17:26:43 UTC
00ecfc7 fix(docs-infra): separate vendor-specific CSS selectors (#31252) In #31118, some vendor-specific selectors were combined in one rule-set. As pointed out in [this comment][1], this would result in the whole rule-set being ignored by all browsers, since one invalid/unrecognized selector invalidates the declaration block. This commit fixes it by defining a separate rule-set per selector. The list of vendor-specific selectors is also adjusted to better target the currently supported browsers. [1]: https://github.com/angular/angular/pull/31118/files#r296923652 PR Close #31252 25 June 2019, 17:25:31 UTC
6ff3970 style(docs-infra): clean up some styles (#31252) PR Close #31252 25 June 2019, 17:25:31 UTC
1d5c445 build: use checked-in configuration from bazel-toolchains (#31251) No longer uses docker in order to pull down the toolchain configs for remote build execution. We don't need to make docker a prerequisite for working on the Angular repository since we can leverage the checked-in toolchain configurations from the `@bazel-toolchains` repository. PR Close #31251 25 June 2019, 17:24:43 UTC
2aba485 refactor(ivy): use FatalDiagnosticError to throw more descriptive errors while extracting queries information (#31123) Prior to this commit, the logic to extract query information from class fields used an instance of regular Error class to throw an error. As a result, some useful information (like reference to a specific field) was missing. Replacing Error class with FatalDiagnosticError one makes the error more verbose that should simplify debugging. PR Close #31123 25 June 2019, 17:23:24 UTC
b11a205 docs(core): change from CSS Event to DOM event (#31229) PR Close #31229 25 June 2019, 17:22:34 UTC
6ba42f1 build: fix build failures with worker mode cache and @types/events (#31019) Errors observed only in tests on CircleCI — was not reproducible locally. ``` ERROR: /home/circleci/ng/packages/http/test/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/http/test:test_lib failed (Exit 1): tsc_wrapped failed: error executing command (cd /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular && \ exec env - \ BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 \ PATH=/bin:/usr/bin:/usr/local/bin \ bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped @@bazel-out/k8-fastbuild/bin/packages/http/test/test_lib_es5_tsconfig.json) Execution platform: //tools:rbe_ubuntu1604-angular Compilation failed Error: missing input digest for /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/external/npm/node_modules/@types/events/index.d.ts. ERROR: /home/circleci/ng/packages/benchpress/test/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/benchpress/test:test_lib failed (Exit 1): tsc_wrapped failed: error executing command (cd /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular && \ exec env - \ BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 \ PATH=/bin:/usr/bin:/usr/local/bin \ bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped @@bazel-out/k8-fastbuild/bin/packages/benchpress/test/test_lib_es5_tsconfig.json) Execution platform: //tools:rbe_ubuntu1604-angular Compilation failed Error: missing input digest for /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/external/npm/node_modules/@types/events/index.d.ts ERROR: C:/codefresh/volume/angular/packages/compiler/test/css_parser/BUILD.bazel:3:1: Compiling TypeScript (devmode) //packages/compiler/test/css_parser:css_parser_lib failed (Exit 1): tsc_wrapped.exe failed: error executing command cd C:/users/containeradministrator/_bazel_containeradministrator/zquin2l6/execroot/angular SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0 SET RUNFILES_MANIFEST_ONLY=1 bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped.exe @@bazel-out/x64_windows-fastbuild/bin/packages/compiler/test/css_parser/css_parser_lib_es5_tsconfig.json Execution platform: @bazel_tools//platforms:host_platform Compilation failed Error: missing input digest for C:/users/containeradministrator/_bazel_containeradministrator/zquin2l6/execroot/angular/external/npm/node_modules/@types/events/index. d.ts ``` PR Close #31019 25 June 2019, 17:21:07 UTC
708d0a2 build(bazel): update //packages/bazel/test/ngc-wrapped:ngc_test test (#31019) after update to rules_nodejs 0.32.1, @types are no longer automatically discovered by ngc-wrapped (which uses parts of ts_library) so this test needed updating so that the types files it generates is added as an explicit dep PR Close #31019 25 June 2019, 17:21:07 UTC
ab27337 build(bazel): add build --incompatible_list_based_execution_strategy_selection=false flag (#31019) This option is changed to true in Bazel 0.27 and exposes a possible regression in Bazel 0.27.0. Error observed is in npm_package target `//packages/common/locales:package`: ``` ERROR: /home/circleci/ng/packages/common/locales/BUILD.bazel:13:1: Assembling npm package packages/common/locales/package failed: No usable spawn strategy found for spawn with mnemonic SkylarkAction. Your --spawn_strategyor --strategy flags are probably too strict. Visit https://github.com/bazelbuild/bazel/issues/7480 for migration advises ``` Suspect is https://github.com/bazelbuild/rules_nodejs/blob/master/internal/npm_package/npm_package.bzl#L75-L82: ``` execution_requirements = { # Never schedule this action remotely because it's not computationally expensive. # It just copies files into a directory; it's not worth copying inputs and outputs to a remote worker. # Also don't run it in a sandbox, because it resolves an absolute path to the bazel-out directory # allowing the .pack and .publish runnables to work with no symlink_prefix # See https://github.com/bazelbuild/rules_nodejs/issues/187 "local": "1", }, ``` PR Close #31019 25 June 2019, 17:21:07 UTC
72e4ff7 build(bazel): remove deprecated rules_nodejs NodeModuleInfo provider (#31019) PR Close #31019 25 June 2019, 17:21:07 UTC
5bec683 build: disable must-use-promises check in ts_library tsetse for tests as... (#31019) ...tsetse now falsely asserting on some lines in a few tests such as packages/core/schematics/test/injectable_pipe_migration_spec.ts. ``` await runMigration(); expect(tree.readContent('/index.ts')) ``` it asserts that "await is required on promise" on the 2nd line when there is no promise there PR Close #31019 25 June 2019, 17:21:07 UTC
cd617b1 build(bazel): cleanup entry_point target (#31019) PR Close #31019 25 June 2019, 17:21:07 UTC
a38433f build: update to rules_nodejs 0.32.2 (#31019) Brings in ts_library fixes required to get angular/angular building after 0.32.0: typescript: exclude typescript lib declarations in node_module_library transitive_declarations typescript: remove override of @bazel/tsetse (+1 squashed commit) @npm//node_modules/foobar:foobar.js labels changed to @npm//:node_modules/foobar/foobar.js with fix for bazelbuild/rules_nodejs#802 also updates to rules_rass commit compatible with rules_nodejs 0.32.0 PR Close #31019 25 June 2019, 17:21:07 UTC
back to top