From 474081a9e1f0cfa3a94e44a87463e765e4a2efc1 Mon Sep 17 00:00:00 2001 From: Brandon Roberts Date: Mon, 13 May 2024 10:29:55 -0700 Subject: [PATCH] fix(nx-plugin): adjust templates/docs for adding Analog to existing Angular projects (#1090) --- apps/docs-app/docs/guides/migrating.md | 6 ++--- .../init/files/vite.config.ts__template__ | 1 - .../src/utils/versions/dependencies.ts | 14 ++++++++++++ .../src/utils/versions/dev-dependencies.ts | 22 ++++++++++++++++++- .../src/utils/versions/ng_15_X/versions.ts | 12 ++++++++++ 5 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 packages/nx-plugin/src/utils/versions/ng_15_X/versions.ts diff --git a/apps/docs-app/docs/guides/migrating.md b/apps/docs-app/docs/guides/migrating.md index 34f09333b..861bb5d13 100644 --- a/apps/docs-app/docs/guides/migrating.md +++ b/apps/docs-app/docs/guides/migrating.md @@ -15,7 +15,7 @@ First, install the `@analogjs/platform` package: ```shell -npm install @analogjs/platform --save-dev +npm install @analogjs/platform nx@18 --save-dev ``` @@ -23,7 +23,7 @@ npm install @analogjs/platform --save-dev ```shell -yarn add @analogjs/platform --dev +yarn add @analogjs/platform nx@18 --dev ``` @@ -31,7 +31,7 @@ yarn add @analogjs/platform --dev ```shell -pnpm install -w @analogjs/platform +pnpm install -w @analogjs/platform nx@18 ``` diff --git a/packages/nx-plugin/src/generators/init/files/vite.config.ts__template__ b/packages/nx-plugin/src/generators/init/files/vite.config.ts__template__ index c9b67288e..aebc45690 100644 --- a/packages/nx-plugin/src/generators/init/files/vite.config.ts__template__ +++ b/packages/nx-plugin/src/generators/init/files/vite.config.ts__template__ @@ -13,7 +13,6 @@ export default defineConfig(({ mode }) => { build: { outDir: '<%= offsetFromRoot %>dist/<%= projectRoot %>/client', reportCompressedSize: true, - commonjsOptions: { transformMixedEsModules: true }, target: ['es2020'], }, plugins: [ diff --git a/packages/nx-plugin/src/utils/versions/dependencies.ts b/packages/nx-plugin/src/utils/versions/dependencies.ts index 65d8a00f6..0a49b7f84 100644 --- a/packages/nx-plugin/src/utils/versions/dependencies.ts +++ b/packages/nx-plugin/src/utils/versions/dependencies.ts @@ -10,6 +10,11 @@ import { V17_X_ANALOG_JS_ROUTER, V17_X_NX_ANGULAR, } from './ng_17_X/versions'; +import { + V15_X_ANALOG_JS_CONTENT, + V15_X_ANALOG_JS_ROUTER, + V15_X_NX_ANGULAR, +} from './ng_15_X/versions'; const dependencyKeys = [ '@analogjs/content', @@ -34,6 +39,15 @@ const getDependencies = (escapedAngularVersion: string) => { throw new Error(stripIndents`Angular v15.0.0 or newer is required.`); } + // install 15.x deps for versions <16.0.0 + if (lt(escapedAngularVersion, '16.0.0')) { + return { + '@analogjs/content': V15_X_ANALOG_JS_CONTENT, + '@analogjs/router': V15_X_ANALOG_JS_ROUTER, + '@nx/angular': V15_X_NX_ANGULAR, + }; + } + // install 16.x deps for versions <17.0.0 if (lt(escapedAngularVersion, '17.0.0')) { return { diff --git a/packages/nx-plugin/src/utils/versions/dev-dependencies.ts b/packages/nx-plugin/src/utils/versions/dev-dependencies.ts index daf8d98c8..84201fe66 100644 --- a/packages/nx-plugin/src/utils/versions/dev-dependencies.ts +++ b/packages/nx-plugin/src/utils/versions/dev-dependencies.ts @@ -16,6 +16,14 @@ import { V17_X_VITE_TSCONFIG_PATHS, V17_X_VITEST, } from './ng_17_X/versions'; +import { + V15_X_ANALOG_JS_PLATFORM, + V15_X_ANALOG_JS_VITE_PLUGIN_ANGULAR, + V15_X_NX_VITE, + V15_X_JSDOM, + V15_X_VITE_TSCONFIG_PATHS, + V15_X_VITEST, +} from './ng_15_X/versions'; const devDependencyKeys = [ '@analogjs/platform', @@ -40,7 +48,19 @@ export const getAnalogDevDependencies = ( const getDevDependencies = (escapedAngularVersion: string) => { // fail out for versions <15.2.0 if (lt(escapedAngularVersion, '15.0.0')) { - throw new Error(stripIndents`Angular v16.0.0 or newer is required.`); + throw new Error(stripIndents`Angular v15.0.0 or newer is required.`); + } + + // install 15.x deps for versions <15.0.0 + if (lt(escapedAngularVersion, '16.0.0')) { + return { + '@analogjs/platform': V15_X_ANALOG_JS_PLATFORM, + '@analogjs/vite-plugin-angular': V15_X_ANALOG_JS_VITE_PLUGIN_ANGULAR, + '@nx/vite': V15_X_NX_VITE, + jsdom: V15_X_JSDOM, + 'vite-tsconfig-paths': V15_X_VITE_TSCONFIG_PATHS, + vitest: V15_X_VITEST, + }; } // install 16.x deps for versions <17.0.0 diff --git a/packages/nx-plugin/src/utils/versions/ng_15_X/versions.ts b/packages/nx-plugin/src/utils/versions/ng_15_X/versions.ts new file mode 100644 index 000000000..ea61929ea --- /dev/null +++ b/packages/nx-plugin/src/utils/versions/ng_15_X/versions.ts @@ -0,0 +1,12 @@ +// V15_X +export const V15_X_ANALOG_JS_ROUTER = '~1.1.0'; +export const V15_X_ANALOG_JS_CONTENT = '~1.1.0'; + +// devDependencies +export const V15_X_ANALOG_JS_PLATFORM = '^1.3.0'; +export const V15_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^1.3.0'; +export const V15_X_NX_ANGULAR = '~18.0.0'; +export const V15_X_NX_VITE = '~18.0.0'; +export const V15_X_JSDOM = '^22.0.0'; +export const V15_X_VITE_TSCONFIG_PATHS = '^4.2.0'; +export const V15_X_VITEST = '^1.3.1';