diff --git a/libs/native-federation/README.md b/libs/native-federation/README.md index 251a06f3..5327a07f 100644 --- a/libs/native-federation/README.md +++ b/libs/native-federation/README.md @@ -374,6 +374,7 @@ module.exports = withNativeFederation({ shared: { ...shareAll({ singleton: true, strictVersion: true, requiredVersion: 'auto' }), ...shareAngularLocales(['en', 'de', 'fr']), + //...shareAngularLocales(['en', 'de', 'fr'], {legacy: true}), // ng19 or older } }); ``` diff --git a/libs/native-federation/src/utils/angular-locales.ts b/libs/native-federation/src/utils/angular-locales.ts index 1ebaf193..9824e9af 100644 --- a/libs/native-federation/src/utils/angular-locales.ts +++ b/libs/native-federation/src/utils/angular-locales.ts @@ -1,21 +1,25 @@ import { share, SharedConfig } from '@softarc/native-federation/build'; export function shareAngularLocales( - keys, - config: SharedConfig = { - singleton: true, - strictVersion: true, - requiredVersion: 'auto', - }, + keys: string[], + opts: { config?: SharedConfig; legacy?: boolean } = {}, ) { + if (!opts.config) { + opts.config = { + singleton: true, + strictVersion: true, + requiredVersion: 'auto', + }; + } + const ext = opts.legacy ? '.mjs' : '.js'; return keys.reduce((acc, key) => { acc[`@angular/common/locales/${key}`] = { - ...config, - packageInfo: config.packageInfo || { - ...config.packageInfo, + ...opts.config!, + packageInfo: opts.config.packageInfo || { + ...opts.config.packageInfo, entryPoint: - config.packageInfo?.entryPoint || - `node_modules/@angular/common/locales/${key}.js`, + opts.config.packageInfo?.entryPoint || + `node_modules/@angular/common/locales/${key}${ext}`, }, }; return share(acc);