diff --git a/CHANGELOG.md b/CHANGELOG.md index e4ef72217c71..0571b4af76d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ + + +# 13.0.2 (2021-11-10) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [34047b1ad](https://github.com/angular/angular-cli/commit/34047b1adccd7eb852c1900c872e9ca71c8d4cd9) | fix | avoid redirecting @angular/core in Angular migrations | +| [ff4538e98](https://github.com/angular/angular-cli/commit/ff4538e981cfff49b6e8433ffcb5ac2d2ea5d07e) | fix | favor ng-update `packageGroupName` in ng update output | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [1bc00b6fe](https://github.com/angular/angular-cli/commit/1bc00b6feb9033fd611dec965c82f03e4135a9f4) | fix | migrate ng-packagr configurations in package.json | +| [9ea74a13d](https://github.com/angular/angular-cli/commit/9ea74a13d07208373490c7cdb3ff7c452c698322) | fix | show warning when migrating ng-packagr JS configurations | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- | +| [35164bf92](https://github.com/angular/angular-cli/commit/35164bf92b986a67215580622aaddc4148a7c822) | fix | don't restore `input` of type `file` during HMR | +| [facb5d8ff](https://github.com/angular/angular-cli/commit/facb5d8ffd4f6a81d3132515b8bae64278cf8316) | fix | don't show `[NG HMR] Unknown input type` when restoring file type input | +| [ef8815d04](https://github.com/angular/angular-cli/commit/ef8815d0434836f2d8119e91a7bc09742ff77d37) | fix | improve sourcemap fidelity during code-coverage | +| [966a1334a](https://github.com/angular/angular-cli/commit/966a1334a6502f5d4a18710ae22e739e62770101) | fix | suppress "@charset" must be the first rule in the file warning | +| [1cdc24da0](https://github.com/angular/angular-cli/commit/1cdc24da0105fad75221e3c145de12dafc601059) | fix | update Angular peer dependencies to 13.0 stable | + +## Special Thanks + +Alan Agius, Charles Lyding, Joey Perrott and Paul Gschwendtner + + + # 13.0.1 (2021-11-03) diff --git a/package.json b/package.json index aa7fbc4464ea..e396eb1c6926 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "13.0.1", + "version": "13.0.2", "private": true, "description": "Software Development Kit for Angular", "bin": { @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "1.0.1", - "@angular/animations": "13.0.0-rc.3", - "@angular/cdk": "13.0.0-rc.2", - "@angular/common": "13.0.0-rc.3", - "@angular/compiler": "13.0.0-rc.3", - "@angular/compiler-cli": "13.0.0-rc.3", - "@angular/core": "13.0.0-rc.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#047a95f394e81d4a120a21a5802000d0c2e62030", - "@angular/forms": "13.0.0-rc.3", - "@angular/localize": "13.0.0-rc.3", - "@angular/material": "13.0.0-rc.2", - "@angular/platform-browser": "13.0.0-rc.3", - "@angular/platform-browser-dynamic": "13.0.0-rc.3", - "@angular/platform-server": "13.0.0-rc.3", - "@angular/router": "13.0.0-rc.3", - "@angular/service-worker": "13.0.0-rc.3", + "@angular/animations": "13.0.0", + "@angular/cdk": "13.0.0", + "@angular/common": "13.0.0", + "@angular/compiler": "13.0.0", + "@angular/compiler-cli": "13.0.0", + "@angular/core": "13.0.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2cfe4b98a157927b319a3a00b467ff6233dc3337", + "@angular/forms": "13.0.0", + "@angular/localize": "13.0.0", + "@angular/material": "13.0.0", + "@angular/platform-browser": "13.0.0", + "@angular/platform-browser-dynamic": "13.0.0", + "@angular/platform-server": "13.0.0", + "@angular/router": "13.0.0", + "@angular/service-worker": "13.0.0", "@babel/core": "7.15.8", "@babel/generator": "7.15.8", "@babel/helper-annotate-as-pure": "7.15.4", @@ -179,7 +179,7 @@ "mini-css-extract-plugin": "2.4.3", "minimatch": "3.0.4", "minimist": "^1.2.0", - "ng-packagr": "13.0.0-rc.3", + "ng-packagr": "13.0.0", "node-fetch": "^2.2.0", "npm-package-arg": "8.1.5", "open": "8.4.0", diff --git a/packages/angular/cli/models/schematic-engine-host.ts b/packages/angular/cli/models/schematic-engine-host.ts index 0c5bc7fe129b..57d678321d76 100644 --- a/packages/angular/cli/models/schematic-engine-host.ts +++ b/packages/angular/cli/models/schematic-engine-host.ts @@ -129,10 +129,21 @@ function wrap( // Provide compatibility modules for older versions of @angular/cdk return legacyModules[id]; } else if (id.startsWith('@angular-devkit/') || id.startsWith('@schematics/')) { - // Resolve from inside the `@angular/cli` project - const packagePath = require.resolve(id); + // Files should not redirect `@angular/core` and instead use the direct + // dependency if available. This allows old major version migrations to continue to function + // even though the latest major version may have breaking changes in `@angular/core`. + if (id.startsWith('@angular-devkit/core')) { + try { + return schematicRequire(id); + } catch (e) { + if (e.code !== 'MODULE_NOT_FOUND') { + throw e; + } + } + } - return hostRequire(packagePath); + // Resolve from inside the `@angular/cli` project + return hostRequire(id); } else if (id.startsWith('.') || id.startsWith('@angular/cdk')) { // Wrap relative files inside the schematic collection // Also wrap `@angular/cdk`, it contains helper utilities that import core schematic packages diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index 4e951adee87a..a0b92febe48b 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -460,17 +460,15 @@ function _usageMessage( target, }; }) - .filter(({ info, version, target }) => { - return target && semver.compare(info.installed.version, version) < 0; - }) - .filter(({ target }) => { - return target['ng-update']; - }) + .filter( + ({ info, version, target }) => + target?.['ng-update'] && semver.compare(info.installed.version, version) < 0, + ) .map(({ name, info, version, tag, target }) => { // Look for packageGroup. - const packageGroup = target['ng-update']?.['packageGroup']; + const packageGroup = target['ng-update']['packageGroup']; if (packageGroup) { - const packageGroupName = packageGroup?.[0]; + const packageGroupName = target['ng-update']['packageGroupName'] || packageGroup[0]; if (packageGroupName) { if (packageGroups.has(name)) { return null; diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9cece7c9a914..391ffe9f1ded 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -75,11 +75,11 @@ "esbuild": "0.13.12" }, "peerDependencies": { - "@angular/compiler-cli": "^13.0.0 || ^13.0.0-next", - "@angular/localize": "^13.0.0 || ^13.0.0-next", - "@angular/service-worker": "^13.0.0 || ^13.0.0-next", + "@angular/compiler-cli": "^13.0.0", + "@angular/localize": "^13.0.0", + "@angular/service-worker": "^13.0.0", "karma": "^6.3.0", - "ng-packagr": "^13.0.0 || ^13.0.0-next", + "ng-packagr": "^13.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0", "typescript": "~4.4.3" diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index 8b5467cd6622..8b849f07d6c4 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -49,6 +49,7 @@ export interface ApplicationPresetOptions { forceAsyncTransformation?: boolean; instrumentCode?: { includedBasePath: string; + inputSourceMap: unknown; }; optimize?: { looseEnums: boolean; @@ -249,7 +250,10 @@ export default function (api: unknown, options: ApplicationPresetOptions) { if (options.instrumentCode) { plugins.push([ require('babel-plugin-istanbul').default, - { inputSourceMap: false, cwd: options.instrumentCode.includedBasePath }, + { + inputSourceMap: options.instrumentCode.inputSourceMap ?? false, + cwd: options.instrumentCode.includedBasePath, + }, ]); } diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index e3a6d49df695..eae472b33ccd 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -73,7 +73,7 @@ export default custom(() => { }); return { - async customOptions(options, { source }) { + async customOptions(options, { source, map }) { const { i18n, scriptTarget, aot, optimize, instrumentCode, ...rawOptions } = options as AngularBabelLoaderOptions; @@ -176,6 +176,7 @@ export default custom(() => { // `babel-plugin-istanbul` has it's own includes but we do the below so that we avoid running the the loader. customOptions.instrumentCode = { includedBasePath: instrumentCode.includedBasePath, + inputSourceMap: map, }; shouldProcess = true; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts index 195fad21569b..4b97bb82b2c7 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts @@ -58,7 +58,9 @@ describe('Dev Server Builder HMR', () => {

{{title}}

+ +