forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pppp #3
Open
avikseth5
wants to merge
6,737
commits into
mscottford-demo:2.0.x
Choose a base branch
from
avikseth5:master
base: 2.0.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
pppp #3
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ves (angular#27392) Prior to this change, the number of host vars stored for directives with `hostBindings` in expando block was incorrect for inherited directives (in case both parent and child directive have `hostBindings` defined). Now if we identify that we already added a `hostBinding` into expando block, we just increase the corresponding number of host binding vars PR Close angular#27392
…dererFactory (angular#27341) PR Close angular#27341
…`hostBindings` (angular#27388) PR Close angular#27388
Fixes the initializers not being run by `TestBed` when creating a fixture. PR Close angular#27355
This commit creates a schematics for ng new command that builds the project with Bazel. PR Close angular#27277
…lar#27158) For ngcc's processing of ES5 bundles, the spread syntax has been downleveled from `[...ARRAY]` to become `ARRAY.slice()`. This commit adds basic support for static resolution of such call. PR Close angular#27158
…27458) With this change, we no longer depend on CircleCI to trigger the webhook (which it sometimes does with considerable delay or not at all). This has the added benefit that other jobs will not unnecessarily trigger webhooks and spam the preview server logs. It is only the `aio_preview` job's webhook that we care about. Related to angular#27352. PR Close angular#27458
…#27200) * Fixes that `ng_package` does not work generate UMD bundles on Windows because the `esm5/` files are not written to the output directory. This is because `rootDirs` and `rootDir` are posix paths and cause invalid relative paths when mixed with Windows backslash paths. PR Close angular#27200
…27200) * Currently when building the ES5 and ES2015 output, `ngc_wrapped` will fail because it tries to write the `fs.openSync` the tsickle output file at the same time. This causes a runtime exception in Windows and can be fixed by just writing the externs for ES5 mode to the proper ES5 "output root". PR Close angular#27200
…gular#27200) Currently when building the `ng_package` multiple times, the old `ng_package` output will be copied over to the new `ng_package` content. Resulting in packages like `src/cdk/npm_package/npm_package/npm_package/AND_MORE`. This happens because currently all TypeScript definition files are resolved from within the `binDir`. This is just wrong because it could then take up the `d.ts` files from the previous `ng_package` output. All typescript definitions that belong to the target package, should be resolved through Bazel and copied based on that computation. Also fixes that `esm` files aren't written to the `ng_package` on Windows. This is because we try to flatten paths using the `path.delimiter` while the path is always using Posix delimiters (causing the paths to be incorrect) PR Close angular#27200
…h multiple input files (angular#27200) * Currently when building a `ng_module` with Bazel and having the flat module id option set, the flat module files are not being generated because `@angular/compiler-cli` does not properly determine the entry-point file. Note that this logic is not necessarily specific to Bazel and the same problem can happen without Bazel if multiple TypeScript input files are specified while the `flatModuleIndex` option has been enabled. PR Close angular#27200
…souces (angular#27357) When a single resource is preloaded twice in ngtsc, the second request would be recognized as in-flight in which case `undefined` would be returned, which signals to the compilation that is can resume synchronously. The compilation would then proceed immediately and call `load`, only to find out that the request is still in-flight which is not allowed. This commit caches the Promise of the in-flight fetch requests, such that subsequent preload requests can return the corresponding Promise instance. PR Close angular#27357
This commit adds support for resolution of styleUrls to ngtsc. Previously this field was never read, and so components with styleUrls would appear unstyled after compilation. PR Close angular#27357
…ular#27357) Previously ngtsc assumed resource files (templateUrl, styleUrls) would be physically present in the file system relative to the .ts file which referenced them. However, ngc previously resolved such references in the context of ts.CompilerOptions.rootDirs. Material depends on this functionality in its build. This commit introduces resolution of resources by leveraging the TypeScript module resolver, ts.resolveModuleName(). This resolver is used in a way which will never succeed, but on failure will return a list of locations checked. This list is then filtered to obtain the correct potential locations of the resource. PR Close angular#27357
…-content> is present (FW-745) (angular#27384) Prior to this change `projectDef` instructions were placed to root templates only, thus the necessary information (selectors) in nested templates was missing. This update adds the logic to insert `projectDef` instructions to all templates where <ng-content> is present. PR Close angular#27384
…tputs (angular#27401) In some applications, developers define a `ts_library` that just consists of `d.ts` files (e.g. to type `module.id`; see: https://github.com/angular/material2/blob/master/src/module-typings.d.ts), and expect the `esm5.bzl` file to not throw an error like: ``` target.typescript.replay_params.outputs struct' object has no attribute 'outputs' ``` The "replay_parameters" property will exist in that case, but is set to "None" because there is no action that should be replayed in favor of producing ES5 outputs. See: bazelbuild/rules_typescript#326. Notice that this right now breaks similarly because an empty `struct()` is returned that does not have a property called `outputs`. [angular#326](bazelbuild/rules_typescript#326) fixes that by being explicit that there is no _action_ at all. PR Close angular#27401
…de `hostBindings` section (angular#27404) The logic that generates first argument for the `elementStyling` instruction was missing the check that directive expression is specified. As a result, in some cases first argument was not added, thus making function invocation incorrect. Now the presence of directive expression is taken into account and the `null` expression is generated as needed. PR Close angular#27404
This can help with debugging issues, e.g. with the communication between the preview server and CI, as it gives a better idea of exactly when was the preview made available and how long it took. PR Close angular#27436
When detaching a view by its index via `ViewContainerRef.detach(index)`, in `ViewEngine` we used to return a new `ViewRef` ([for reference](https://github.com/angular/angular/blob/master/packages/core/src/view/refs.ts#L227)), however in Ivy we return the same `ViewRef` which means that its internal `_viewContainerRef` is never reset and we'll throw an error if the consumer tried to attach it to the `ApplicationRef`. These changes return a new `ViewRef` in order to match the original behavior. These changes also add the same errors as `ViewEngine` when attempting to attach a view that is attached already. This was the original goal of this PR, however it ended up uncovering the issues with the `ViewRef`. PR Close angular#27437
…nts change (angular#27440) Related to angular#26861 PR Close angular#27440
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-2.html https://blogs.msdn.microsoft.com/typescript/2018/11/29/announcing-typescript-3-2/ Any application using tsickle for closure compatibility will need to update it's tsickle dependency to 0.34 PR Close angular#27536
…al (angular#27536) Typescript 3.2 introduced BigInt type, and consequently the implementation for checkExpressionWorker() in checkers.ts is refactored. For NumberLiteral and StringLiteral types, 'text' filed must be present in the Node type, therefore they must be LiteralLikeNode instead of Node. PR Close angular#27536
It's unclear why `import as` results in the aliases to be undefined. Plain tsc seems to do the right thing and emits the correct code, so it might be some kind of interaction in @angular/cli or webpack that are causing the failure. This should be investigated separately from the tsc update in angular/angular. See angular/angular-cli#13212 PR Close angular#27536
…ngular#27536) cli is not yet officially compatible with typescript 3.2, so we need to disable the version check via: ng config cli.warnings.typescriptMismatch false PR Close angular#27536
…mpilerOptions (angular#27536) We need to do this because we don't yet have a released version of angular with typescript 3.2 support and on CI we test both against the snapshot and whatever is in aio/yarn.lock. Once we have the next rc or a stable relase we should be able to remove this flag. PS: I also removed the preserveWhitespace:false because that's the default now. PR Close angular#27536
…ngular#27682) This option means guards and resolvers will ignore changes when a provided predicate function returns `false`. This supports use cases where an application needs to ignore some param updates but not others. For example, changing a sort param in the URL might need to be ignored, whereas changing the a `project` param might require re-run of guards and resolvers. Related to angular#26861 angular#18253 angular#27464 PR Close angular#27682
…gular#27744) Prior to this commit, we had two different modes for change detection execution for Ivy, depending on whether you called `bootstrap()` or `renderComponent()`. In the former case, we would complete creation mode for all components in the tree before beginning update mode for any component. In the latter case, we would run creation mode and update mode together for each component individually. Maintaining code to support these two different execution orders was unnecessarily complex, so this commit aligns the two bootstrapping mechanisms to execute in the same order. Now creation mode always runs for all components before update mode begins. This change also simplifies our rendering logic so that we use `LView` flags as the source of truth for rendering mode instead of `rf` function arguments. This fixed some related bugs (e.g. calling `ViewRef.detectChanges` synchronously after the view's creation would create view nodes twice, view queries would execute twice, etc). PR Close angular#27744
It should be nullable, matching the lib.es2015.d.ts from TypeScript PR Close angular#27742
…ngular#27759) This reverts commit d766ad0. As discussed per chat, we want to temporarily revert that change because `gulp-clang-format` expects a more recent version of `clang-format` which comes with new style updates. In order to make sure that the formatting will be enforced in the meanwhile, we need to revert the update. PR Close angular#27759
…inal workflow (angular#27741) Bazel bits added to a CLI project should not be destructive. The project should still work under the original CLI workflow. PR Close angular#27741
…ings (angular#27326) To support updating `ModuleWithProviders` calls, we need to be able to map exported functions between source and typings files, as well as classes. PR Close angular#27326
…ular#27326) Exported functions or static method that return a `ModuleWithProviders` compatible structure need to provide information about the referenced `NgModule` type in their return type. This allows ngtsc to be able to understand the type of `NgModule` that is being returned from calls to the function, without having to dig into the internals of the compiled library. There are two ways to provide this information: * Add a type parameter to the `ModuleWithProviders` return type. E.g. ``` static forRoot(): ModuleWithProviders<SomeNgModule>; ``` * Convert the return type to a union that includes a literal type. E.g. ``` static forRoot(): (SomeOtherType)&{ngModule:SomeNgModule}; ``` This commit updates the rendering of typings files to include this type information on all matching functions/methods. PR Close angular#27326
…duleWithProviders types (angular#27326) Normally functions that return `ModuleWithProvider` objects should parameterize the return type to include the type of `NgModule` that is being returned. For example `forRoot(): ModuleWithProviders<RouterModule>`. But in some cases, especially those generated by nccc, these functions to not explicitly declare `ModuleWithProviders` as their return type. Instead they return a "intersection" type, one of whose members is a type literal that declares the `NgModule` type returned. For example: `forRoot(): CustomType&{ngModule:RouterModule}`. This commit changes the `NgModuleDecoratorHandler` so that it can extract the `NgModule` type from either kind of declaration. PR Close angular#27326
…ular#27753) Fixes the defined change detection strategy not being passed to the compiler when a component is being compiled. PR Close angular#27753
…7755) Previously ivy code generation was emmiting the projectionDef instruction in a template where the <ng-content> tag was found. This code generation logic was incorrect since the ivy runtime expects the projectionDef instruction to be present in the main template only. This PR ammends the code generation logic so that the projectionDef instruction is emmitedin the main template only. PR Close angular#27755
…teStrategy="eager" (angular#27523) Navigating to a route such as `/users`, you may get redirected to `/login`. Previously, if you go then route to `/users` again the URL will end up showing `/users` after the second redirect. This only happened in `UrlUpdateStrategy="eager"`. This is now fixed so after the second redirect, the URL shows the correct page. Fixes angular#27116 PR Close angular#27523
…ngradeComponent()` (angular#27217) PR Close angular#27217
…ngradeModule()` (angular#27217) Previously, nested downgraded components would not be created/destroyed inside the Angular zone (as they should) and they would not be wired up correctly for change detection. This commit ensures that ngUpgrade correctly detects whether this is an ngUpgradeLite app (i.e. one using `downgradeModule()` instead of `UpgradeModule`) and appropriately handles components, even if they are nested inside other downgraded components. Fixes angular#22581 Closes angular#22869 Closes angular#27083 PR Close angular#27217
…angular#27217) This commit adds tests that verify the current behavior wrt injector tree traversal for downgraded components, so that it is easier to contrast with changed behavior is future commits (should we decide to actually change it). PR Close angular#27217
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information