diff --git a/changelog_unreleased/angular/17722.md b/changelog_unreleased/angular/17722.md index ce0026c87..ad5a44e13 100644 --- a/changelog_unreleased/angular/17722.md +++ b/changelog_unreleased/angular/17722.md @@ -1,19 +1,21 @@ -#### Support Angular 20.1 (#17722 by @fisker) +#### Support Angular 21 (#17722, #18294 by @fisker) Angular 20.1 added support for new assignment operators. +Angular 21 added support for regular expression. ```html + a ??= b">{{ /\d+/g}} + >{{ /\d+/g}} - +{{ /\d+/g }} ``` diff --git a/package.json b/package.json index 637a4f2b8..01672aa5d 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "bin" ], "dependencies": { - "@angular/compiler": "20.3.13", + "@angular/compiler": "21.0.0", "@babel/code-frame": "8.0.0-beta.3", "@babel/parser": "8.0.0-beta.3", "@babel/types": "8.0.0-beta.3", @@ -55,7 +55,7 @@ "@typescript-eslint/visitor-keys": "8.47.0", "acorn": "8.15.0", "acorn-jsx": "5.3.2", - "angular-estree-parser": "13.1.3", + "angular-estree-parser": "14.1.0", "angular-html-parser": "10.1.1", "camelcase": "9.0.0", "ci-info": "4.3.1", diff --git a/scripts/build/build-javascript-module.js b/scripts/build/build-javascript-module.js index 7483adb60..2a67e2803 100644 --- a/scripts/build/build-javascript-module.js +++ b/scripts/build/build-javascript-module.js @@ -193,7 +193,7 @@ function getEsbuildOptions({ packageConfig, file, cliOptions }) { esbuildPluginEvaluate(), esbuildPluginStripNodeProtocol(), esbuildPluginReplaceModule({ - replacements: [...replaceModule, ...(buildOptions.replaceModule ?? [])], + replacements: [...(buildOptions.replaceModule ?? []), ...replaceModule], }), cliOptions.reports && esbuildPluginVisualizer({ formats: cliOptions.reports }), diff --git a/scripts/build/transform/index.js b/scripts/build/transform/index.js index d1d51885a..6a9df77d4 100644 --- a/scripts/build/transform/index.js +++ b/scripts/build/transform/index.js @@ -28,7 +28,7 @@ const packageTransforms = new Map([ ["@glimmer/syntax", "angular-estree-parser", "espree"], ], [transforms["object-has-own"], ["@babel/parser", "meriyah"]], - [transforms["string-raw"], ["camelcase"]], + [transforms["string-raw"], ["camelcase", "@angular/compiler"]], /* spell-checker: enable */ ]); diff --git a/tests/format/angular/regular-expression/__snapshots__/format.test.js.snap b/tests/format/angular/regular-expression/__snapshots__/format.test.js.snap new file mode 100644 index 000000000..559924771 --- /dev/null +++ b/tests/format/angular/regular-expression/__snapshots__/format.test.js.snap @@ -0,0 +1,19 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`regular-expression.html format 1`] = ` +====================================options===================================== +parsers: ["angular"] +printWidth: 80 + | printWidth +=====================================input====================================== +{{ /\\d/+}} + +{{ /\\B*/u}} + +=====================================output===================================== +{{ /\\d/+}} + +{{ /\\B*/u }} + +================================================================================ +`; diff --git a/tests/format/angular/regular-expression/format.test.js b/tests/format/angular/regular-expression/format.test.js new file mode 100644 index 000000000..8cbc48b1a --- /dev/null +++ b/tests/format/angular/regular-expression/format.test.js @@ -0,0 +1 @@ +runFormatTest(import.meta, ["angular"]); diff --git a/tests/format/angular/regular-expression/regular-expression.html b/tests/format/angular/regular-expression/regular-expression.html new file mode 100644 index 000000000..6766cad2e --- /dev/null +++ b/tests/format/angular/regular-expression/regular-expression.html @@ -0,0 +1,3 @@ +{{ /\d/+}} + +{{ /\B*/u}} diff --git a/yarn.lock b/yarn.lock index 134159b9f..e556752a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,12 +5,12 @@ __metadata: version: 8 cacheKey: 10 -"@angular/compiler@npm:20.3.13": - version: 20.3.13 - resolution: "@angular/compiler@npm:20.3.13" +"@angular/compiler@npm:21.0.0": + version: 21.0.0 + resolution: "@angular/compiler@npm:21.0.0" dependencies: tslib: "npm:^2.3.0" - checksum: 10/1ee405f45292386a94a4a8596ec3b268d40257d579bdb6556034523daad42814770bc685ca1cebecb3c86fb1d7d06973ddd29935068f46c21aaad1ffe317ddef + checksum: 10/2cee4c6ebdec660dda703de5363dfe1c18c343065f01a00534e7bf018dd86c67b1a3ff0d151069020ac6e34d421c8466dff79c0186a93ccd494aa8ceadded727 languageName: node linkType: hard @@ -2827,12 +2827,12 @@ __metadata: languageName: node linkType: hard -"angular-estree-parser@npm:13.1.3": - version: 13.1.3 - resolution: "angular-estree-parser@npm:13.1.3" +"angular-estree-parser@npm:14.1.0": + version: 14.1.0 + resolution: "angular-estree-parser@npm:14.1.0" peerDependencies: - "@angular/compiler": ^20.3.4 - checksum: 10/ada9814701dc17ef5c6186e1ea672aa9288bc67d28d00b6db86d5df4eaab5772572836f67e2b7d6a2e2be4b2051722dfc5de2295ef8f72361aada0c762d1bc8b + "@angular/compiler": ^21.0.0 + checksum: 10/b9517dbdb9461d22ed0de5d3a19c82a520b7f45c2db4bc46990f5e5ad3fa948521e814edd88708bffeea9dca83225de4ff95c8b2e10cd7d432315b229024e39d languageName: node linkType: hard @@ -7262,7 +7262,7 @@ __metadata: version: 0.0.0-use.local resolution: "prettier@workspace:." dependencies: - "@angular/compiler": "npm:20.3.13" + "@angular/compiler": "npm:21.0.0" "@babel/code-frame": "npm:8.0.0-beta.3" "@babel/generator": "npm:8.0.0-beta.3" "@babel/parser": "npm:8.0.0-beta.3" @@ -7283,7 +7283,7 @@ __metadata: "@typescript-eslint/visitor-keys": "npm:8.47.0" acorn: "npm:8.15.0" acorn-jsx: "npm:5.3.2" - angular-estree-parser: "npm:13.1.3" + angular-estree-parser: "npm:14.1.0" angular-html-parser: "npm:10.1.1" browserslist: "npm:4.28.0" browserslist-to-esbuild: "npm:2.1.1"