Skip to content

Commit c932c5e

Browse files
Merge pull request #567 from GregOnNet/feature/angular-18-support
Feature: Add support for Angular 18
2 parents cccb9a4 + 257b99f commit c932c5e

File tree

7 files changed

+7179
-4890
lines changed

7 files changed

+7179
-4890
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,9 @@ testem.log
3838
.DS_Store
3939
Thumbs.db
4040

41+
# Nx
4142
.nx/cache
43+
migrations.json
44+
45+
# Angular
4246
.angular

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

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@ import * as path from 'path';
22
import * as fs from 'fs';
33
import * as mrmime from 'mrmime';
44

5+
import { ApplicationBuilderOptions } from '@angular/build/src/builders/application';
6+
import { Schema } from '@angular/build/src/builders/application/schema';
7+
58
import {
69
BuilderContext,
710
BuilderOutput,
811
createBuilder,
912
} from '@angular-devkit/architect';
1013

11-
import { Schema } from '@angular-devkit/build-angular/src/builders/application/schema';
14+
import { buildApplication } from '@angular-devkit/build-angular';
1215

1316
import {
14-
buildApplication,
15-
ApplicationBuilderOptions,
16-
} from '@angular-devkit/build-angular/src/builders/application';
17-
18-
import { serveWithVite } from '@angular-devkit/build-angular/src/builders/dev-server/vite-server';
19-
import { DevServerBuilderOptions } from '@angular-devkit/build-angular/src/builders/dev-server';
17+
executeDevServerBuilder,
18+
DevServerBuilderOptions,
19+
} from '@angular-devkit/build-angular';
2020
import { normalizeOptions } from '@angular-devkit/build-angular/src/builders/dev-server/options';
2121

2222
import { setLogLevel, logger } from '@softarc/native-federation/build';
@@ -215,18 +215,17 @@ export async function* runBuilder(
215215

216216
options.deleteOutputPath = false;
217217

218-
const appBuilderName = '@angular-devkit/build-angular:application';
219-
218+
// TODO: Clarify how DevServer needs to be executed. Not sure if its right.
219+
// TODO: Clarify if buildApplication is needed `executeDevServerBuilder` seems to choose the correct DevServer
220220
const builderRun = nfOptions.dev
221-
? serveWithVite(
222-
normOuterOptions,
223-
appBuilderName,
221+
? executeDevServerBuilder(
222+
options,
224223
context,
225-
nfOptions.skipHtmlTransform
226-
? {}
227-
: {
228-
indexHtml: transformIndexHtml(nfOptions),
229-
},
224+
{
225+
indexHtml: nfOptions.skipHtmlTransform
226+
? {}
227+
: { indexHtml: transformIndexHtml(nfOptions) },
228+
},
230229
{
231230
buildPlugins: plugins,
232231
middleware,

libs/native-federation/src/utils/angular-esbuild-adapter.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,37 @@ import {
33
logger,
44
MappedPath,
55
} from '@softarc/native-federation/build';
6-
import * as esbuild from 'esbuild';
7-
import { createCompilerPlugin } from '@angular-devkit/build-angular/src/tools/esbuild/angular/compiler-plugin';
8-
9-
import { BuilderContext } from '@angular-devkit/architect';
106

11-
import { transformSupportedBrowsersToTargets } from './transform';
7+
import * as esbuild from 'esbuild';
128

13-
// TODO: Use this import instead in next version:
14-
// import {
15-
// transformSupportedBrowsersToTargets
16-
// } from '@angular-devkit/build-angular/src/tools/esbuild/utils';
9+
import { createCompilerPlugin } from '@angular/build/src/tools/esbuild/angular/compiler-plugin';
10+
import { createCompilerPluginOptions } from '@angular/build/src/tools/esbuild/compiler-plugin-options';
11+
import { transformSupportedBrowsersToTargets } from '@angular/build/src/tools/esbuild/utils';
12+
import { getSupportedBrowsers } from '@angular/build/src/utils/supported-browsers';
1713

18-
import { createCompilerPluginOptions } from '@angular-devkit/build-angular/src/tools/esbuild/compiler-plugin-options';
14+
import { BuilderContext } from '@angular-devkit/architect';
1915

2016
import { findTailwindConfigurationFile } from '@angular-devkit/build-angular/src/utils/tailwind';
2117

22-
import { getSupportedBrowsers } from '@angular-devkit/build-angular/src/utils/supported-browsers';
2318
import {
2419
normalizeOptimization,
2520
normalizeSourceMaps,
2621
} from '@angular-devkit/build-angular/src/utils';
2722
import { createRequire } from 'node:module';
2823

29-
import { ApplicationBuilderOptions as AppBuilderSchema } from '@angular-devkit/build-angular/src/builders/application';
24+
import { ApplicationBuilderOptions } from '@angular/build/src/builders/application';
3025

31-
import { createSharedMappingsPlugin } from './shared-mappings-plugin';
3226
import * as fs from 'fs';
3327
import * as path from 'path';
28+
import { createSharedMappingsPlugin } from './shared-mappings-plugin';
3429

3530
import { PluginItem, transformAsync } from '@babel/core';
36-
import { RebuildEvents, RebuildHubs } from './rebuild-events';
3731
import {
3832
BuildKind,
3933
BuildResult,
4034
EntryPoint,
4135
} from '@softarc/native-federation/src/lib/core/build-adapter';
36+
import { RebuildEvents, RebuildHubs } from './rebuild-events';
4237

4338
// const fesmFolderRegExp = /[/\\]fesm\d+[/\\]/;
4439

@@ -54,7 +49,7 @@ export function setMemResultHandler(handler: MemResultHandler): void {
5449
}
5550

5651
export function createAngularBuildAdapter(
57-
builderOptions: AppBuilderSchema,
52+
builderOptions: ApplicationBuilderOptions,
5853
context: BuilderContext,
5954
rebuildRequested: RebuildEvents = new RebuildHubs()
6055
): BuildAdapter {
@@ -166,7 +161,7 @@ export function createAngularBuildAdapter(
166161
}
167162

168163
async function runEsbuild(
169-
builderOptions: AppBuilderSchema,
164+
builderOptions: ApplicationBuilderOptions,
170165
context: BuilderContext,
171166
entryPoints: EntryPoint[],
172167
external: string[],

libs/native-federation/src/utils/transform.ts

Lines changed: 0 additions & 49 deletions
This file was deleted.

migrations.json

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)