@nx/node 23.0.0-beta.21 → 23.0.0-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/migrations.json CHANGED
@@ -3,6 +3,22 @@
3
3
  "packageJsonUpdates": {
4
4
  "20.4.0": {
5
5
  "version": "20.4.0-beta.3",
6
+ "packages": {
7
+ "express": {
8
+ "version": "^4.21.2",
9
+ "alwaysAddToPackageJson": false
10
+ },
11
+ "@types/express": {
12
+ "version": "^4.17.21",
13
+ "alwaysAddToPackageJson": false
14
+ }
15
+ }
16
+ },
17
+ "20.4.0-fastify": {
18
+ "version": "20.4.0-beta.3",
19
+ "requires": {
20
+ "fastify": ">=4.0.0 <5.0.0"
21
+ },
6
22
  "packages": {
7
23
  "fastify": {
8
24
  "version": "~5.2.1",
@@ -19,19 +35,14 @@
19
35
  "@fastify/sensible": {
20
36
  "version": "~6.0.2",
21
37
  "alwaysAddToPackageJson": false
22
- },
23
- "express": {
24
- "version": "^4.21.2",
25
- "alwaysAddToPackageJson": false
26
- },
27
- "@types/express": {
28
- "version": "^4.17.21",
29
- "alwaysAddToPackageJson": false
30
38
  }
31
39
  }
32
40
  },
33
41
  "22.0.2": {
34
42
  "version": "22.0.2-beta.0",
43
+ "requires": {
44
+ "koa": ">=2.0.0 <3.0.0"
45
+ },
35
46
  "packages": {
36
47
  "koa": {
37
48
  "version": "^3.0.3",
@@ -46,6 +57,9 @@
46
57
  "22.6.0": {
47
58
  "version": "22.6.0-beta.10",
48
59
  "x-prompt": "Bump koa to ^3.1.2 to resolve CVE-2026-27959 (Host Header Injection)",
60
+ "requires": {
61
+ "koa": ">=3.0.0 <4.0.0"
62
+ },
49
63
  "packages": {
50
64
  "koa": {
51
65
  "version": "^3.1.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/node",
3
- "version": "23.0.0-beta.21",
3
+ "version": "23.0.0-beta.22",
4
4
  "private": false,
5
5
  "description": "The Node Plugin for Nx contains generators to manage Node applications within an Nx workspace.",
6
6
  "repository": {
@@ -33,16 +33,33 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "tslib": "^2.3.0",
36
- "@nx/devkit": "23.0.0-beta.21",
37
- "@nx/jest": "23.0.0-beta.21",
38
- "@nx/js": "23.0.0-beta.21",
39
- "@nx/eslint": "23.0.0-beta.21",
40
- "@nx/docker": "23.0.0-beta.21",
36
+ "@nx/devkit": "23.0.0-beta.22",
37
+ "@nx/jest": "23.0.0-beta.22",
38
+ "@nx/js": "23.0.0-beta.22",
39
+ "@nx/eslint": "23.0.0-beta.22",
40
+ "@nx/docker": "23.0.0-beta.22",
41
+ "semver": "^7.6.3",
41
42
  "tcp-port-used": "^1.0.2",
42
43
  "kill-port": "^1.6.1"
43
44
  },
44
45
  "devDependencies": {
45
- "nx": "23.0.0-beta.21"
46
+ "nx": "23.0.0-beta.22"
47
+ },
48
+ "peerDependencies": {
49
+ "express": ">=4.0.0 <6.0.0",
50
+ "koa": ">=2.0.0 <4.0.0",
51
+ "fastify": ">=4.0.0 <6.0.0"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "express": {
55
+ "optional": true
56
+ },
57
+ "koa": {
58
+ "optional": true
59
+ },
60
+ "fastify": {
61
+ "optional": true
62
+ }
46
63
  },
47
64
  "publishConfig": {
48
65
  "access": "public"
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../packages/node/src/generators/application/application.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EAIjB,IAAI,EAIL,MAAM,YAAY,CAAC;AAapB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAwClC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAMpE;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAwL5E;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../packages/node/src/generators/application/application.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EAIjB,IAAI,EAIL,MAAM,YAAY,CAAC;AAcpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAwClC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAMpE;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BA0L5E;AAED,eAAe,oBAAoB,CAAC"}
@@ -40,6 +40,7 @@ const devkit_1 = require("@nx/devkit");
40
40
  const jest_1 = require("@nx/jest");
41
41
  const js_1 = require("@nx/js");
42
42
  const internal_2 = require("@nx/js/internal");
43
+ const assert_supported_framework_version_1 = require("../../utils/assert-supported-framework-version");
43
44
  const versions_1 = require("../../utils/versions");
44
45
  const e2e_project_1 = require("../e2e-project/e2e-project");
45
46
  const init_1 = require("../init/init");
@@ -81,6 +82,7 @@ async function applicationGenerator(tree, schema) {
81
82
  });
82
83
  }
83
84
  async function applicationGeneratorInternal(tree, schema) {
85
+ (0, assert_supported_framework_version_1.assertSupportedFrameworkVersion)(tree, schema.framework);
84
86
  const tasks = [];
85
87
  const addTsPlugin = (0, internal_2.shouldConfigureTsSolutionSetup)(tree, schema.addPlugin, schema.useTsSolution);
86
88
  const jsInitTask = await (0, js_1.initGenerator)(tree, {
@@ -1 +1 @@
1
- {"version":3,"file":"add-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../packages/node/src/generators/application/lib/add-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGjB,IAAI,EAEL,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,GACxB;IACD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C,CAmDA"}
1
+ {"version":3,"file":"add-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../packages/node/src/generators/application/lib/add-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,IAAI,EACL,MAAM,YAAY,CAAC;AAUpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,GACxB;IACD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C,CA0DA"}
@@ -11,32 +11,36 @@ function addProjectDependencies(tree, options) {
11
11
  },
12
12
  esbuild: {
13
13
  '@nx/esbuild': versions_1.nxVersion,
14
- esbuild: (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'esbuild') ?? internal_1.esbuildVersion,
14
+ esbuild: internal_1.esbuildVersion,
15
15
  },
16
16
  };
17
+ const exprPkgVersions = (0, versions_1.expressVersions)(tree);
18
+ const koaPkgVersions = (0, versions_1.koaVersions)(tree);
19
+ const fastifyPkgVersions = (0, versions_1.fastifyVersions)(tree);
17
20
  const frameworkDependencies = {
18
21
  express: {
19
- express: versions_1.expressVersion,
22
+ express: exprPkgVersions.expressVersion,
20
23
  },
21
24
  koa: {
22
- koa: versions_1.koaVersion,
25
+ koa: koaPkgVersions.koaVersion,
23
26
  },
24
27
  fastify: {
25
- fastify: versions_1.fastifyVersion,
26
- 'fastify-plugin': versions_1.fastifyPluginVersion,
27
- '@fastify/autoload': versions_1.fastifyAutoloadVersion,
28
- '@fastify/sensible': versions_1.fastifySensibleVersion,
28
+ fastify: fastifyPkgVersions.fastifyVersion,
29
+ 'fastify-plugin': fastifyPkgVersions.fastifyPluginVersion,
30
+ '@fastify/autoload': fastifyPkgVersions.fastifyAutoloadVersion,
31
+ '@fastify/sensible': fastifyPkgVersions.fastifySensibleVersion,
29
32
  },
30
33
  };
31
34
  const frameworkDevDependencies = {
32
35
  express: {
33
- '@types/express': versions_1.expressTypingsVersion,
36
+ '@types/express': exprPkgVersions.expressTypingsVersion,
34
37
  },
35
38
  koa: {
36
- '@types/koa': versions_1.koaTypingsVersion,
39
+ '@types/koa': koaPkgVersions.koaTypingsVersion,
37
40
  },
38
41
  fastify: {},
39
42
  };
43
+ const typesNodeVersion = (0, versions_1.nodeTypesVersions)(tree).typesNodeVersion;
40
44
  return {
41
45
  installTask: (0, devkit_1.addDependenciesToPackageJson)(tree, {
42
46
  ...frameworkDependencies[options.framework],
@@ -44,8 +48,8 @@ function addProjectDependencies(tree, options) {
44
48
  }, {
45
49
  ...frameworkDevDependencies[options.framework],
46
50
  ...bundlers[options.bundler],
47
- '@types/node': versions_1.typesNodeVersion,
48
- }),
51
+ '@types/node': typesNodeVersion,
52
+ }, undefined, options.keepExistingVersions ?? true),
49
53
  frameworkDependencies: frameworkDependencies[options.framework],
50
54
  };
51
55
  }
@@ -27,6 +27,7 @@ export interface Schema {
27
27
  addPlugin?: boolean;
28
28
  useTsSolution?: boolean;
29
29
  useProjectJson?: boolean;
30
+ keepExistingVersions?: boolean;
30
31
  }
31
32
 
32
33
  export type NodeJsFrameWorks = 'express' | 'koa' | 'fastify' | 'nest' | 'none';
@@ -132,6 +132,12 @@
132
132
  "useProjectJson": {
133
133
  "type": "boolean",
134
134
  "description": "Use a `project.json` configuration file instead of inlining the Nx configuration in the `package.json` file."
135
+ },
136
+ "keepExistingVersions": {
137
+ "type": "boolean",
138
+ "x-priority": "internal",
139
+ "description": "Keep existing dependencies versions",
140
+ "default": true
135
141
  }
136
142
  },
137
143
  "required": ["directory"]
@@ -6,7 +6,7 @@ const versions_1 = require("../../utils/versions");
6
6
  function updateDependencies(tree, options) {
7
7
  const tasks = [];
8
8
  tasks.push((0, devkit_1.removeDependenciesFromPackageJson)(tree, ['@nx/node'], []));
9
- tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nx/node': versions_1.nxVersion }, undefined, options.keepExistingVersions));
9
+ tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nx/node': versions_1.nxVersion }, undefined, options.keepExistingVersions ?? true));
10
10
  return (0, devkit_1.runTasksInSerial)(...tasks);
11
11
  }
12
12
  async function initGenerator(tree, options) {
@@ -20,7 +20,7 @@
20
20
  "type": "boolean",
21
21
  "x-priority": "internal",
22
22
  "description": "Keep existing dependencies versions",
23
- "default": false
23
+ "default": true
24
24
  }
25
25
  },
26
26
  "required": []
@@ -0,0 +1,6 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare function assertSupportedExpressVersion(tree: Tree): void;
3
+ export declare function assertSupportedKoaVersion(tree: Tree): void;
4
+ export declare function assertSupportedFastifyVersion(tree: Tree): void;
5
+ export declare function assertSupportedFrameworkVersion(tree: Tree, framework: string | undefined): void;
6
+ //# sourceMappingURL=assert-supported-framework-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-supported-framework-version.d.ts","sourceRoot":"","sources":["../../../../../packages/node/src/utils/assert-supported-framework-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAQvC,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE9D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE1D;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE9D;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAQN"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertSupportedExpressVersion = assertSupportedExpressVersion;
4
+ exports.assertSupportedKoaVersion = assertSupportedKoaVersion;
5
+ exports.assertSupportedFastifyVersion = assertSupportedFastifyVersion;
6
+ exports.assertSupportedFrameworkVersion = assertSupportedFrameworkVersion;
7
+ const internal_1 = require("@nx/devkit/internal");
8
+ const versions_1 = require("./versions");
9
+ function assertSupportedExpressVersion(tree) {
10
+ (0, internal_1.assertSupportedPackageVersion)(tree, 'express', versions_1.minSupportedExpressVersion);
11
+ }
12
+ function assertSupportedKoaVersion(tree) {
13
+ (0, internal_1.assertSupportedPackageVersion)(tree, 'koa', versions_1.minSupportedKoaVersion);
14
+ }
15
+ function assertSupportedFastifyVersion(tree) {
16
+ (0, internal_1.assertSupportedPackageVersion)(tree, 'fastify', versions_1.minSupportedFastifyVersion);
17
+ }
18
+ function assertSupportedFrameworkVersion(tree, framework) {
19
+ if (framework === 'express') {
20
+ assertSupportedExpressVersion(tree);
21
+ }
22
+ else if (framework === 'koa') {
23
+ assertSupportedKoaVersion(tree);
24
+ }
25
+ else if (framework === 'fastify') {
26
+ assertSupportedFastifyVersion(tree);
27
+ }
28
+ }
@@ -1,13 +1,44 @@
1
+ import { type Tree } from '@nx/devkit';
1
2
  export declare const nxVersion: any;
2
3
  export declare const tslibVersion = "^2.3.0";
4
+ export declare const minSupportedNodeTypesVersion = "22.0.0";
3
5
  export declare const typesNodeVersion = "^22.0.0";
4
- export declare const expressVersion = "^4.21.2";
5
- export declare const expressTypingsVersion = "^4.17.21";
6
+ type NodeTypesVersions = {
7
+ typesNodeVersion: string;
8
+ };
9
+ export declare function nodeTypesVersions(tree: Tree): NodeTypesVersions;
10
+ export declare function getInstalledNodeTypesVersion(tree?: Tree): string | null;
11
+ export declare const minSupportedExpressVersion = "4.0.0";
12
+ export declare const expressVersion = "^5.1.0";
13
+ export declare const expressTypingsVersion = "^5.0.0";
14
+ type ExpressVersions = {
15
+ expressVersion: string;
16
+ expressTypingsVersion: string;
17
+ };
18
+ export declare function expressVersions(tree: Tree): ExpressVersions;
19
+ export declare function getInstalledExpressVersion(tree?: Tree): string | null;
20
+ export declare const minSupportedKoaVersion = "2.0.0";
6
21
  export declare const koaVersion = "^3.1.2";
7
22
  export declare const koaTypingsVersion = "^3.0.0";
23
+ type KoaVersions = {
24
+ koaVersion: string;
25
+ koaTypingsVersion: string;
26
+ };
27
+ export declare function koaVersions(tree: Tree): KoaVersions;
28
+ export declare function getInstalledKoaVersion(tree?: Tree): string | null;
29
+ export declare const minSupportedFastifyVersion = "4.0.0";
8
30
  export declare const fastifyVersion = "~5.2.1";
9
31
  export declare const fastifyAutoloadVersion = "~6.0.3";
10
32
  export declare const fastifySensibleVersion = "~6.0.2";
11
33
  export declare const fastifyPluginVersion = "~5.0.1";
34
+ type FastifyVersions = {
35
+ fastifyVersion: string;
36
+ fastifyAutoloadVersion: string;
37
+ fastifySensibleVersion: string;
38
+ fastifyPluginVersion: string;
39
+ };
40
+ export declare function fastifyVersions(tree: Tree): FastifyVersions;
41
+ export declare function getInstalledFastifyVersion(tree?: Tree): string | null;
12
42
  export declare const axiosVersion = "^1.6.0";
43
+ export {};
13
44
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/node/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAE/D,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,eAAO,MAAM,YAAY,WAAW,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/node/src/utils/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAOvC,eAAO,MAAM,SAAS,KAAwC,CAAC;AAE/D,eAAO,MAAM,YAAY,WAAW,CAAC;AAIrC,eAAO,MAAM,4BAA4B,WAAW,CAAC;AACrD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,KAAK,iBAAiB,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAQF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,iBAAiB,CAO/D;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAKvE;AAGD,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAClD,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,KAAK,eAAe,GAAG;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAaF,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAO3D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrE;AAGD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAUF,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAOnD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAKjE;AAGD,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAClD,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,KAAK,eAAe,GAAG;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAiBF,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAO3D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,eAAO,MAAM,YAAY,WAAW,CAAC"}
@@ -1,15 +1,126 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.axiosVersion = exports.fastifyPluginVersion = exports.fastifySensibleVersion = exports.fastifyAutoloadVersion = exports.fastifyVersion = exports.koaTypingsVersion = exports.koaVersion = exports.expressTypingsVersion = exports.expressVersion = exports.typesNodeVersion = exports.tslibVersion = exports.nxVersion = void 0;
3
+ exports.axiosVersion = exports.fastifyPluginVersion = exports.fastifySensibleVersion = exports.fastifyAutoloadVersion = exports.fastifyVersion = exports.minSupportedFastifyVersion = exports.koaTypingsVersion = exports.koaVersion = exports.minSupportedKoaVersion = exports.expressTypingsVersion = exports.expressVersion = exports.minSupportedExpressVersion = exports.typesNodeVersion = exports.minSupportedNodeTypesVersion = exports.tslibVersion = exports.nxVersion = void 0;
4
+ exports.nodeTypesVersions = nodeTypesVersions;
5
+ exports.getInstalledNodeTypesVersion = getInstalledNodeTypesVersion;
6
+ exports.expressVersions = expressVersions;
7
+ exports.getInstalledExpressVersion = getInstalledExpressVersion;
8
+ exports.koaVersions = koaVersions;
9
+ exports.getInstalledKoaVersion = getInstalledKoaVersion;
10
+ exports.fastifyVersions = fastifyVersions;
11
+ exports.getInstalledFastifyVersion = getInstalledFastifyVersion;
12
+ const internal_1 = require("@nx/devkit/internal");
13
+ const semver_1 = require("semver");
4
14
  exports.nxVersion = require('../../package.json').version;
5
15
  exports.tslibVersion = '^2.3.0';
16
+ // `@types/node` — supported window covers the active LTS majors (currently v22
17
+ // and v24). Fresh installs default to the active LTS (v22).
18
+ exports.minSupportedNodeTypesVersion = '22.0.0';
6
19
  exports.typesNodeVersion = '^22.0.0';
7
- exports.expressVersion = '^4.21.2';
8
- exports.expressTypingsVersion = '^4.17.21';
20
+ const nodeTypesLatest = { typesNodeVersion: exports.typesNodeVersion };
21
+ const nodeTypesVersionMap = {
22
+ 22: { typesNodeVersion: '^22.0.0' },
23
+ 24: { typesNodeVersion: '^24.0.0' },
24
+ };
25
+ function nodeTypesVersions(tree) {
26
+ const installed = getInstalledNodeTypesVersion(tree);
27
+ if (!installed) {
28
+ return nodeTypesLatest;
29
+ }
30
+ const m = (0, semver_1.major)(installed);
31
+ return nodeTypesVersionMap[m] ?? nodeTypesLatest;
32
+ }
33
+ function getInstalledNodeTypesVersion(tree) {
34
+ if (!tree) {
35
+ return (0, internal_1.getInstalledPackageVersion)('@types/node');
36
+ }
37
+ return (0, internal_1.getDeclaredPackageVersion)(tree, '@types/node');
38
+ }
39
+ // Express — support window v4 + v5 (v4 in MAINT through 2026-10-01, v5 ACTIVE).
40
+ exports.minSupportedExpressVersion = '4.0.0';
41
+ exports.expressVersion = '^5.1.0';
42
+ exports.expressTypingsVersion = '^5.0.0';
43
+ const expressLatest = {
44
+ expressVersion: exports.expressVersion,
45
+ expressTypingsVersion: exports.expressTypingsVersion,
46
+ };
47
+ const expressVersionMap = {
48
+ 4: {
49
+ expressVersion: '^4.21.2',
50
+ expressTypingsVersion: '^4.17.21',
51
+ },
52
+ };
53
+ function expressVersions(tree) {
54
+ const installed = getInstalledExpressVersion(tree);
55
+ if (!installed) {
56
+ return expressLatest;
57
+ }
58
+ const m = (0, semver_1.major)(installed);
59
+ return expressVersionMap[m] ?? expressLatest;
60
+ }
61
+ function getInstalledExpressVersion(tree) {
62
+ if (!tree) {
63
+ return (0, internal_1.getInstalledPackageVersion)('express');
64
+ }
65
+ return (0, internal_1.getDeclaredPackageVersion)(tree, 'express');
66
+ }
67
+ // Koa — no upstream LTS policy; support window v2 + v3 (Rule 2: N & N-1).
68
+ exports.minSupportedKoaVersion = '2.0.0';
9
69
  exports.koaVersion = '^3.1.2';
10
70
  exports.koaTypingsVersion = '^3.0.0';
71
+ const koaLatest = { koaVersion: exports.koaVersion, koaTypingsVersion: exports.koaTypingsVersion };
72
+ const koaVersionMap = {
73
+ 2: {
74
+ koaVersion: '^2.14.1',
75
+ koaTypingsVersion: '^2.13.5',
76
+ },
77
+ };
78
+ function koaVersions(tree) {
79
+ const installed = getInstalledKoaVersion(tree);
80
+ if (!installed) {
81
+ return koaLatest;
82
+ }
83
+ const m = (0, semver_1.major)(installed);
84
+ return koaVersionMap[m] ?? koaLatest;
85
+ }
86
+ function getInstalledKoaVersion(tree) {
87
+ if (!tree) {
88
+ return (0, internal_1.getInstalledPackageVersion)('koa');
89
+ }
90
+ return (0, internal_1.getDeclaredPackageVersion)(tree, 'koa');
91
+ }
92
+ // Fastify — upstream "last 2 majors" policy. Support window v4 + v5.
93
+ exports.minSupportedFastifyVersion = '4.0.0';
11
94
  exports.fastifyVersion = '~5.2.1';
12
95
  exports.fastifyAutoloadVersion = '~6.0.3';
13
96
  exports.fastifySensibleVersion = '~6.0.2';
14
97
  exports.fastifyPluginVersion = '~5.0.1';
98
+ const fastifyLatest = {
99
+ fastifyVersion: exports.fastifyVersion,
100
+ fastifyAutoloadVersion: exports.fastifyAutoloadVersion,
101
+ fastifySensibleVersion: exports.fastifySensibleVersion,
102
+ fastifyPluginVersion: exports.fastifyPluginVersion,
103
+ };
104
+ const fastifyVersionMap = {
105
+ 4: {
106
+ fastifyVersion: '~4.28.1',
107
+ fastifyAutoloadVersion: '~5.10.0',
108
+ fastifySensibleVersion: '~5.6.0',
109
+ fastifyPluginVersion: '~4.5.1',
110
+ },
111
+ };
112
+ function fastifyVersions(tree) {
113
+ const installed = getInstalledFastifyVersion(tree);
114
+ if (!installed) {
115
+ return fastifyLatest;
116
+ }
117
+ const m = (0, semver_1.major)(installed);
118
+ return fastifyVersionMap[m] ?? fastifyLatest;
119
+ }
120
+ function getInstalledFastifyVersion(tree) {
121
+ if (!tree) {
122
+ return (0, internal_1.getInstalledPackageVersion)('fastify');
123
+ }
124
+ return (0, internal_1.getDeclaredPackageVersion)(tree, 'fastify');
125
+ }
15
126
  exports.axiosVersion = '^1.6.0';