Skip to content

Commit cc4cd6c

Browse files
author
Alain Sollberger
committed
fix(skip-list): fixed the handling and passing of the skip list
- the skip list was ignored for secondary entry points, and thus libraries were brought back in (libs/native-federation-core/src/lib/config/share-utils.ts) - fixed a few typos
1 parent f9a28bf commit cc4cd6c

File tree

15 files changed

+45
-156
lines changed

15 files changed

+45
-156
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ node_modules
1616
*.launch
1717
.settings/
1818
*.sublime-workspace
19+
.tool-versions
1920

2021
# IDE - VSCode
2122
.vscode/*
@@ -46,6 +47,5 @@ migrations.json
4647
# Angular
4748
.angular
4849

49-
.nx
5050
.cursor/rules/nx-rules.mdc
5151
.github/instructions/nx.instructions.md

libs/mf/rspack.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export * from './src/rspack';
22
export {
3-
DEFAULT_SECONARIES_SKIP_LIST,
3+
DEFAULT_SECONDARIES_SKIP_LIST,
44
DEFAULT_SKIP_LIST,
55
SharedMappings,
66
findRootTsConfigJson,

libs/mf/src/schematics/init-webpack/schematic.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ function nxBuildersAvailable(tree: Tree): boolean {
146146
return true;
147147
}
148148

149-
function infereNxBuilderNames(tree: Tree): { dev: string; prod: string } {
149+
function inferNxBuilderNames(tree: Tree): { dev: string; prod: string } {
150150
const dep = getPackageJsonDependency(tree, '@nx/angular');
151151

152152
const useDevServer =
@@ -334,7 +334,7 @@ export default function config(options: MfSchematicSchema): Rule {
334334
options.nxBuilders = nxBuildersAvailable(tree); // tree.exists('nx.json');
335335
}
336336

337-
const nxBuilderNames = infereNxBuilderNames(tree);
337+
const nxBuilderNames = inferNxBuilderNames(tree);
338338

339339
if (options.nxBuilders) {
340340
console.log('Using Nx builders!');
@@ -354,7 +354,7 @@ export default function config(options: MfSchematicSchema): Rule {
354354

355355
if (!projectConfig?.architect?.build || !projectConfig?.architect?.serve) {
356356
throw new Error(
357-
`The project doen't have a build or serve target in angular.json!`
357+
`The project doesn't have a build or serve target in angular.json!`
358358
);
359359
}
360360

libs/mf/src/utils/share-utils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const DEFAULT_SKIP_LIST = [
1515
'zone.js',
1616
];
1717

18-
export const DEFAULT_SECONARIES_SKIP_LIST = [
18+
export const DEFAULT_SECONDARIES_SKIP_LIST = [
1919
'@angular/router/upgrade',
2020
'@angular/common/upgrade',
2121
];
@@ -135,7 +135,7 @@ function getSecondaries(
135135
packagePath: string,
136136
key: string,
137137
shareObject: SharedConfig,
138-
exclude = [...DEFAULT_SECONARIES_SKIP_LIST]
138+
exclude = [...DEFAULT_SECONDARIES_SKIP_LIST]
139139
): Record<string, SharedConfig> {
140140
if (typeof includeSecondaries === 'object') {
141141
if (Array.isArray(includeSecondaries.skip)) {
@@ -217,7 +217,7 @@ function readConfiguredSecondaries(
217217

218218
export function shareAll(
219219
config: CustomSharedConfig = {},
220-
skip: string[] = [...DEFAULT_SKIP_LIST, ...DEFAULT_SECONARIES_SKIP_LIST],
220+
skip: string[] = [...DEFAULT_SKIP_LIST, ...DEFAULT_SECONDARIES_SKIP_LIST],
221221
packageJsonPath = ''
222222
): Config {
223223
if (!packageJsonPath) {
@@ -247,7 +247,7 @@ export function setInferVersion(infer: boolean): void {
247247
export function share(
248248
shareObjects: Config,
249249
packageJsonPath = '',
250-
skip: string[] = DEFAULT_SECONARIES_SKIP_LIST
250+
skip: string[] = DEFAULT_SECONDARIES_SKIP_LIST
251251
): Config {
252252
if (!packageJsonPath) {
253253
packageJsonPath = cwd();

libs/mf/src/utils/with-mf-plugin.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {
2-
DEFAULT_SECONARIES_SKIP_LIST,
2+
DEFAULT_SECONDARIES_SKIP_LIST,
33
DEFAULT_SKIP_LIST,
44
findRootTsConfigJson,
55
shareAll,
@@ -15,7 +15,7 @@ export function withModuleFederationPlugin(config: unknown) {
1515

1616
const skip = [
1717
...DEFAULT_SKIP_LIST,
18-
...DEFAULT_SECONARIES_SKIP_LIST,
18+
...DEFAULT_SECONDARIES_SKIP_LIST,
1919
...(config['skip'] || []),
2020
];
2121

libs/native-federation-core/src/lib/config/share-utils.ts

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {
1717
} from '../utils/package-info';
1818
import { getConfigContext } from './configuration-context';
1919
import { logger } from '../utils/logger';
20-
import { resolveGlobSync } from '../utils/resolve-glob';
2120

2221
import {
2322
KeyValuePair,
@@ -26,7 +25,7 @@ import {
2625

2726
let inferVersion = false;
2827

29-
export const DEFAULT_SECONARIES_SKIP_LIST = [
28+
export const DEFAULT_SECONDARIES_SKIP_LIST = [
3029
'@angular/router/upgrade',
3130
'@angular/common/upgrade',
3231
];
@@ -110,7 +109,8 @@ function _findSecondaries(
110109
libPath: string,
111110
excludes: string[],
112111
shareObject: SharedConfig,
113-
acc: Record<string, SharedConfig>
112+
acc: Record<string, SharedConfig>,
113+
preparedSkipList: PreparedSkipList
114114
): void {
115115
const files = fs.readdirSync(libPath);
116116

@@ -136,27 +136,29 @@ function _findSecondaries(
136136
acc[secondaryLibName] = { ...shareObject };
137137
}
138138

139-
_findSecondaries(s, excludes, shareObject, acc);
139+
_findSecondaries(s, excludes, shareObject, acc, preparedSkipList);
140140
}
141141
}
142142

143143
function findSecondaries(
144144
libPath: string,
145145
excludes: string[],
146-
shareObject: SharedConfig
146+
shareObject: SharedConfig,
147+
preparedSkipList: PreparedSkipList
147148
): Record<string, SharedConfig> {
148149
const acc = {} as Record<string, SharedConfig>;
149-
_findSecondaries(libPath, excludes, shareObject, acc);
150+
_findSecondaries(libPath, excludes, shareObject, acc, preparedSkipList);
150151
return acc;
151152
}
152153

153154
function getSecondaries(
154155
includeSecondaries: IncludeSecondariesOptions,
155156
libPath: string,
156157
key: string,
157-
shareObject: SharedConfig
158+
shareObject: SharedConfig,
159+
preparedSkipList: PreparedSkipList
158160
): Record<string, SharedConfig> | null {
159-
let exclude = [...DEFAULT_SECONARIES_SKIP_LIST];
161+
let exclude = [...DEFAULT_SECONDARIES_SKIP_LIST];
160162

161163
if (typeof includeSecondaries === 'object') {
162164
if (Array.isArray(includeSecondaries.skip)) {
@@ -176,22 +178,29 @@ function getSecondaries(
176178
key,
177179
libPath,
178180
exclude,
179-
shareObject
181+
shareObject,
182+
preparedSkipList
180183
);
181184
if (configured) {
182185
return configured;
183186
}
184187

185188
// Fallback: Search folders
186-
const secondaries = findSecondaries(libPath, exclude, shareObject);
189+
const secondaries = findSecondaries(
190+
libPath,
191+
exclude,
192+
shareObject,
193+
preparedSkipList
194+
);
187195
return secondaries;
188196
}
189197

190198
function readConfiguredSecondaries(
191199
parent: string,
192200
libPath: string,
193201
exclude: string[],
194-
shareObject: SharedConfig
202+
shareObject: SharedConfig,
203+
preparedSkipList: PreparedSkipList
195204
): Record<string, SharedConfig> | null {
196205
const libPackageJson = path.join(libPath, 'package.json');
197206

@@ -232,7 +241,7 @@ function readConfiguredSecondaries(
232241
continue;
233242
}
234243

235-
if (isInSkipList(secondaryName, PREPARED_DEFAULT_SKIP_LIST)) {
244+
if (isInSkipList(secondaryName, preparedSkipList)) {
236245
continue;
237246
}
238247

@@ -350,10 +359,9 @@ export function shareAll(
350359

351360
const versionMaps = getVersionMaps(projectPath, projectPath);
352361
const share: Record<string, unknown> = {};
362+
const preparedSkipList = prepareSkipList(skip);
353363

354364
for (const versions of versionMaps) {
355-
const preparedSkipList = prepareSkipList(skip);
356-
357365
for (const key in versions) {
358366
if (isInSkipList(key, preparedSkipList)) {
359367
continue;
@@ -561,7 +569,8 @@ export function share(
561569
includeSecondaries,
562570
libPath,
563571
key,
564-
shareObject
572+
shareObject,
573+
preparedSkipList
565574
);
566575
if (secondaries) {
567576
addSecondaries(secondaries, result);

libs/native-federation-core/src/lib/core/bundle-shared.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export async function bundleShared(
3737

3838
fs.mkdirSync(cachePath, { recursive: true });
3939

40-
const inferedPackageInfos = Object.keys(sharedBundles)
40+
const inferredPackageInfos = Object.keys(sharedBundles)
4141
.filter((packageName) => !sharedBundles[packageName].packageInfo)
4242
.map((packageName) => getPackageInfo(packageName, folder))
4343
.filter((pi) => !!pi) as PackageInfo[];
@@ -49,7 +49,7 @@ export async function bundleShared(
4949
...sharedBundles[packageName].packageInfo,
5050
})) as PackageInfo[];
5151

52-
const packageInfos = [...inferedPackageInfos, ...configuredPackageInfos];
52+
const packageInfos = [...inferredPackageInfos, ...configuredPackageInfos];
5353

5454
const configState =
5555
'BUNDLER_CHUNKS' + // TODO: Replace this with lib version

libs/native-federation-esbuild/src/lib/adapter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function createEsBuildAdapter(config: EsBuildAdapterConfig) {
4444

4545
for (const entryPoint of entryPoints) {
4646
const isPkg = entryPoint.fileName.includes('node_modules');
47-
const pkgName = isPkg ? inferePkgName(entryPoint.fileName) : '';
47+
const pkgName = isPkg ? inferPkgName(entryPoint.fileName) : '';
4848
const tmpFolder = `node_modules/.tmp/${pkgName}`;
4949

5050
if (isPkg) {
@@ -170,7 +170,7 @@ async function prepareNodePackage(
170170
});
171171
}
172172

173-
function inferePkgName(entryPoint: string) {
173+
function inferPkgName(entryPoint: string) {
174174
return entryPoint
175175
.replace(/.*?node_modules/g, '')
176176
.replace(/[^A-Za-z0-9.]/g, '_');

libs/native-federation-runtime/src/lib/load-remote-module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ function getRemoteNameByOptions(options: LoadRemoteModuleOptions) {
8888
remoteName = getRemoteNameByBaseUrl(baseUrl);
8989
} else {
9090
throw new Error(
91-
'unexpcted arguments: Please pass remoteName or remoteEntry'
91+
'unexpected arguments: Please pass remoteName or remoteEntry'
9292
);
9393
}
9494

libs/native-federation/src/builders/build/builder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ export async function* runBuilder(
199199
const fedOptions: FederationOptions = {
200200
workspaceRoot: context.workspaceRoot,
201201
outputPath: browserOutputPath,
202-
federationConfig: infereConfigPath(options.tsConfig),
202+
federationConfig: inferConfigPath(options.tsConfig),
203203
tsConfig: options.tsConfig,
204204
verbose: options.verbose,
205205
watch: false, // options.watch,
@@ -454,7 +454,7 @@ function getLocaleFilter(
454454
return localize;
455455
}
456456

457-
function infereConfigPath(tsConfig: string): string {
457+
function inferConfigPath(tsConfig: string): string {
458458
const relProjectPath = path.dirname(tsConfig);
459459
const relConfigPath = path.join(relProjectPath, 'federation.config.js');
460460

0 commit comments

Comments
 (0)