From c7d37f74cffb2852f482b909577dcd15681e182b Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 23 Sep 2021 12:37:57 +0200 Subject: [PATCH] build: expose locales as package export for ES module resolution (#43431) As part of v13, all APF packages use the `exports` field which defines the public entry-points/mappings for a package. so-called package exports. The `ng_package` rule creates all the necessary mappings/sub-path exports for the entry-points of `@angular/common`. Though, since the locale files are generated separately and are not an actual entry-point, we need to expose these files publicly so that they can be imported/resolved by consumers. PR Close #43431 --- packages/bazel/test/ng_package/common_package.spec.ts | 2 ++ packages/common/package.json | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/packages/bazel/test/ng_package/common_package.spec.ts b/packages/bazel/test/ng_package/common_package.spec.ts index fbbedd82aa8..36e6b0e1702 100644 --- a/packages/bazel/test/ng_package/common_package.spec.ts +++ b/packages/bazel/test/ng_package/common_package.spec.ts @@ -114,6 +114,8 @@ describe('@angular/common ng_package', () => { node: './fesm2015/upgrade.mjs', default: './fesm2020/upgrade.mjs', }, + './locales/global/*': {default: './locales/global/*.js'}, + './locales/*': {default: './locales/*.mjs'}, } })); }); diff --git a/packages/common/package.json b/packages/common/package.json index c3b5f1ec34b..f7002b7c5a8 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -11,6 +11,14 @@ "dependencies": { "tslib": "^2.3.0" }, + "exports": { + "./locales/global/*": { + "default": "./locales/global/*.js" + }, + "./locales/*": { + "default": "./locales/*.mjs" + } + }, "peerDependencies": { "@angular/core": "0.0.0-PLACEHOLDER", "rxjs": "^6.5.3 || ^7.0.0"