From 56957cc292fb9722e3ac4bff7ea6382d31a7ebb1 Mon Sep 17 00:00:00 2001 From: Colum Ferry Date: Wed, 28 Sep 2022 15:55:24 +0100 Subject: [PATCH] cleanup(angular): remove deprecated schema options from app generator (#9821) --- docs/generated/packages/angular.json | 30 ------ .../__snapshots__/application.spec.ts.snap | 24 ----- .../application/application.spec.ts | 94 ------------------- .../src/generators/application/application.ts | 5 - .../src/generators/application/lib/add-mf.ts | 20 ---- .../src/generators/application/lib/index.ts | 1 - .../src/generators/application/schema.d.ts | 20 ---- .../src/generators/application/schema.json | 30 ------ 8 files changed, 224 deletions(-) delete mode 100644 packages/angular/src/generators/application/lib/add-mf.ts diff --git a/docs/generated/packages/angular.json b/docs/generated/packages/angular.json index 0e7b453f68a0d..b9cb35351cf05 100644 --- a/docs/generated/packages/angular.json +++ b/docs/generated/packages/angular.json @@ -204,40 +204,10 @@ "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", "type": "boolean" }, - "mf": { - "description": "Generate a Module Federation configuration for the application", - "type": "boolean", - "default": false, - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "mfType": { - "type": "string", - "enum": ["host", "remote"], - "description": "Type of application to generate the Module Federation configuration for.", - "default": "remote", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "federationType": { - "type": "string", - "enum": ["static", "dynamic"], - "description": "Use either Static or Dynamic Module Federation pattern for the application.", - "default": "static", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, "port": { "type": "number", "description": "The port at which the remote application should be served." }, - "remotes": { - "type": "array", - "description": "A list of remote application names that the host application should consume.", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "host": { - "type": "string", - "description": "The name of the host application that the remote application will be consumed by.", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, "setParserOptionsProject": { "type": "boolean", "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.", diff --git a/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap b/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap index 2381a84905d41..f741a1c8c2ee2 100644 --- a/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap +++ b/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap @@ -1,29 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`app --mf should add a remote application and add it to a specified host applications webpack config that contains a remote application already 1`] = ` -"const { withModuleFederation } = require('@nrwl/angular/module-federation'); -const config = require('./module-federation.config'); -module.exports = withModuleFederation(config);" -`; - -exports[`app --mf should add a remote application and add it to a specified host applications webpack config when no other remote has been added to it 1`] = ` -"const { withModuleFederation } = require('@nrwl/angular/module-federation'); -const config = require('./module-federation.config'); -module.exports = withModuleFederation(config);" -`; - -exports[`app --mf should generate a Module Federation correctly for a each app 1`] = ` -"const { withModuleFederation } = require('@nrwl/angular/module-federation'); -const config = require('./module-federation.config'); -module.exports = withModuleFederation(config);" -`; - -exports[`app --mf should generate a Module Federation correctly for a each app 2`] = ` -"const { withModuleFederation } = require('@nrwl/angular/module-federation'); -const config = require('./module-federation.config'); -module.exports = withModuleFederation(config);" -`; - exports[`app --standalone should generate a standalone app correctly with routing 1`] = ` "import { enableProdMode, importProvidersFrom } from '@angular/core'; import { bootstrapApplication } from '@angular/platform-browser'; diff --git a/packages/angular/src/generators/application/application.spec.ts b/packages/angular/src/generators/application/application.spec.ts index 6d361840fd83a..eb2d9ec61c8b8 100644 --- a/packages/angular/src/generators/application/application.spec.ts +++ b/packages/angular/src/generators/application/application.spec.ts @@ -5,7 +5,6 @@ import { NxJsonConfiguration, parseJson, readJson, - readProjectConfiguration, readWorkspaceConfiguration, updateJson, } from '@nrwl/devkit'; @@ -929,99 +928,6 @@ describe('app', () => { }); }); - describe('--mf', () => { - test.each(['host', 'remote'])( - 'should generate a Module Federation correctly for a each app', - async (type: 'host' | 'remote') => { - await generateApp(appTree, 'my-app', { mf: true, mfType: type }); - - expect(appTree.exists(`apps/my-app/webpack.config.js`)).toBeTruthy(); - expect( - appTree.exists(`apps/my-app/webpack.prod.config.js`) - ).toBeTruthy(); - expect( - appTree.read(`apps/my-app/webpack.config.js`, 'utf-8') - ).toMatchSnapshot(); - } - ); - - test.each(['host', 'remote'])( - 'should update the builder to use webpack-browser', - async (type: 'host' | 'remote') => { - await generateApp(appTree, 'my-app', { mf: true, mfType: type }); - - const projectConfig = readProjectConfiguration(appTree, 'my-app'); - - expect(projectConfig.targets.build.executor).toEqual( - '@nrwl/angular:webpack-browser' - ); - } - ); - - it('should add a remote application and add it to a specified host applications webpack config when no other remote has been added to it', async () => { - // ARRANGE - await generateApp(appTree, 'app1', { - mf: true, - mfType: 'host', - }); - - // ACT - await generateApp(appTree, 'remote1', { - mf: true, - mfType: 'remote', - host: 'app1', - }); - - // ASSERT - const hostWebpackConfig = appTree.read( - 'apps/app1/webpack.config.js', - 'utf-8' - ); - expect(hostWebpackConfig).toMatchSnapshot(); - }); - - it('should add a remote application and add it to a specified host applications webpack config that contains a remote application already', async () => { - // ARRANGE - await generateApp(appTree, 'app1', { - mf: true, - mfType: 'host', - }); - - await generateApp(appTree, 'remote1', { - mf: true, - mfType: 'remote', - host: 'app1', - port: 4201, - }); - - // ACT - await generateApp(appTree, 'remote2', { - mf: true, - mfType: 'remote', - host: 'app1', - port: 4202, - }); - - // ASSERT - const hostWebpackConfig = appTree.read( - 'apps/app1/webpack.config.js', - 'utf-8' - ); - expect(hostWebpackConfig).toMatchSnapshot(); - }); - - it('should add a port to a non-mf app', async () => { - // ACT - await generateApp(appTree, 'app1', { - port: 4205, - }); - - // ASSERT - const projectConfig = readProjectConfiguration(appTree, 'app1'); - expect(projectConfig.targets.serve.options.port).toBe(4205); - }); - }); - describe('--add-tailwind', () => { it('should not add a tailwind.config.js and relevant packages when "--add-tailwind" is not specified', async () => { // ACT diff --git a/packages/angular/src/generators/application/application.ts b/packages/angular/src/generators/application/application.ts index 53eb9b93f30d9..aad3f1a2d7c5e 100644 --- a/packages/angular/src/generators/application/application.ts +++ b/packages/angular/src/generators/application/application.ts @@ -12,7 +12,6 @@ import { setupTailwindGenerator } from '../setup-tailwind/setup-tailwind'; import { addE2e, addLinting, - addMf, addProxyConfig, addRouterRootConfiguration, addUnitTestRunner, @@ -135,10 +134,6 @@ export async function applicationGenerator( convertToStandaloneApp(host, options); } - if (options.mf) { - await addMf(host, options); - } - if (!options.skipFormat) { await formatFiles(host); } diff --git a/packages/angular/src/generators/application/lib/add-mf.ts b/packages/angular/src/generators/application/lib/add-mf.ts deleted file mode 100644 index 638bd53bec72b..0000000000000 --- a/packages/angular/src/generators/application/lib/add-mf.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { Tree } from '@nrwl/devkit'; -import type { NormalizedSchema } from './normalized-schema'; - -import { setupMf } from '../../setup-mf/setup-mf'; - -export async function addMf(host: Tree, options: NormalizedSchema) { - await setupMf(host, { - appName: options.name, - mfType: options.mfType, - port: options.port, - remotes: options.remotes, - host: options.host, - routing: options.routing, - skipFormat: true, - skipPackageJson: options.skipPackageJson, - e2eProjectName: options.e2eProjectName, - federationType: options.federationType, - prefix: options.prefix, - }); -} diff --git a/packages/angular/src/generators/application/lib/index.ts b/packages/angular/src/generators/application/lib/index.ts index babd5ad1dc37b..b2a5b53190c05 100644 --- a/packages/angular/src/generators/application/lib/index.ts +++ b/packages/angular/src/generators/application/lib/index.ts @@ -1,6 +1,5 @@ export * from './add-e2e'; export * from './add-linting'; -export * from './add-mf'; export * from './add-protractor'; export * from './add-proxy-config'; export * from './add-unit-test-runner'; diff --git a/packages/angular/src/generators/application/schema.d.ts b/packages/angular/src/generators/application/schema.d.ts index 3ae6a81bf7b07..62e2ff5b7711a 100644 --- a/packages/angular/src/generators/application/schema.d.ts +++ b/packages/angular/src/generators/application/schema.d.ts @@ -23,30 +23,10 @@ export interface Schema { backendProject?: string; strict?: boolean; standaloneConfig?: boolean; - /** - * @deprecated Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version. - */ - mf?: boolean; - /** - * @deprecated Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version. - */ - mfType?: 'host' | 'remote'; - /** - * @deprecated Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version. - */ - remotes?: string[]; port?: number; - /** - * @deprecated Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version. - */ - host?: string; setParserOptionsProject?: boolean; skipPackageJson?: boolean; skipPostInstall?: boolean; - /** - * @deprecated Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version. - */ - federationType?: 'static' | 'dynamic'; skipDefaultProject?: boolean; standalone?: boolean; } diff --git a/packages/angular/src/generators/application/schema.json b/packages/angular/src/generators/application/schema.json index 5978429cd0901..73a6a5e514fad 100644 --- a/packages/angular/src/generators/application/schema.json +++ b/packages/angular/src/generators/application/schema.json @@ -133,40 +133,10 @@ "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", "type": "boolean" }, - "mf": { - "description": "Generate a Module Federation configuration for the application", - "type": "boolean", - "default": false, - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "mfType": { - "type": "string", - "enum": ["host", "remote"], - "description": "Type of application to generate the Module Federation configuration for.", - "default": "remote", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "federationType": { - "type": "string", - "enum": ["static", "dynamic"], - "description": "Use either Static or Dynamic Module Federation pattern for the application.", - "default": "static", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, "port": { "type": "number", "description": "The port at which the remote application should be served." }, - "remotes": { - "type": "array", - "description": "A list of remote application names that the host application should consume.", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, - "host": { - "type": "string", - "description": "The name of the host application that the remote application will be consumed by.", - "x-deprecated": "Use the `host` or `remote` generators instead. Support for generating Module Federation applications using the application generator will be removed in an upcoming version." - }, "setParserOptionsProject": { "type": "boolean", "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.",