Skip to content

Commit bf4393e

Browse files
authored
Merge pull request #902 from asollberger/bug/skip-list
fix(skip-list): fixed the handling and passing of the skip list
2 parents 2bc88a0 + 240d7ad commit bf4393e

File tree

22 files changed

+79
-182
lines changed

22 files changed

+79
-182
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
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/*

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: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { SharedConfig } from './federation-config';
55
import {
66
DEFAULT_SKIP_LIST,
77
isInSkipList,
8-
PREPARED_DEFAULT_SKIP_LIST,
98
PreparedSkipList,
109
prepareSkipList,
1110
SkipList,
@@ -17,7 +16,6 @@ import {
1716
} from '../utils/package-info';
1817
import { getConfigContext } from './configuration-context';
1918
import { logger } from '../utils/logger';
20-
import { resolveGlobSync } from '../utils/resolve-glob';
2119

2220
import {
2321
KeyValuePair,
@@ -26,7 +24,7 @@ import {
2624

2725
let inferVersion = false;
2826

29-
export const DEFAULT_SECONARIES_SKIP_LIST = [
27+
export const DEFAULT_SECONDARIES_SKIP_LIST = [
3028
'@angular/router/upgrade',
3129
'@angular/common/upgrade',
3230
];
@@ -110,7 +108,8 @@ function _findSecondaries(
110108
libPath: string,
111109
excludes: string[],
112110
shareObject: SharedConfig,
113-
acc: Record<string, SharedConfig>
111+
acc: Record<string, SharedConfig>,
112+
preparedSkipList: PreparedSkipList
114113
): void {
115114
const files = fs.readdirSync(libPath);
116115

@@ -129,34 +128,36 @@ function _findSecondaries(
129128
continue;
130129
}
131130

132-
if (isInSkipList(secondaryLibName, PREPARED_DEFAULT_SKIP_LIST)) {
131+
if (isInSkipList(secondaryLibName, preparedSkipList)) {
133132
continue;
134133
}
135134

136135
acc[secondaryLibName] = { ...shareObject };
137136
}
138137

139-
_findSecondaries(s, excludes, shareObject, acc);
138+
_findSecondaries(s, excludes, shareObject, acc, preparedSkipList);
140139
}
141140
}
142141

143142
function findSecondaries(
144143
libPath: string,
145144
excludes: string[],
146-
shareObject: SharedConfig
145+
shareObject: SharedConfig,
146+
preparedSkipList: PreparedSkipList
147147
): Record<string, SharedConfig> {
148148
const acc = {} as Record<string, SharedConfig>;
149-
_findSecondaries(libPath, excludes, shareObject, acc);
149+
_findSecondaries(libPath, excludes, shareObject, acc, preparedSkipList);
150150
return acc;
151151
}
152152

153153
function getSecondaries(
154154
includeSecondaries: IncludeSecondariesOptions,
155155
libPath: string,
156156
key: string,
157-
shareObject: SharedConfig
157+
shareObject: SharedConfig,
158+
preparedSkipList: PreparedSkipList
158159
): Record<string, SharedConfig> | null {
159-
let exclude = [...DEFAULT_SECONARIES_SKIP_LIST];
160+
let exclude = [...DEFAULT_SECONDARIES_SKIP_LIST];
160161

161162
if (typeof includeSecondaries === 'object') {
162163
if (Array.isArray(includeSecondaries.skip)) {
@@ -176,22 +177,29 @@ function getSecondaries(
176177
key,
177178
libPath,
178179
exclude,
179-
shareObject
180+
shareObject,
181+
preparedSkipList
180182
);
181183
if (configured) {
182184
return configured;
183185
}
184186

185187
// Fallback: Search folders
186-
const secondaries = findSecondaries(libPath, exclude, shareObject);
188+
const secondaries = findSecondaries(
189+
libPath,
190+
exclude,
191+
shareObject,
192+
preparedSkipList
193+
);
187194
return secondaries;
188195
}
189196

190197
function readConfiguredSecondaries(
191198
parent: string,
192199
libPath: string,
193200
exclude: string[],
194-
shareObject: SharedConfig
201+
shareObject: SharedConfig,
202+
preparedSkipList: PreparedSkipList
195203
): Record<string, SharedConfig> | null {
196204
const libPackageJson = path.join(libPath, 'package.json');
197205

@@ -232,7 +240,7 @@ function readConfiguredSecondaries(
232240
continue;
233241
}
234242

235-
if (isInSkipList(secondaryName, PREPARED_DEFAULT_SKIP_LIST)) {
243+
if (isInSkipList(secondaryName, preparedSkipList)) {
236244
continue;
237245
}
238246

@@ -350,10 +358,9 @@ export function shareAll(
350358

351359
const versionMaps = getVersionMaps(projectPath, projectPath);
352360
const share: Record<string, unknown> = {};
361+
const preparedSkipList = prepareSkipList(skip);
353362

354363
for (const versions of versionMaps) {
355-
const preparedSkipList = prepareSkipList(skip);
356-
357364
for (const key in versions) {
358365
if (isInSkipList(key, preparedSkipList)) {
359366
continue;
@@ -561,7 +568,8 @@ export function share(
561568
includeSecondaries,
562569
libPath,
563570
key,
564-
shareObject
571+
shareObject,
572+
preparedSkipList
565573
);
566574
if (secondaries) {
567575
addSecondaries(secondaries, result);

libs/native-federation-core/src/lib/core/build-for-federation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export async function buildForFederation(
3636
let artefactInfo: ArtefactInfo | undefined;
3737

3838
if (!buildParams.skipMappingsAndExposed) {
39-
let start = process.hrtime();
39+
const start = process.hrtime();
4040
artefactInfo = await bundleExposedAndMappings(
4141
config,
4242
fedOptions,

libs/native-federation-core/src/lib/core/bundle-exposed-and-mappings.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ export async function bundleExposedAndMappings(
7676
dev: !fedOptions.dev
7777
? undefined
7878
: {
79-
entryPoint: normalize(path.normalize(item.fileName)),
80-
},
79+
entryPoint: normalize(path.normalize(item.fileName)),
80+
},
8181
});
8282
}
8383

@@ -90,10 +90,10 @@ export async function bundleExposedAndMappings(
9090
dev: !fedOptions.dev
9191
? undefined
9292
: {
93-
entryPoint: normalize(
94-
path.join(fedOptions.workspaceRoot, item.fileName)
95-
),
96-
},
93+
entryPoint: normalize(
94+
path.join(fedOptions.workspaceRoot, item.fileName)
95+
),
96+
},
9797
});
9898
}
9999

@@ -117,8 +117,8 @@ export function describeExposed(
117117
dev: !options.dev
118118
? undefined
119119
: {
120-
entryPoint: localPath,
121-
},
120+
entryPoint: localPath,
121+
},
122122
});
123123
}
124124

@@ -142,8 +142,8 @@ export function describeSharedMappings(
142142
dev: !fedOptions.dev
143143
? undefined
144144
: {
145-
entryPoint: normalize(path.normalize(m.path)),
146-
},
145+
entryPoint: normalize(path.normalize(m.path)),
146+
},
147147
});
148148
}
149149

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-core/src/lib/core/default-skip-list.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ export const DEFAULT_SKIP_LIST: SkipList = [
2828
// (pkg) => pkg.startsWith('@angular/common/locales'),
2929
];
3030

31-
export const PREPARED_DEFAULT_SKIP_LIST = prepareSkipList(DEFAULT_SKIP_LIST);
32-
3331
export type PreparedSkipList = {
3432
strings: Set<string>;
3533
functions: SkipFn[];

0 commit comments

Comments
 (0)