Commit Graph

3357 Commits

Author SHA1 Message Date
George Kalpakas c8eb164f01 ci(docs-infra): update payload size limits (#35003)
PR Close #35003
2020-01-28 15:57:57 -08:00
George Kalpakas 98a6fb9192 ci(docs-infra): ignore node version in `aio_monitoring_stable` CI job (#35004)
In #34955, we switched to Node.js v12 on master and 9.0.x. This causes
the `aio_monitoring_job` CI job (which checks out files from the stable
branch; currently 8.2.x) to start failing yarn's engines check (since
the 8.2.x branch expects Node.js version <11).
Example failure: https://circleci.com/gh/angular/angular/602499

Since the job is expected to run with files from both the stable and the
master branches (and since the version of Node.js is not important
here), this commit uses the `--ignore-engines` option to prevent
failures due to Node.js version mismatch.

NOTE:
Typically, the stable and master branch are on the same Node.js version,
because related PRs land on both master and the patch branch. One
exception is during RC periods, when the stable branch is different than
the patch branch. These periods are usually short, but in the case of
9.0.0 the period has lasted several months causing the CI environments
between master and the stable branch to get significantly out-of-sync.

PR Close #35004
2020-01-28 13:50:31 -08:00
ajitsinghkaler a5a598104f docs: change p to pointer for better understanding (#34927)
earlier p sigly was used to define a paragraph element which was not clear what we want to refer changed it to paragrapg element for better understanding

Fixes #34922

PR Close #34927
2020-01-28 13:04:25 -08:00
Alan Agius 36ff0dba1c docs: add link to publish a library in ivy guide (#34986)
PR Close #34986
2020-01-27 10:50:52 -08:00
Turtuvshin Byambaa c485c8a8c0 docs(core): fix typo in hierarchical injectors doc (#34968)
Fixes #34953

PR Close #34968
2020-01-27 10:50:07 -08:00
Judy Bogart 549ab2ecc3 build(docs-infra): add words to ignore in snippets (#34915)
PR Close #34915
2020-01-27 10:49:03 -08:00
Igor Minar 0a1af2ff36 docs: drop support for Android Marshmallow and older Android versions (#34540)
We no longer test against these.

PR Close #34540
2020-01-27 10:46:26 -08:00
philonor 53b7bbf3ff docs: update Android versions (#34540)
Include Android versions 8, 9 and 10 in supported browsers.

PR Close #34540
2020-01-27 10:46:26 -08:00
Igor Minar 724ce8c22b build(docs-infra): update to @angular/material 9.0.0-rc.8 (#34966)
This update increases the main bundle by ~0.6KB

payload size snapshot:

456581 Jan 24 22:07 dist/main-es2015.38c39f92eab2fcc8c835.js
541321 Jan 24 22:06 dist/main-es5.38c39f92eab2fcc8c835.js
 52487 Jan 24 22:05 dist/polyfills-es2015.b374ef3555a700a97add.js
146193 Jan 24 22:05 dist/polyfills-es5.c7dc569e6c646e42fade.js
  2987 Jan 24 22:05 dist/runtime-es2015.29be4028399ae41ba25e.js
  2981 Jan 24 22:05 dist/runtime-es5.29be4028399ae41ba25e.js

PR Close #34966
2020-01-27 09:24:48 -08:00
Igor Minar 2f36f17fc0 build(docs-infra): update fw to 9.0.0-rc.11 (#34966)
payload size snapshot:
455991 Jan 24 21:55 dist/main-es2015.2bcbba5871038ad608cd.js
540529 Jan 24 21:55 dist/main-es5.2bcbba5871038ad608cd.js
 52487 Jan 24 21:53 dist/polyfills-es2015.b374ef3555a700a97add.js
146193 Jan 24 21:53 dist/polyfills-es5.c7dc569e6c646e42fade.js
  2987 Jan 24 21:53 dist/runtime-es2015.3f56366a23f559d1feff.js
  2981 Jan 24 21:53 dist/runtime-es5.3f56366a23f559d1feff.js

PR Close #34966
2020-01-27 09:24:48 -08:00
Igor Minar be8d06c6ea build(docs-infra): update CLI to 9.0.0-rc.10
payloadsizes:

464800 Jan 24 21:44 dist/main-es2015.082aa200328274a7d604.js
549547 Jan 24 21:44 dist/main-es5.082aa200328274a7d604.js
 52487 Jan 24 21:42 dist/polyfills-es2015.b374ef3555a700a97add.js
146193 Jan 24 21:43 dist/polyfills-es5.c7dc569e6c646e42fade.js
  2987 Jan 24 21:42 dist/runtime-es2015.b7e0148b707ec640c171.js
  2981 Jan 24 21:42 dist/runtime-es5.b7e0148b707ec640c171.js
2020-01-24 21:46:31 -08:00
Miško Hevery 9bd9590767 refactor(ivy): change styling to use programmatic API on updates (#34804)
Previously we would write to class/style as strings `element.className` and `element.style.cssText`. Turns out that approach is good for initial render but not good for updates. Updates using this approach are problematic because we have to check to see if there was an out of bound write to style and than perform reconciliation. This also requires the browser to bring up CSS parser which is expensive.

Another problem with old approach is that we had to queue the DOM writes and flush them twice. Once on element advance instruction and once in `hostBindings`. The double flushing is expensive but it also means that a directive can observe that styles are not yet written (they are written after directive executes.)

The new approach uses `element.classList.add/remove` and `element.style.setProperty/removeProperty` API for updates only (it continues to use `element.className` and `element.style.cssText` for initial render as it is cheaper.) The other change is that the styling changes are applied immediately (no queueing). This means that it is the instruction which computes priority. In some circumstances it may result in intermediate writes which are than overwritten with new value. (This should be rare)

Overall this change deletes most of the previous code and replaces it with new simplified implement. The simplification results in code savings.

PR Close #34804
2020-01-24 12:23:19 -08:00
Miško Hevery 5aabe93abe refactor(ivy): Switch styling to new reconcile algorithm (#34616)
NOTE: This change must be reverted with previous deletes so that it code remains in build-able state.

This change deletes old styling code and replaces it with a simplified styling algorithm.

The mental model for the new algorithm is:
- Create a linked list of styling bindings in the order of priority. All styling bindings ere executed in compiled order and than a linked list of bindings is created in priority order.
- Flush the style bindings at the end of `advance()` instruction. This implies that there are two flush events. One at the end of template `advance` instruction in the template. Second one at the end of `hostBindings` `advance` instruction when processing host bindings (if any).
- Each binding instructions effectively updates the string to represent the string at that location. Because most of the bindings are additive, this is a cheap strategy in most cases. In rare cases the strategy requires removing tokens from the styling up to this point. (We expect that to be rare case)S Because, the bindings are presorted in the order of priority, it is safe to resume the processing of the concatenated string from the last change binding.

PR Close #34616
2020-01-24 12:23:00 -08:00
Miško Hevery 2961bf06c6 refactor(ivy): move `hostVars`/`hostAttrs` from instruction to `DirectiveDef` (#34683)
This change moves information from instructions to declarative position:
- `ɵɵallocHostVars(vars)` => `DirectiveDef.hostVars`
- `ɵɵelementHostAttrs(attrs)` => `DirectiveDef.hostAttrs`

When merging directives it is necessary to know about `hostVars` and `hostAttrs`. Before this change the information was stored in the `hostBindings` function. This was problematic, because in order to get to the information the `hostBindings` would have to be executed. In order for `hostBindings` to be executed the directives would have to be instantiated. This means that the directive instantiation would happen before we had knowledge about the `hostAttrs` and as a result the directive could observe in the constructor that not all of the `hostAttrs` have been applied. This further complicates the runtime as we have to apply `hostAttrs` in parts over many invocations.

`ɵɵallocHostVars` was unnecessarily complicated because it would have to update the `LView` (and Blueprint) while existing directives are already executing. By moving it out of `hostBindings` function we can access it statically and we can create correct `LView` (and Blueprint) in a single pass.

This change only changes how the instructions are generated, but does not change the runtime much. (We cheat by emulating the old behavior by calling `ɵɵallocHostVars` and `ɵɵelementHostAttrs`) Subsequent change will refactor the runtime to take advantage of the static information.

PR Close #34683
2020-01-24 12:22:10 -08:00
Alex Rickabaugh 0c8d085666 fix(ivy): use any for generic context checks when !strictTemplates (#34649)
Previously, the template type-checker would always construct a generic
template context type with correct bounds, even when strictTemplates was
disabled. This meant that type-checking of expressions involving that type
was stricter than View Engine.

This commit introduces a 'strictContextGenerics' flag which behaves
similarly to other 'strictTemplates' flags, and switches the inference of
generic type parameters on the component context based on the value of this
flag.

PR Close #34649
2020-01-23 10:31:48 -08:00
Andrew Kushnir 92c411f86d docs: update payload size limits for angular.io application (#34913)
This commit increases payload size limits for angular.io application that triggered an error after merging another commit (00f13cc074). The goal of this commit is to bring master back to a "green" state and separate investigation is required to identify the root cause for size increase.

PR Close #34913
2020-01-22 15:01:01 -08:00
Aravind 1be5b69174 docs: fix typo on router guide (#34911)
closes #34907
PR Close #34911
2020-01-22 14:32:56 -08:00
Sonu Kapoor f49b45832c build(docs-infra): always specify a landing file for StackBlitz projects (#34553)
The StackBlitz API (which we use to generate StackBlitz projects on the
fly, when a user clicks on a live example link in the docs) allows
specifying the file to open in the editor by passing a query param. If
no file is specified, StackBlitz opens a default one. In the past, it
used to be `main.ts` and nowadays it seems to be `app.component.ts`.

StackBlitz builder, the tool that we use to generate the StackBlitz
projects, allows specifying the primary file by setting the `file`
property in the corresponding `stackblitz.json`.

Previously, if the `file` property was not set, StackBlitz builder would
not specify a file, thus falling back on StackBlitz's default behavior.
This was not great, because the default behavior may change unexpectedly
is the future to something that is less useful for our users.

This commit change StackBlitz builder to always specify a primary file.
If no file is specified in `stackblitz.json`, the builder will look
for the first file that exists in the example from a list of predefined
files.

Partially addresses #22357.

PR Close #34553
2020-01-22 13:45:23 -08:00
Sonu Kapoor 77c53559d0 build(docs-infra): specify more relevant landing files for StackBlitz projects (#34553)
The StackBlitz API (which we use to generate StackBlitz projects on the
fly, when a user clicks on a live example link in the docs) allows
specifying the file to open in the editor by passing a query param. If
no file is specified, StackBlitz opens a default one.

This commit specifies relevant landing files for some of the examples to
make it easier to engage with the examples more quickly, and to see what
the example is attempting to demonstrate.

Fixes #22357.

PR Close #34553
2020-01-22 13:45:23 -08:00
Judy Bogart 13ce3756c2 docs: add differential loading term to glossary (#34884)
PR Close #34884
2020-01-22 13:37:35 -08:00
ajitsinghkaler 61ad50d40a docs: add message on click of hero in toh-4 (#34496)
First we used a messages array to display messages toh-4 but it dsplayed only one message added additional messages on click of a hero

Fixes #28739

PR Close #34496
2020-01-22 14:42:55 -05:00
Sonu Kapoor e7cf37d99f docs: clarify where the `async` utility function is coming from (#34876)
inside the `beforeEach` for out testing guide.

Fixes #34833

PR Close #34876
2020-01-22 14:40:17 -05:00
George Kalpakas 2954a14c3d ci(docs-infra): do not output build progress for e2e tests on CI (#34840)
When running the e2e tests on CI, it is desirable that the build
progress is not logged, because that clutters the logs and makes it
difficult to get to the useful info in case of failures.

The previous config to achieve that doesn't work any more.

This commit update the `ci` configuration for e2e tests to suppress
build progress logging.

PR Close #34840
2020-01-22 14:37:32 -05:00
Kapunahele Wong a3b2d6735a build(docs-infra): add auto-link-filter for generic words (#34835)
Fixes #34794

PR Close #34835
2020-01-21 15:08:01 -05:00
Sonu Kapoor def4127bf1 fix(docs-infra): convert hard-coded `comparing-observables` examples into a proper mini-app (#34327)
Previously, the examples in the `comparing-observables` guide were hard-coded.
This made it impossible to test them and verify they are correct.

This commit fixes this by converting them into a proper mini-app. In a
subsequent commit, tests will be added to verify that the source code
works as expected (and guard against regressions).

Fixes #31024

PR Close #34327
2020-01-21 13:14:46 -05:00
Sonu Kapoor 15ae924035 fix(docs-infra): convert hard-coded `cli-builder` examples into a proper mini-app (#34362)
Previously, the examples in the `cli-builder` guide were hard-coded.
This made it impossible to test them and verify they are correct.

This commit fixes this by converting them into a proper mini-app. In a
subsequent commit, tests will be added to verify that the source code
works as expected (and guard against regressions).

Fixes #34314

PR Close #34362
2020-01-21 13:12:18 -05:00
Kristina Gocheva b04c3cce09 docs: fix logging upon search in example tutorial (#34806)
When no errors are thrown but empty array is returned we should log different message.

PR Close #34806
2020-01-21 13:08:15 -05:00
ajitsinghkaler fae5c521d8 docs: change docs for get request return object type checking (#34845)
earlier in the docs it was told that adding typescript's type checking make json response typed so changed docs to say that it adds all typescipt capabilities during compile time

Fixes #34746

PR Close #34845
2020-01-21 13:03:31 -05:00
ajitsinghkaler 4dbc871169 docs(core): fix typo in dependency injection guide (interactive --> interacting) (#34853)
Fixes #34852

PR Close #34853
2020-01-21 13:03:04 -05:00
ajitsinghkaler 2694a3b734 docs(core): add missing quote in dependency injection provider guide (#34854)
Add closing double quote in HTML `class` attribute in dependency
injection provider guide.

Fixes #34851

PR Close #34854
2020-01-21 13:02:29 -05:00
Filipe Silva 27b9eb5e38 build: use CLI rc.8 (#34788)
PR Close #34788
2020-01-17 13:42:41 -05:00
Pete Bacon Darwin 3102dc8344 docs: do not add auto-code-links to observables example (#34797)
Fixes #34793

PR Close #34797
2020-01-16 12:06:25 -05:00
Filipe Silva dcdaa921d8 build(docs-infra): use typescript 3.7 (#33717)
PR Close #33717
2020-01-14 16:42:22 -08:00
Filipe Silva f5a4de7428 test(docs-infra): compile only app for examples with no e2e (#33717)
With TS 3.7, these examples were running into the error below (e.g. on https://circleci.com/gh/angular/angular/574906#tests/containers/0):

```
============== AIO example output for: /home/circleci/ng/aio/content/examples/observables/
running: yarn tsc --project ./
$ /home/circleci/ng/aio/content/examples/observables/node_modules/.bin/tsc --project ./
../../../tools/examples/shared/node_modules/protractor/built/index.d.ts(5,10): error TS2440: Import declaration conflicts with local declaration of 'PluginConfig'.
../../../tools/examples/shared/node_modules/protractor/built/index.d.ts(5,24): error TS2440: Import declaration conflicts with local declaration of 'ProtractorPlugin'.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
completed: yarn tsc --project ./
```

This happened because of https://github.com/angular/protractor/issues/5348.

It's unclear why this typings problem does not affect `ng e2e` runs, and only affects `tsc` runs.

For now it seems sensible to alter the tests to compile only the app and not the e2e, since the intent of 2cc954d5a5 was never to verify the correctness of the e2e in the first place.

We still need a release of protractor that supports TS 3.7 though, but at least it doesn't seem to block our update proper.

PR Close #33717
2020-01-14 16:42:22 -08:00
George Kalpakas d863526ca9 docs: replace non-breaking with regular spaces in `resources.json` (#34772)
By using non-breaking spaces, the description of Amexio UI components
was overflowing its container in the "Resources" page.

PR Close #34772
2020-01-14 13:33:25 -08:00
GavinMK ec147bd839 docs: remove old contributors (#34486)
PR Close #34486
2020-01-14 10:28:24 -08:00
GavinMK fa63c2160c docs: update Alex Eagle and Wassim Chegham collaborator status (#34486)
PR Close #34486
2020-01-14 10:28:23 -08:00
GavinMK b188b8c3ba docs: add Manu Murthy to Angular team (#34486)
PR Close #34486
2020-01-14 10:28:23 -08:00
GavinMK 3fada8d100 docs: add Andrew Scott to Angular team (#34486)
PR Close #34486
2020-01-14 10:28:23 -08:00
GavinMK 475d07c72b docs: add Jules Kremer to Angular team (#34486)
PR Close #34486
2020-01-14 10:28:23 -08:00
Pete Bacon Darwin 58f10026c4 docs: add deprecation info about default currency code (#32584)
In v10 the default currency code will be taken from the
current locale, rather than simply defaulting to `USD`.

PR Close #32584
2020-01-13 09:57:06 -08:00
ajitsinghkaler ebcd59ae4f docs: replace from class hero to interface with accordance with # 344022 (#34294)
Fixes #21186

PR Close #34294
2020-01-13 07:25:19 -08:00
Adam 55037d1107 build: bump year (#34651)
PR Close #34651
2020-01-13 07:21:43 -08:00
mikef afc88074cd docs: correct full stop position in providers section (#34712)
Correct the position of the full stop at the end of the limiting provider scope with components paragraph.

PR Close #34712
2020-01-13 07:20:24 -08:00
George Kalpakas 0b9c4245f9 refactor(docs-infra): simplify Firebase redirect config (#34726)
This simplifies the Firebase redirect config, removing a redundant
pattern (`/api/http`) which is covered by the previous pattern and
dropping an unused named captured segment (`:rest*`).

This change does not affect the redirection behavior for the deployed
apps, but allows the Firebase hosting emulator to work correctly.
(See [here][1] for more info.)

NOTE: Although we are not currently using the Firebase emulator for
      development/testing, we might want to use it in the future.

[1]: https://github.com/firebase/superstatic/issues/231#issuecomment-573034515

PR Close #34726
2020-01-13 07:19:29 -08:00
ajitsinghkaler f6dee72a88 docs: add note that when ngOnInit not used (#34619)
In some examples ngOnInit was missing added note to tell when it is missing.

Fixes #34562

PR Close #34619
2020-01-10 14:40:52 -08:00
Judy Bogart 475ffd67f5 docs: move ngcc def from page to glossary (#34196)
PR Close #34196
2020-01-10 08:38:53 -08:00
Judy Bogart efdf347f9c docs: apply standard header case convention (#34196)
PR Close #34196
2020-01-10 08:38:53 -08:00
George Kalpakas b3441eea4c ci(docs-infra): do not deploy Firebase Realtime Database rules (#34696)
Currently, the angular.io projects do not use Firebase's Realtime
Database and therefore we only need to configure and deploy changes for
`hosting`.

This commit removes the unused Realtime Database related configs and
files.

PR Close #34696
2020-01-10 08:22:38 -08:00
Kara Erickson 9c5510b28e docs(ivy): document breaking change with <select> and binding order (#34709)
Closes #34470

PR Close #34709
2020-01-09 15:13:56 -08:00
Do Nhu Vy 97c3e9d59f docs: Change screenshot to new Angular 9 app UI (#33998)
PR Close #33998
2020-01-09 13:45:11 -08:00
arturovt 99cc7cdc15 docs: fix non-working example in the `Observables` section (#34705)
PR Close #34705
2020-01-09 13:27:15 -08:00
Sam Julien 0083443050 docs: add note on importing AppRoutingModule (#34710)
Fixes #21207

PR Close #34710
2020-01-09 13:26:42 -08:00
Kara Erickson 9f65b787d0 docs: deprecate undecorated base classes that use Angular features (#34668)
PR Close #34668
2020-01-08 15:08:53 -08:00
ghiscoding efbb147f65 docs: add Angular-Slickgrid library to the list of resources (#34656)
PR Close #34656
2020-01-08 15:06:44 -08:00
Sonu Kapoor 02baaa4813 docs: clarifies how the service is injected (#34638)
There was some confusion about how the service will be injected in the sentence with the `new` keyword. This PR should hopefully clear the confusion.

Fixes #34612

PR Close #34638
2020-01-08 15:06:09 -08:00
dependabot[bot] 8942b7106d build(docs-infra): bump handlebars from 4.0.12 to 4.5.3 in /aio/tools/examples/shared (#34585)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.0.12 to 4.5.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.0.12...v4.5.3)

Signed-off-by: dependabot[bot] <support@github.com>

PR Close #34585
2020-01-08 15:03:12 -08:00
dependabot[bot] bcf55b0b4c build(docs-infra): bump handlebars from 4.1.2 to 4.5.3 in /aio (#34583)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.2...v4.5.3)

Signed-off-by: dependabot[bot] <support@github.com>

PR Close #34583
2020-01-08 15:02:42 -08:00
George Kalpakas 39bf104a03 build: update `firebase-tools` to the latest version (#34682)
This fixes `Server Error. certificate has expired` errors that cause AIO
deployment to fail.
(Example CI failure: https://circleci.com/gh/angular/angular/578227)

PR Close #34682
2020-01-08 13:21:35 -08:00
Alex Rickabaugh b3398eee61 build: update firebase-tools to the latest version (#34667)
This should fix an expired certificate that is breaking AIO deployment jobs
on CircleCI.

PR Close #34667
2020-01-08 10:02:20 -08:00
Alan Agius 8f389361ec docs: replace lazy loading import syntax parameter name (#34599)
We replace `mod` with `m` to be in line with what the CLI generates.

PR Close #34599
2020-01-07 10:44:12 -08:00
George Kalpakas 7cdc118c8e refactor(docs-infra): extract all `lazy-loading-ngmodules` examples from mini-app (#34599)
Previously, some of the examples in the `lazy-loading-ngmodules` guide
were hard-coded.

This commit ensures all examples in the guide are extracted from
docregions in the corresponding example project.

PR Close #34599
2020-01-07 10:44:12 -08:00
Alan Agius d66cf31ffc docs: add missing `t` typo and remove redundan `-` (#34599)
PR Close #34599
2020-01-07 10:44:12 -08:00
Alan Agius c2d03e5e21 docs: fix lazy routes code snippet format (#34599)
PR Close #34599
2020-01-07 10:44:12 -08:00
Kara Erickson 3053e022d3 docs(ivy): minor changes to version 9 guide (#34498)
The main change here was to remove the updating instructions for
version 9 and instead point to update.angular.io. This ensures
we only have one "source of truth" for update instructions.

This commit also includes updates to error message text to
keep them up-to-date with live error messages (and thus keep
them searchable).

PR Close #34498
2020-01-07 10:34:37 -08:00
ShubhrankR b9b8920227 docs: typo in Deployment section of getting started (#34490)
Fixes #34400

PR Close #34490
2020-01-07 10:33:01 -08:00
Jeff Held eab7f9f101 docs: add a comma (#34426)
PR Close #34426
2020-01-06 11:27:05 -08:00
Sholka Jadav e14e43bda2 docs: add rxweb reactive form validation library to resources (#34257)
PR Close #34257
2020-01-06 11:21:16 -08:00
JoostK e116816131 refactor(ivy): let `strictTemplates` imply `fullTemplateTypeCheck` (#34195)
Previously, it was required that both `fullTemplateTypeCheck` and
`strictTemplates` had to be enabled for strict mode to be enabled. This
is strange, as `strictTemplates` implies `fullTemplateTypeCheck`. This
commit makes setting the `fullTemplateTypeCheck` flag optional so that
strict mode can be enabled by just setting `strictTemplates`.

PR Close #34195
2020-01-06 11:07:54 -08:00
Kapunahele Wong 8410278b6d docs: copy edit getting started step 4 (#32839)
PR Close #32839
2020-01-06 10:59:37 -08:00
ajitsinghkaler 6bfe214346 docs: add products.ts file on getting started page (#34301)
in the getting started page (first tutorial) file products.ts which was not shown and was only present in the StackBlitz examples. So added a refrence that it is present in the example and also added a note that examples may carry filenames not present please look at StackBliz examples for details

Fixes #34291

PR Close #34301
2019-12-17 11:41:55 -08:00
Igor Minar 3bbd12d560 build: update to yarn@1.21.1 (#34384)
This updates yarn throughout the monorepo for both build and CI.

PR Close #34384
2019-12-16 07:39:58 -08:00
Kara Erickson 17f7f06ca5 Revert "build: update to yarn@1.21.1" (#34402)
This reverts commit f029af50820765019413fa319330830306b80d6a while we investigate
some failures on master on Circle CI. Currently the Windows tests and the
"test-ivy-aot" jobs are red because of incompatible yarn versions.

PR Close #34402
2019-12-13 13:43:25 -08:00
Pawel Kozlowski ea57587b7c docs(ivy): document breaking changes for DebugElement classes and attributes (#34328)
PR Close #34328
2019-12-13 10:53:41 -08:00
Pawel Kozlowski a781800276 refactor(ivy): remove usage of Proxy for IE10/11 compatibility (#34328)
PR Close #34328
2019-12-13 10:53:41 -08:00
Igor Minar b405942b0c build: update to yarn@1.21.1 (#34384)
This updates yarn throughout the monorepo for both build and CI.

PR Close #34384
2019-12-13 10:51:12 -08:00
Kapunahele Wong a9e3cbd534 docs: add docs about inputs and strictNullChecks to template typecheck (#34194)
PR Close #34194
2019-12-12 15:58:13 -08:00
owenmecham 1583293694 docs: ng-conf 2020 the musical (#34342)
Added event and announcement info for ng-conf 2020

PR Close #34342
2019-12-12 09:06:11 -08:00
Sonu Kapoor 5f2897be0b docs(forms): Update catchError to return an `observable` (#34357)
Closes #34323

PR Close #34357
2019-12-11 13:19:57 -08:00
ajitsinghkaler f503832abe docs: fix headers in "Getting Started" code-snippets (#34321)
The headers of two of the code-snippets in the [Input section](https://angular.io/start#input)
of the "Getting Started" guide incorrectly referenced an non-existent
file path (`src/app/product-list/product-alerts.component.ts`).

This commit fixes the headers to show the correct file path
(`src/app/product-alerts/product-alerts.component.ts`).

Fixes #34320

PR Close #34321
2019-12-11 09:49:49 -08:00
Judy Bogart c9df9afddd docs: add change detection to glossary (#34316)
PR Close #34316
2019-12-10 16:30:35 -08:00
George Kalpakas 2ecf9f3f2a refactor(docs-infra): give more descriptive variable name (#34284)
Discussion:
https://github.com/angular/angular/pull/34213#discussion_r353249119

PR Close #34284
2019-12-10 09:18:35 -08:00
Jonathan Sharpe 8683c0335b docs: Fix links to Webpack docs (#34326)
The previous link, https://webpack.js.org/configuration/dev-server/#devserver-proxy, doesn't go directly to the proxy section.
PR Close #34326
2019-12-10 09:18:17 -08:00
George Kalpakas 419b153b17 fix(docs-infra): fix styling of embedded Table-of-Contents (#34312)
This commit fixes the following issues:
- Align text content with caret icon in embedded ToC header.
- Fix display of expand/collapse button at the bottom of embeded ToC.

These were accidentally broken in #32124, while fixing another
ToC-related issue. Some CSS rules in `_toc.scss` (e.g. those for
`.mat-icon` and `ul.toc-list`) were correctly moved out of the
`.toc-inner > button` block, but others (e.g. `&.toc-heading` and
`&.toc-more-items`) should not have been moved outside the
`.toc-inner > button` block.

_Before:_
![toc-styles before](https://user-images.githubusercontent.com/8604205/70441952-00df2380-1a9e-11ea-8fc7-d141cc8c9045.png)

_After:_
![toc-styles after](https://user-images.githubusercontent.com/8604205/70441953-0177ba00-1a9e-11ea-8af8-d497977009ae.png)

Closes #34300

PR Close #34312
2019-12-10 09:17:33 -08:00
Luka Petrovic f95e2c7e7e docs: fix broken links (#34311)
PR Close #34311
2019-12-10 09:17:12 -08:00
George Kalpakas 659356a97b build(docs-infra): upgrade cli command docs sources to 94d07909c (#34325)
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](6c6ad8661...94d07909c):

**Modified**
- help/deploy.json

##

PR Close #34325
2019-12-10 09:16:57 -08:00
Sonu Kapoor 7823c23932 docs: Adds NgModule into back-ticks (#34302)
PR Close #34302
2019-12-09 11:36:35 -08:00
Matt Janssen f98aeca146 docs(forms): fix a punctuation error (#34278)
PR Close #34278
2019-12-09 10:35:03 -08:00
Kristiyan Kostadinov e7cf1e0580 feat(docs-infra): add the ability to expose globals (#34237)
Adds the ability to expose global symbols in the API docs via the `@globalApi` tag. Also supports optionally setting a namespace which will be added to the name automatically (e.g. `foo` will be renamed to `ng.foo`). Relevant APIs should also be exported through the `global.ts` file which will show up under `core/global`.

PR Close #34237
2019-12-06 10:58:09 -08:00
Kapunahele Wong 3805172f9c docs: edit copy of getting started step 3 (#32820)
PR Close #32820
2019-12-06 10:27:00 -08:00
Joey Perrott 0341f3239a build: set upper version limit for yarn to <2 (#34236)
Rather than bumping up the allowed version of yarn on each release
we should instead just allow for anything within the major version
1 range.

PR Close #34236
2019-12-05 13:07:41 -08:00
ajitsinghkaler 421dba0184 fix(docs-infra): make header full-width and panels full-width on mobile screens (#34188)
On events page the header was not able to take full width when body exceeds viewport width of the screen So made the below body go overflow-x auto and resources page was taking 80% of the width which is okay on desktop but on mobile it should take 100% width put a media quer for it.

Fixes #34163

PR Close #34188
2019-12-05 13:06:36 -08:00
Kapunahele Wong de62d8ebdb docs: fix migrations formatting (#33267)
PR Close #33267
2019-12-05 13:06:01 -08:00
David Shevitz 02134172dd docs: add David Shevitz to about page (#34222)
PR Close #34222
2019-12-05 11:19:59 -08:00
Alan Agius 542f236dc4 docs: add documentation for server and Ivy without bundleDependencies (#34225)
PR Close #34225
2019-12-05 10:13:57 -08:00
ajitsinghkaler c0869ecfb3 fix(docs-infra): add deprecated-api-item class to remaining deprecated items (#34192)
Fixes #31455

PR Close #34192
2019-12-05 10:12:11 -08:00
Denys Vuika 28ef1af376 docs: update Angular books list (#34062)
PR Close #34062
2019-12-05 10:11:25 -08:00
Kapunahele Wong e71d151571 docs: edit copy of getting started step 2 (#32776)
PR Close #32776
2019-12-05 10:10:40 -08:00
Kwinten Pisman e315215983 docs: add kwinten pisman to GDE resources (#34184)
PR Close #34184
2019-12-03 16:11:40 -08:00
Amadou Sall 8f102fe674 docs: remove information about which version of Firefox started supporting custom elements (#34007)
PR Close #34007
2019-12-03 16:04:54 -08:00
George Kalpakas 86d5472d91 docs(service-worker): fix paths for `ngsw-config` command to match latest CLI (#34215)
PR Close #34215
2019-12-03 10:42:07 -08:00
George Kalpakas 671deadde1 fix(docs-infra): avoid version mismatch error when using local Angular packages (#34213)
The local Angular packages used to build `aio/` when running
`yarn setup-local`/`yarn build-local` (and related commands), are built
by bazel. Bazel, determines the version to use for these locally built
packages based on the latest tag for a commit on the current branch.
(This works as expected during the release, because the packages are
built on the correct branch with up-to-date tags.)

During local development, however, this often leads to generating older
versions than what the current `@angular/cli` version is compatible
with, if the user has not fetched the latest tags from `angular/angular`
or the branch has not been rebased recently.

Previously, the above (common) situation would result in a build error
by the CLI. (Note that this would be a false error, because in this case
the version set by bazel would not reflect the actual version of the
local packages.) The solution would be for the user to fetch the latest
tags from `angular/angular`, rebase their branch and run a bazel build
again (ensuring that it would actually build anew and not emit cached
artifacts). This was cumbersome and most people didn't even know about
it.

This commit avoids this error and the associated pain-points by
overwriting the versions of the installed local packages with fake
versions based on the ones in the lockfile, which are guaranteed to be
compatible with the currently used CLI version.

Fixes #34208

PR Close #34213
2019-12-03 10:40:14 -08:00
Judy Bogart f84f362de3 docs: clarify differential load doc (#34189)
PR Close #34189
2019-12-03 10:37:11 -08:00
Kara Erickson 67eac733d2 refactor(ivy): do not generate providedIn: null (#34116)
We should only generate the `providedIn` property in injectable
defs if it has a non-null value. `null` does not communicate
any information to the runtime that isn't communicated already
by the absence of the property.

This should give us some modest code size savings.

PR Close #34116
2019-12-03 10:14:52 -08:00
Charles Lyding 56f4e56094 docs: Ivy i18n guide updates for localize option (#34053)
PR Close #34053
2019-12-03 10:14:15 -08:00
Kara Erickson 755d2d572f refactor(ivy): remove unnecessary fac wrapper (#34076)
For injectables, we currently generate a factory function in the
injectable def (prov) that delegates to the factory function in
the factory def (fac). It looks something like this:

```
factory: function(t) { return Svc.fac(t); }
```

The extra wrapper function is unnecessary since the args for
the factory functions are the same. This commit changes the
compiler to generate this instead:

```
factory: Svc.fac
```

Because we are generating less code for each injectable, we
should see some modest code size savings. AIO's main bundle
is about 1 KB smaller.

PR Close #34076
2019-12-02 11:35:24 -08:00
Alan Agius e6dbcd0f46 docs: remove redundant dashes (#34172)
PR Close #34172
2019-12-02 11:26:21 -08:00
Igor Minar b8eb2f2f23 build: support yarn 1.19.x (#34143)
PR Close #34143
2019-12-02 11:23:48 -08:00
Paul Gschwendtner 5b04abd5c0 docs: update title of v9 injectable migration guide (#34125)
The missing-injectable migration has been updated to handle a breaking change that is
unrelated to missing ´@Injectable` decorators. Though, the breaking change will be handled
as part of this migration since we did not want to create another migration (with all the boilerplate etc.)

The guide has been already updated to reflect the new pattern the migration handles, but we
should also rename the title of the guide to something that also mentions the other pattern.

Not renaming the guide URL since it is referenced in past releases and it's safer to keep the old
URL. The important thing is to change the actual rendered title.

PR Close #34125
2019-12-02 11:21:50 -08:00
Santosh Yadav 040673464c docs: small typo in DI docs (#34122)
PR Close #34122
2019-12-02 11:20:39 -08:00
ajitsinghkaler 72abde603d docs: add deprecated-api-item class to deprecated items (#34088)
Fixes #31455

PR Close #34088
2019-12-02 11:03:05 -08:00
Sonu Kapoor 2cc954d5a5 test(docs-infra): ensure RxJS-related docs examples can compile without errors (#34063)
Previously, some RxJS-related examples (which are not proper Angular apps) were not
tested on CI as part of the `example-e2e` npm script. This meant that the examples
could get out-of-date or contain compile errors without as noticing.

This commit ensures that the `example-e2e` script picks up these examples and checks
that they compile successfully.

Partly addresses #28017.

PR Close #34063
2019-12-02 11:02:13 -08:00
Santosh Yadav 6108962291 docs: add ngIndia to event page (#33656)
PR Close #33656
2019-11-27 13:04:08 -08:00
Pete Bacon Darwin 2fb9b7ff1b fix(ngcc): do not output duplicate ɵprov properties (#34085)
Previously, the Angular AOT compiler would always add a
`ɵprov` to injectables. But in ngcc this resulted in duplicate `ɵprov`
properties since published libraries already have this property.

Now in ngtsc, trying to add a duplicate `ɵprov` property is an error,
while in ngcc the additional property is silently not added.

// FW-1750

PR Close #34085
2019-11-27 12:46:37 -08:00
George Kalpakas 0366743fc3 build(docs-infra): upgrade cli command docs sources to 6c6ad8661 (#34082)
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](8b71bccf9...6c6ad8661):

**Modified**
- help/test.json

##

PR Close #34082
2019-11-27 10:37:39 -08:00
Paul Gschwendtner 3414760bdd docs: update injectable migration guide to reflect latest schematic changes (#33960)
Since we created the migration guide for the `missing-injectable` schematic, the schematic
changed in various ways. e.g. the migration no longer migrates classes passed to `useExisting`

Additionally the migration has been expanded to handle another Ivy breaking change where
providers like `{provide: X}` will be intepreted as `{provide: X, useClass: X}`. This pattern should
be documented in the migration guide.

PR Close #33960
2019-11-26 16:37:48 -05:00
Nikita Potapenko 48a1acab52 docs: fix typo in sample (#33984)
Fixes #33979

PR Close #33984
2019-11-26 16:37:17 -05:00
Kapunahele Wong 78c65c330f docs: add note about strictTemplates and strictNullChecks together (#34039)
PR Close #34039
2019-11-26 16:36:51 -05:00
ajitsinghkaler 5ff98fe701 docs: removed non-supported versions from LTS (#34005)
PR Close #34005
2019-11-26 16:36:23 -05:00
Kapunahele Wong d655093123 docs: add Animations import in Router doc (#33740)
Fixes #33665

PR Close #33740
2019-11-25 22:37:55 -05:00
Kapunahele Wong 1ab2ebc719 docs: edit EventEmitter name in styleguide (#33923)
Fixes #33890

PR Close #33923
2019-11-25 18:40:51 -05:00
Igor Minar ed55355363 fix(core): remove deprecated and defunct wtf* apis (#33949)
These apis have been deprecated in v8, so they should stick around till v10,
but since they are defunct we are removing them early so that they don't take up payload size.

PR Close #33949
2019-11-25 18:39:18 -05:00
George Kalpakas 9b5299131b ci: remove change type from uploaded payload size data (#33987)
The change type was only recorded for `aio/` and was not correct anyway.
For example:
- It considered `package.json` changes as `application` (even if only
  `package.json` and `yarn.lock` had changed).
- It failed to account for changes in `@angular/*` dependencies, when
  using the locally built Angular packages (instead reporting them as
  `other`).
- It only looked at the last commit, so it failed to provide accurate
  information for multi-commit builds (which are rare, but possible).

For the above reasons (and because there is no straight-forward way of
fixing it), this commit removes the change type from the uploaded data.
If necessary, it is still possible to find the type of changes from the
uploaded info (e.g. extract the associated commits and look at their
changes using git).

PR Close #33987
2019-11-25 16:36:07 -05:00
Charles Lyding 56f33bc266 docs: initial Ivy i18n guide updates (#33762)
PR Close #33762
2019-11-25 14:12:18 -05:00
arturovt f2800b90b2 docs(docs-infra): fix typos and spelling in the stackblitz-builder/README.md (#34009)
PR Close #34009
2019-11-25 11:39:05 -05:00
arturovt 51a56bc4c6 docs: fix typos and highlight booleans to keep consistency (#34013)
PR Close #34013
2019-11-25 11:38:06 -05:00
ajitsinghkaler 1217c6b7cc docs: replace class hero to interface wherever class properties not used (#34022)
Fixes #21186

PR Close #34022
2019-11-25 11:37:39 -05:00
JiaLiPassion 5129bccebf docs: add TracyLee to GDE list (#33947)
PR Close #33947
2019-11-22 18:40:03 -05:00
Joey Perrott e24453b9f8 docs: Add Joey Perrott to Angular team in contributors (#33962)
PR Close #33962
2019-11-22 17:40:03 -05:00
arturovt 17857a311f docs: fix typo in the aio/README.md (#33993)
PR Close #33993
2019-11-22 17:37:15 -05:00
Kara Erickson d752e26eb2 ci: tighten size threshold to 1% or 500 bytes (#33969)
The size diff threshold of 1% has proven to be too lenient for us
to catch size regressions in AIO. Since the AIO main bundle is
between 400-500 KB, a size regression must be between 4-5 KB before
it will cause the tests to fail. As a result, we may merge many
changes with smaller regressions of a few KB before the size test
eventually lets us know that the number has increased. The hope is
that lowering the threshold will help us catch the smaller
regressions during code review and prevent the size tests failing at
a random later time when someone catches the size "hot potato".

PR Close #33969
2019-11-22 16:51:41 -05:00
Mark Goho dca6ad87fe fix(docs-infra): update manifest short_name (#30194)
PR Close #30194
2019-11-22 13:20:47 -05:00
Mark Goho 356e6a88f4 fix(docs-infra): update manifest names (#30194)
update manifest names to better indicate what the installable application is, fixes #30192
PR Close #30194
2019-11-22 13:20:47 -05:00
Kara Erickson a37bf9a516 docs: add examples for DI change in Ivy (#33643)
PR Close #33643
2019-11-22 13:04:24 -05:00
Santosh Yadav 9f211ba0f5 docs: add santosh yadav as GDE resource (#33818)
PR Close #33818
2019-11-22 12:45:52 -05:00
Girma Nigusse bb79018f92 docs(core): fix typo in Tour of Heroes App and Tutorial (#33931)
PR Close #33931
2019-11-22 12:45:03 -05:00
Alan Agius 5024e217d7 docs: update npm install dev command to `npm install --save-dev` (#33985)
See: https://docs.npmjs.com/specifying-dependencies-and-devdependencies-in-a-package-json-file

PR Close #33985
2019-11-22 12:38:17 -05:00
arturovt 2dd572b15c docs(http): fix typo (#33978)
PR Close #33978
2019-11-22 12:36:43 -05:00
Ralf D. Müller fd5f101bab docs: add CSRF to XSRF section of http guide (#32933)
link to the correct section of the HttpClientGuide:
if someone searches for CSRF (and not XSRF), she will not find the right section in the HttpClient guide

added CSRF as name of XSRF attack:
in order to make it easier to find the XSRF protection, I've added a reference to the other name "CSRF". The security guide has the same reference to XSRF/CSRF.
When I searched for this feature, I had quite some problems to find it because of this missing reference

PR Close #32933
2019-11-21 16:57:12 -05:00
Martina Kraus 2303dc4f28 docs: add martina kraus to GDE resources (#33719)
PR Close #33719
2019-11-21 16:52:32 -05:00
Dmitri Ischenko 9d7b939554 fix(docs-infra): change search input width when focused (#33804)
The search input has 50% width of the parent container in a focused
state for the big break point (> 1000px). In this case when window width
is between 1000px and 1115px the search input shrinks from 180 to
~123px. The width of the search input was increased to 80% so that when
focused its width expands from 180 to 196px when window size is 1000px.

Fixes #33305

PR Close #33804
2019-11-21 16:51:05 -05:00
Alan Agius df71aa425f docs: clarify that `--prod` should be used to publish a library (#33959)
PR Close #33959
2019-11-21 10:45:18 -08:00
Filipe Silva 891708cfc9 build: update to Angular CLI 9.0.0-rc.3 (#33955)
Followup to https://github.com/angular/angular/pull/33337

PR Close #33955
2019-11-21 09:17:18 -08:00
Dyma 11a35e5d14 docs: add learning resource (#33730)
PR Close #33730
2019-11-20 14:56:56 -08:00
Alyssa Nicoll 4ae754a222 docs: Update Alyssa on GDE list (#33538)
PR Close #33538
2019-11-20 14:52:00 -08:00
George Kalpakas 27562e92db fix(docs-infra): fix StackBlitz and zipped `http` examples (#33941)
Previously, the generated StackBlitz examples as well as the
corresponding downloadable zips for the `http` guide examples were not
correct and thus trying to run the app and/or tests would fail.

This commit fixes the examples:

- Replace `TestBed.inject()` (which was [introduced in v9][1]) with
  `TestBed.get()` (which is available in v8 used in the examples).
  (NOTE: The examples will soon be updated to v9 (as part of
  [FW-1609][2] and switched back to `TestBed.inject()` then.)

- Include `src/app/heroes/hero.ts` in the zip, because it is referenced
  by some of the other files and the compilation fails without it.

- Ensure `src/main-specs.ts` is not included in the zip that does not
  include the tests. Including the file broke the app, because there is
  logic in our zip-builder that renamed `main-*.ts` files to `main.ts`
  and thus `main-specs.ts` ended up overwriting the actual `main.ts`.

[1]: https://next.angular.io/guide/deprecations#angularcoretesting
[2]: https://angular-team.atlassian.net/browse/FW-1609

Fixes #33874
Fixes #33945

PR Close #33941
2019-11-20 14:44:31 -08:00
Alex Rickabaugh 08a4f10ee7 fix(ivy): move setClassMetadata calls into a pure iife (#33337)
This commit transforms the setClassMetadata calls generated by ngtsc from:

```typescript
/*@__PURE__*/ setClassMetadata(...);
```

to:

```typescript
/*@__PURE__*/ (function() {
  setClassMetadata(...);
})();
```

Without the IIFE, terser won't remove these function calls because the
function calls have arguments that themselves are function calls or other
impure expressions. In order to make the whole block be DCE-ed by terser,
we wrap it into IIFE and mark the IIFE as pure.

It should be noted that this change doesn't have any impact on CLI* with
build-optimizer, which removes the whole setClassMetadata block within
the webpack loader, so terser or webpack itself don't get to see it at
all. This is done to prevent cross-chunk retention issues caused by
webpack's internal module registry.

* actually we do expect a short-term size regression while
https://github.com/angular/angular-cli/pull/16228
is merged and released in the next rc of the CLI. But long term this
change does nothing to CLI + build-optimizer configuration and is done
primarly to correct the seemingly correct but non-function PURE annotation
that builds not using build-optimizer could rely on.

PR Close #33337
2019-11-20 12:55:58 -08:00
George Kalpakas 9e45203679 test(docs-infra): more thoroughly clean up after `ScrollService` tests (#33937)
By clearing `sessionStorage` and unsubscribing from `Location` events,
after each test, we reduce the possibility of potential
[spooky action at a distance][1]-type of failures in the future.

This does not have an impact on the actual app, since `ScrollService` is
currently expected to live throughout the lifetime of the app. Still,
unsubscribing from `Location` events keeps the code consistent with how
other `ScrollService` listeners are handled (e.g. for `window` events).

[1]: https://en.wikipedia.org/wiki/Action_at_a_distance_(computer_programming)

PR Close #33937
2019-11-20 11:04:12 -08:00
George Kalpakas b7fd86ec50 test(docs-infra): destroy all `ScrollService` instances after each test (#33937)
`ScrollService` subscribes to global `window` events and mutates global
state in the listener (e.g. read/write values from/to `sessionStorage`).
Therefore, we need to always call its `ngOnDestroy()` method to
unsubscribe from these events after each test.

In f69c6e204, a new testcase was introduced that was not destroyed. As a
result, random failures started to randomly happen in other, unrelated
tests ([example CI failure][1]).

This commit fixes this by ensuring all `ScrollService` instances are
destroyed after each tests (provided that they are created with the
`createScrollService()` helper).

[1]: https://circleci.com/gh/angular/angular/533298

PR Close #33937
2019-11-20 11:04:12 -08:00
ajitsinghkaler f69c6e204a fix(docs-infra): do not break when cookies are disabled in the browser (#33829)
Whenever cookies are disabled in the browser, `window.sessionStorage` is not avaialable to the app (i.e. even trying to access `window.sessionStorage` throws an error).

To avoid breaking the app, we use a no-op `Storage` implementation if `window.sessionStorage` is not available.

Fixes #33795

PR Close #33829
2019-11-19 11:42:11 -08:00