Skip to content

Commit 6327367

Browse files
committed
feat(nf): use @angular/build builder instead @angular-devkit/build-angular
refactor(nf*): remove useless check builder
1 parent d348e37 commit 6327367

File tree

4 files changed

+43
-48
lines changed

4 files changed

+43
-48
lines changed

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import {
2+
apply,
23
chain,
4+
mergeWith,
5+
move,
36
Rule,
7+
template,
48
Tree,
59
url,
6-
apply,
7-
mergeWith,
8-
template,
9-
move,
1010
} from '@angular-devkit/schematics';
1111

12-
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
1312
import { strings } from '@angular-devkit/core';
13+
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
1414
import * as json5 from 'json5';
1515
import * as semver from 'semver';
1616

@@ -234,7 +234,8 @@ export default function config(options: MfSchematicSchema): Rule {
234234

235235
const buildConfig = projectConfig?.architect?.build;
236236
const isApplicationBuilder =
237-
buildConfig?.builder === '@angular-devkit/build-angular:application';
237+
buildConfig?.builder === '@angular-devkit/build-angular:application' ||
238+
buildConfig?.builder === '@angular/build:application';
238239

239240
if (isApplicationBuilder && !options.skipConfirmation) {
240241
console.warn(

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

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,51 @@
1-
import * as path from 'path';
21
import * as fs from 'fs';
2+
import { existsSync, mkdirSync, rmSync } from 'fs';
33
import * as mrmime from 'mrmime';
4+
import * as path from 'path';
45

5-
import { buildApplication, ApplicationBuilderOptions } from '@angular/build';
6+
import { ApplicationBuilderOptions, buildApplication } from '@angular/build';
67
import {
7-
serveWithVite,
88
buildApplicationInternal,
9+
serveWithVite,
910
} from '@angular/build/private';
1011

1112
import {
1213
BuilderContext,
1314
BuilderOutput,
1415
createBuilder,
16+
targetFromTargetString,
1517
} from '@angular-devkit/architect';
1618

1719
import { normalizeOptions } from '@angular-devkit/build-angular/src/builders/dev-server/options';
1820

19-
import { setLogLevel, logger } from '@softarc/native-federation/build';
20-
21-
import { FederationOptions } from '@softarc/native-federation/build';
22-
import { setBuildAdapter } from '@softarc/native-federation/build';
21+
import {
22+
buildForFederation,
23+
FederationOptions,
24+
getExternals,
25+
loadFederationConfig,
26+
logger,
27+
setBuildAdapter,
28+
setLogLevel,
29+
} from '@softarc/native-federation/build';
2330
import {
2431
createAngularBuildAdapter,
2532
setMemResultHandler,
2633
} from '../../utils/angular-esbuild-adapter';
27-
import { getExternals } from '@softarc/native-federation/build';
28-
import { loadFederationConfig } from '@softarc/native-federation/build';
29-
import { buildForFederation } from '@softarc/native-federation/build';
30-
import { targetFromTargetString } from '@angular-devkit/architect';
3134

3235
import { NfBuilderSchema } from './schema';
3336
import { RebuildHubs } from '../../utils/rebuild-events';
3437
import { updateScriptTags } from '../../utils/updateIndexHtml';
35-
import { existsSync, mkdirSync, rmSync } from 'fs';
38+
import { JsonObject } from '@angular-devkit/core';
3639
import {
3740
EsBuildResult,
3841
MemResults,
3942
NgCliAssetResult,
4043
} from '../../utils/mem-resuts';
41-
import { JsonObject } from '@angular-devkit/core';
4244
import { createSharedMappingsPlugin } from '../../utils/shared-mappings-plugin';
4345
// import { NextHandleFunction } from 'vite';
44-
import { PluginBuild } from 'esbuild';
4546
import { FederationInfo } from '@softarc/native-federation-runtime';
46-
import {
47-
getI18nConfig,
48-
I18nConfig,
49-
translateFederationArtefacts,
50-
} from '../../utils/i18n';
47+
import { PluginBuild } from 'esbuild';
48+
import { getI18nConfig, translateFederationArtefacts } from '../../utils/i18n';
5149

5250
function _buildApplication(options, context, pluginsOrExtensions) {
5351
let extensions;
@@ -136,10 +134,6 @@ export async function* runBuilder(
136134

137135
setLogLevel(options.verbose ? 'verbose' : 'info');
138136

139-
if (!options.outputPath) {
140-
options.outputPath = `dist/${context.target.project}`;
141-
}
142-
143137
const outputPath = options.outputPath;
144138
const outputOptions: Required<
145139
Exclude<ApplicationBuilderOptions['outputPath'], string>
@@ -260,10 +254,7 @@ export async function* runBuilder(
260254
try {
261255
federationResult = await buildForFederation(config, fedOptions, externals);
262256
} catch (e) {
263-
console.error(e);
264-
if (!watch) {
265-
process.exit(1);
266-
}
257+
process.exit(1);
267258
}
268259

269260
const hasLocales = i18n?.locales && Object.keys(i18n.locales).length > 0;
@@ -278,7 +269,7 @@ export async function* runBuilder(
278269

279270
options.deleteOutputPath = false;
280271

281-
const appBuilderName = '@angular-devkit/build-angular:application';
272+
const appBuilderName = '@angular/build:application';
282273

283274
const builderRun = runServer
284275
? serveWithVite(

libs/native-federation/src/schematics/appbuilder/schematic.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ function updateWorkspaceConfig(
4040
}
4141

4242
if (projectConfig.architect.esbuild) {
43-
projectConfig.architect.esbuild.builder =
44-
'@angular-devkit/build-angular:application';
43+
projectConfig.architect.esbuild.builder = '@angular/build:application';
44+
4545
projectConfig.architect.esbuild.options.browser =
4646
projectConfig.architect.esbuild.options.main;
4747
delete projectConfig.architect.esbuild.options.main;

libs/native-federation/src/schematics/init/schematic.ts

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import {
2-
chain,
3-
Rule,
4-
Tree,
5-
url,
62
apply,
3+
chain,
74
mergeWith,
8-
template,
95
move,
106
noop,
7+
Rule,
8+
template,
9+
Tree,
10+
url,
1111
} from '@angular-devkit/schematics';
1212

13-
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
1413
import { strings } from '@angular-devkit/core';
14+
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
1515
import { MfSchematicSchema } from './schema';
1616

1717
import {
@@ -230,11 +230,14 @@ function updateWorkspaceConfig(
230230

231231
const originalBuild = projectConfig.architect.build;
232232

233-
if (originalBuild.builder !== '@angular-devkit/build-angular:application') {
233+
if (
234+
originalBuild.builder !== '@angular-devkit/build-angular:application' ||
235+
originalBuild.builder !== '@angular/build:application'
236+
) {
234237
console.log(
235238
'Switching project to the application builder using esbuild ...'
236239
);
237-
originalBuild.builder = '@angular-devkit/build-angular:application';
240+
originalBuild.builder = '@angular/build:application';
238241
delete originalBuild.configurations?.development?.buildOptimizer;
239242
delete originalBuild.configurations?.development?.vendorChunk;
240243
}
@@ -520,7 +523,7 @@ function makeServerAsync(
520523

521524
const cors = `import { createRequire } from "module";
522525
const require = createRequire(import.meta.url);
523-
const cors = require("cors");
526+
const cors = require("cors");
524527
`;
525528
const mainContent = tree.read(server).toString('utf8');
526529
const updatedContent = (cors + mainContent)
@@ -549,7 +552,7 @@ console.log('Starting SSR for Shell');
549552
remotesOrManifestUrl: '../browser/federation.manifest.json',
550553
relBundlePath: '../browser/',
551554
});
552-
555+
553556
await import('./bootstrap-server');
554557
555558
})();
@@ -566,7 +569,7 @@ console.log('Starting SSR for Shell');
566569
remotesOrManifestUrl: ${manifest},
567570
relBundlePath: '../browser/',
568571
});
569-
572+
570573
await import('./bootstrap-server');
571574
572575
})();
@@ -579,7 +582,7 @@ console.log('Starting SSR for Shell');
579582
await initNodeFederation({
580583
relBundlePath: '../browser/'
581584
});
582-
585+
583586
await import('./bootstrap-server');
584587
585588
})();

0 commit comments

Comments
 (0)