Commit Graph

17861 Commits

Author SHA1 Message Date
2ab32c870f docs(forms): remove rxjs of alias import in form async validator example (#36856)
In the code example of the AsyncValidator example there was an aliased
import for the rxjs operator `of`. To align with the RxJS docs it should
just use a plain import of `of`

PR Close #36856
2020-05-12 10:50:40 -07:00
53897d4a84 docs: refactor dynamic forms topic as tutorial (#36465)
rework content to meet current documentation standards and conventions, structure as tutorial document

PR Close #36465
2020-05-12 10:49:24 -07:00
efe1713371 fix: add aikidave as reviewer for DOCS: Marketing (#37014)
It makes sense that the lead technical writer should be allowed
to approve changes to DOCS: Marketing. The inspriration for this
change came to the current lead technical writer in a vision, or
perhaps it was a fugue state caused by too little caffeine. No
one knows. It's still a good idea though.

PR Close #37014
2020-05-11 11:08:25 -07:00
24b9e12383 refactor(language-service): move TS utils to separate file (#36984)
This commit refactors TS-only utility functions to a separate file so
that they could be shared with Ivy language service.
A separate ts_library rule is created so that there is no dependency on
`compiler` and `compiler-cli` to make the compilation fast and
light-weight.
The method `getPropertyAssignmentFromValue` is modified slightly to
improve the ergonomics of the function.

PR Close #36984
2020-05-11 11:07:51 -07:00
ad3fbe1ea0 refactor(ngcc): change async locker timeout to 250 secs (#36979)
Previously the `AsyncLocker` was configured to only wait
50x500ms before timing out. This is 25secs, which is often
less than a normal run of ngcc, so the chance of a timeout
flake was quite high.

The timeout is now 500x500ms, which is 250secs.

PR Close #36979
2020-05-11 11:00:52 -07:00
f0ce3c2ce5 docs: refactor form validation doc to be task-oriented (#36374)
rework content to meet current documentation standards and conventions, structure as task-oriented document

PR Close #36374
2020-05-11 10:59:50 -07:00
ae989b8cb7 refactor(core): rename instructions/container.ts -> instructions/template.ts (#34715)
Prior to this change, the `template` instruction logic was located in the `instructions/container.ts` file alongside embedded view instructions. Since unused embedded view instructions are removed in a previous commit, this commit renames `container.ts` -> `template.ts`, since only template-related instructions were retained.

PR Close #34715
2020-05-11 10:52:29 -07:00
edcc8b8acf refactor(core): remove unused embedded view instructions (#34715)
This commit performs a cleanup and removes unused embedded view instructions and corresponding tests.

PR Close #34715
2020-05-11 10:52:29 -07:00
790af88288 docs: add migration guides to sidenav in updating to Version 9 (#34979)
All migration guides did not have a direct link to access them so added them to the side nav in the section updating to version 9 for direct access, it also helps to add right side nav to these migration guides

Fixes #33582

PR Close #34979
2020-05-08 14:45:17 -07:00
6eef7dbdbe fix(docs-infra): add visual signal for external links (#36601)
Clicking on a link may take us to an extenal source, which may lead to user leaving angular.io unintentionally.

Added visual cues on external links so that user knows which links are external and which are intenal to angular.io.

Fixes #17620

PR Close #36601
2020-05-08 14:43:20 -07:00
ba1dfd0cf3 feat(compiler): add name spans for property reads and method calls (#36826)
ASTs for property read and method calls contain information about
the entire span of the expression, including its receiver. Use cases
like a language service and compile error messages may be more
interested in the span of the direct identifier for which the
expression is constructed (i.e. an accessed property). To support this,
this commit adds a `nameSpan` property on

- `PropertyRead`s
- `SafePropertyRead`s
- `PropertyWrite`s
- `MethodCall`s
- `SafeMethodCall`s

The `nameSpan` property already existed for `BindingPipe`s.

This commit also updates usages of these expressions' `sourceSpan`s in
Ngtsc and the langauge service to use `nameSpan`s where appropriate.

PR Close #36826
2020-05-08 14:42:43 -07:00
b37071c22f build: migrate to typescript file for ng-dev config (#37017)
Migrate to use a typescript file rather than a javascript file for
defining the ng-dev config file.  This will allow long term for the
config to rely on the types while writing the config, avoiding
errors.

PR Close #37017
2020-05-08 14:40:12 -07:00
b6cba54821 feat(dev-infra): support typescript config file (#37017)
Previously ng-dev loaded the config through a javascript file, this
change allows for the loaded file to be either javascript or
typescript.  This enables configurations to be written with type
safety.

PR Close #37017
2020-05-08 14:40:12 -07:00
451e7e2364 release: cut the v9.1.6 release 9.1.6 2020-05-08 09:53:09 -07:00
99b63b677e Revert "fix(compiler-cli): fix case-sensitivity issues in NgtscCompilerHost (#36968)" (#37003)
This reverts commit 4abd60361a.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
00b9de56f5 Revert "fix(compiler-cli): ensure LogicalFileSystem handles case-sensitivity (#36968)" (#37003)
This reverts commit 65337fb8b8.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
4423ab5109 Revert "fix(compiler-cli): ensure getRootDirs() handles case-sensitivity (#36968)" (#37003)
This reverts commit 5bddeea559.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
0fc0d9bb3d Revert "fix(compiler-cli): isCaseSensitive() returns correct value (#36968)" (#37003)
This reverts commit 4becc1bc95.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
00cc02fb0c Revert "fix(compiler-cli): ensure MockFileSystem handles case-sensitivity (#36968)" (#37003)
This reverts commit b6c042d0a3.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
0783d482a7 Revert "fix(compiler-cli): normalize mock Windows file paths correctly (#36968)" (#37003)
This reverts commit 654868f584.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
6cce05e2c5 Revert "fix(compiler-cli): use CompilerHost to ensure canonical file paths (#36968)" (#37003)
This reverts commit 7e9d5f5e82.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
bf446cb2d5 Revert "test(compiler-cli): ensure indexer tests are not brittle to case-sensitivity (#36968)" (#37003)
This reverts commit 3361f59a4f.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
04fd90e32a Revert "test(compiler-cli): ensure partial-evaluator tests are not brittle to case-sensitivity (#36968)" (#37003)
This reverts commit c6e5225ec3.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
be06a44861 Revert "test(compiler-cli): ensure reflection tests are not brittle to case-sensitivity (#36968)" (#37003)
This reverts commit dcf1dcb757.

The changes to the case-sensitivity handling in #36968 caused multiple
projects to fail to build. See #36992, #36993 and #37000.

The issue is related to the logical path handling. But it is felt that
it is safer to revert the entire PR and then to investigate further.

PR Close #37003
2020-05-08 09:48:19 -07:00
d4a14697ec refactor(docs-infra): change class to interface where class properties not used (#36958)
In resource.model.ts the interfaces of the resources were defined as classes, these do not use any class properties and are only used for type checking. So, changed them from class to interface.

PR Close #36958
2020-05-08 09:41:57 -07:00
35e0d8311b docs(common): remove mention of the deprecated (#36953)
web worker platform. Minor grammar/stylistic changes.

Inline documentation for the PlatformLocation service instead mentions @angular/platform-server.

Typos corrected, minor grammar and stylistic changes.

PR Close #36953
2020-05-08 09:40:36 -07:00
964d8679b3 docs: replace into with in (#36778)
Closes #36775
PR Close #36778
2020-05-08 09:39:28 -07:00
6cbde69e8f docs: update aot compiler docs (#35487)
change to aot docs to include changes after angular 9
aot is true for new applications created, also it will
be updated to aot true once app is updated using ng update

PR Close #35487
2020-05-08 09:38:56 -07:00
6da2a28dc0 build: update ng-dev config file (#36918)
Migrate to the new .ng-dev-config.js file for providing a configuration
to ng-dev.  This is being done as a result of the previous commit which
updated the ng-dev command to expect this new file.

PR Close #36918
2020-05-08 09:38:26 -07:00
fbdd282e7c fix(dev-infra): update the config file loading for ng-dev to expect js (#36918)
Migrating to a js file for providing a configuration allows for more
extensive configuration at run time.  This allows for configs to include
logic and move beyond static values found in JSON files.

PR Close #36918
2020-05-08 09:38:26 -07:00
d1b3af697c release: cut the v9.1.5 release 9.1.5 2020-05-07 14:55:23 -07:00
dcf1dcb757 test(compiler-cli): ensure reflection tests are not brittle to case-sensitivity (#36968)
These tests were matching file-paths against what is retrieved from the
TS compiler. But the TS compiler paths have been canonicalised, so the
tests were brittle on case-insensitive file-systems.

PR Close #36968
2020-05-07 10:32:18 -07:00
c6e5225ec3 test(compiler-cli): ensure partial-evaluator tests are not brittle to case-sensitivity (#36968)
These tests were matching file-paths against what is retrieved from the
TS compiler. But the TS compiler paths have been canonicalised, so the
tests were brittle on case-insensitive file-systems.

PR Close #36968
2020-05-07 10:32:18 -07:00
3361f59a4f test(compiler-cli): ensure indexer tests are not brittle to case-sensitivity (#36968)
These tests were matching file-paths against what is retrieved from the
TS compiler. But the TS compiler paths have been canonicalised, so the
tests were brittle on case-insensitive file-systems.

PR Close #36968
2020-05-07 10:32:18 -07:00
7e9d5f5e82 fix(compiler-cli): use CompilerHost to ensure canonical file paths (#36968)
The type checking infrastrure uses file-paths that may come from the
TS compiler. Such paths will have been canonicalized, and so the type
checking classes must also canonicalize paths when matching.

PR Close #36968
2020-05-07 10:32:18 -07:00
654868f584 fix(compiler-cli): normalize mock Windows file paths correctly (#36968)
Since the `MockFileSystemWindows` is case-insensitive, any
drive path that must be added to a normalized path should be lower
case to make the path canonical.

PR Close #36968
2020-05-07 10:32:18 -07:00
b6c042d0a3 fix(compiler-cli): ensure MockFileSystem handles case-sensitivity (#36968)
Previously this class used the file passed in directly to look up files in the
in-memory mock file-system. But this doesn't match the behaviour of
case-insensitive file-systems. Now the look up is done on the canonical
file paths.

PR Close #36968
2020-05-07 10:32:17 -07:00
4becc1bc95 fix(compiler-cli): isCaseSensitive() returns correct value (#36968)
Previously this method was returning the exact opposite value
than the correct one.
Also, calling `this.exists()` causes an infinite recursions,
so the actual file-system `fs.existsSync()` method is used
to ascertain the case-sensitivity of the file-system.

PR Close #36968
2020-05-07 10:32:17 -07:00
5bddeea559 fix(compiler-cli): ensure getRootDirs() handles case-sensitivity (#36968)
Previously the `getRootDirs()` function was not converting
the root directory paths to their canonical form, which can
cause problems on case-insensitive file-systems.

PR Close #36968
2020-05-07 10:32:17 -07:00
65337fb8b8 fix(compiler-cli): ensure LogicalFileSystem handles case-sensitivity (#36968)
The `LogicalFileSystem` was not taking into account the
case-sensitivity of the file-system when caching logical
file paths.

PR Close #36968
2020-05-07 10:32:17 -07:00
4abd60361a fix(compiler-cli): fix case-sensitivity issues in NgtscCompilerHost (#36968)
The `getCanonicalFileName()` method was not actually
calling the  `useCaseSensitiveFileNames()` method. So
it always returned a case-sensitive canonical filename.

PR Close #36968
2020-05-07 10:32:17 -07:00
9d13ee0052 fix(ngcc): support ModuleWithProviders functions that delegate (#36948)
In #36892 the `ModuleWithProviders` type parameter becomes required.
This exposes a bug in ngcc, where it can only handle functions that have a
specific form:

```
function forRoot() {
  return { ... };
}
```

In other words, it only accepts functions that return an object literal.

In some libraries, the function instead returns a call to another function.
For example in `angular-in-memory-web-api`:

```
InMemoryWebApiModule.forFeature = function (dbCreator, options) {
  return InMemoryWebApiModule_1.forRoot(dbCreator, options);
};
```

This commit changes the parsing of such functions to use the
`PartialEvaluator`, which can evaluate these more complex function
bodies.

PR Close #36948
2020-05-06 13:35:49 -07:00
be1a83337e refactor(ngcc): move getModuleWithProvidersFunctions() into the analyzer (#36948)
Previously this method was implemented on the `NgccReflectionHost`,
but really it is asking too much of the host, since it actually needs to do
some static evaluation of the code to be able to support a wider range
of function shapes. Also there was only one implementation of the method
in the `Esm2015ReflectionHost` since it has no format specific code in
in.

This commit moves the whole function (and supporting helpers) into the
`ModuleWithProvidersAnalyzer`, which is the only place it was being used.
This class will be able to do further static evaluation of the function bodies
in order to support more function shapes than the host can do on its own.

The commit removes a whole set of reflection host tests but these are
already covered by the tests of the analyzer.

PR Close #36948
2020-05-06 13:35:49 -07:00
0be3792b5c refactor(docs-infra): take advantage of latest Jasmine features in preview server tests (#36837)
This commit updates the preview server tests to take advantage of
features supported in the latest version of Jasmine that were not
supported when the rests were first written.

Changes include:

- Use [async/await] in tests.
- Use the new [toBeInstanceOf()] and [toHaveBeenCalledBefore()] matchers.
- Use the new [toBeResolved()] and [toBeRejected()] async matchers (and
  their variants).
- Use the new [withArgs()] method of `Spy` to simplify "trained"
  responses.
- Use the new [resolveTo()]/[rejectWith()] methods of `SpyStrategy` (and
  their variants) to simplify promise-based spies.
- Implement custom async matchers (via [addAsyncMatchers()]) to simplify
  certain tests.

[addAsyncMatchers()]: https://jasmine.github.io/api/3.5/jasmine.html#.addAsyncMatchers
[async/await]: https://jasmine.github.io/tutorials/async
[rejectWith()]: https://jasmine.github.io/api/3.5/SpyStrategy.html#rejectWith
[resolveTo()]: https://jasmine.github.io/api/3.5/SpyStrategy.html#resolveTo
[toBeInstanceOf()]: https://jasmine.github.io/api/3.5/matchers.html#toBeInstanceOf
[toBeRejected()]: https://jasmine.github.io/api/3.5/async-matchers.html#toBeRejected
[toBeResolved()]: https://jasmine.github.io/api/3.5/async-matchers.html#toBeResolved
[toHaveBeenCalledBefore()]: https://jasmine.github.io/api/3.5/matchers.html#toHaveBeenCalledBefore
[withArgs()]: https://jasmine.github.io/api/3.5/Spy.html#withArgs

PR Close #36837
2020-05-05 17:46:49 -07:00
4edd5fc694 test(docs-infra): enable accidentally disabled preview server tests (#36837)
Previously, some preview server tests were only running for public
builds. In the past, these tests were run for both public and non-public
builds. The non-public builds tests were disabled in #23576, probably
during debugging some failure.

This commit fixes it by ensuring the tests are run for both public and
non-public builds.

PR Close #36837
2020-05-05 17:46:49 -07:00
c88ba02d83 test(docs-infra): remove incorrect preview server test (#36837)
The test was introduced in #23576, but the behavior the test was
verifying does not match the actual behavior of
`BuildCleaner#getOpenPrNumbers()`.

The reason that the test did not fail is that the verification happened
asynchronously, but the test completed synchronously (by accident).

PR Close #36837
2020-05-05 17:46:48 -07:00
8719ccdcfb fix(docs-infra): exit with an error when cleaning up the preview server fails (#36837)
Previously, when the preview server `build-cleanup` script failed, the
error was logged but not reflected to the commands exit code. This seems
to have been accidentally broken in #23576.

This commit fixes it by ensuring the error is re-thrown from the
`BuildCleaner#cleanUp()` method to allow the process to exit with an
error exit code.

PR Close #36837
2020-05-05 17:46:48 -07:00
36083c7c3c build(docs-infra): remove linting from the preview server dev npm script (#36837)
Previously, the `dev` npm script in `aio/aio-builds-setup/scripts-js/`
(the PR preview server implementation) would run both linting and unit
tests. This was slow and delayed the feedback loop on each change.

Since the `dev` script should be run during development and give
feedback as fast as possible, this commit removes the linting from the
`dev` script and only keeps the unit tests. Linting is still run in the
`test` npm script (which is more comprehensive). Also, in most cases the
developer's IDE will show linting errors in real time in the editor.

PR Close #36837
2020-05-05 17:46:48 -07:00
44c350236c refactor(docs-infra): update argument order for update-preview-server.sh script (#36837)
Update the order in which the `update-preview-server.sh` script expects
its arguments (and the associated docs) to be consistent with the order
of arguments in other commands/docs (such as
`vm-setup--start-docker-container.md`).

PR Close #36837
2020-05-05 17:46:48 -07:00
8a85c31667 docs(docs-infra): update preview server setup instructions (#36837)
I recently went through the process of setting up a preview server VM
again and updated the instructions and references based on the latest
docs for Debian, Docker, Google Compute Engine, etc.

PR Close #36837
2020-05-05 17:46:48 -07:00