@nx/storybook 23.0.0-beta.20 → 23.0.0-beta.21

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.
Files changed (35) hide show
  1. package/migrations.json +15 -0
  2. package/package.json +8 -8
  3. package/src/executors/build-storybook/build-storybook.impl.d.ts.map +1 -1
  4. package/src/executors/build-storybook/build-storybook.impl.js +0 -4
  5. package/src/executors/storybook/storybook.impl.d.ts.map +1 -1
  6. package/src/executors/storybook/storybook.impl.js +0 -4
  7. package/src/generators/configuration/configuration.d.ts.map +1 -1
  8. package/src/generators/configuration/configuration.js +4 -5
  9. package/src/generators/configuration/lib/ensure-dependencies.d.ts.map +1 -1
  10. package/src/generators/configuration/lib/ensure-dependencies.js +4 -15
  11. package/src/generators/convert-to-inferred/convert-to-inferred.d.ts.map +1 -1
  12. package/src/generators/convert-to-inferred/convert-to-inferred.js +3 -1
  13. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.d.ts.map +1 -1
  14. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.js +1 -4
  15. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.d.ts.map +1 -1
  16. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.js +1 -3
  17. package/src/generators/convert-to-inferred/lib/utils.d.ts +76 -36
  18. package/src/generators/convert-to-inferred/lib/utils.d.ts.map +1 -1
  19. package/src/generators/convert-to-inferred/lib/utils.js +33 -38
  20. package/src/generators/init/init.d.ts.map +1 -1
  21. package/src/generators/init/init.js +3 -1
  22. package/src/generators/init/schema.json +1 -1
  23. package/src/generators/migrate-10/migrate-10.d.ts.map +1 -1
  24. package/src/generators/migrate-10/migrate-10.js +2 -0
  25. package/src/generators/migrate-9/migrate-9.d.ts.map +1 -1
  26. package/src/generators/migrate-9/migrate-9.js +2 -0
  27. package/src/utils/assert-supported-storybook-version.d.ts +3 -0
  28. package/src/utils/assert-supported-storybook-version.d.ts.map +1 -0
  29. package/src/utils/assert-supported-storybook-version.js +8 -0
  30. package/src/utils/utilities.d.ts +1 -4
  31. package/src/utils/utilities.d.ts.map +1 -1
  32. package/src/utils/utilities.js +5 -84
  33. package/src/utils/versions.d.ts +9 -0
  34. package/src/utils/versions.d.ts.map +1 -1
  35. package/src/utils/versions.js +47 -1
package/migrations.json CHANGED
@@ -3,12 +3,18 @@
3
3
  "update-21-2-0-migrate-storybook-v9": {
4
4
  "cli": "nx",
5
5
  "version": "21.2.0-beta.3",
6
+ "requires": {
7
+ "storybook": ">=9.0.0 <10.0.0"
8
+ },
6
9
  "description": "Update workspace to use Storybook v9",
7
10
  "implementation": "./src/migrations/update-21-1-0/update-sb-9"
8
11
  },
9
12
  "update-21-2-0-remove-addon-dependencies": {
10
13
  "cli": "nx",
11
14
  "version": "21.2.0-beta.3",
15
+ "requires": {
16
+ "storybook": ">=9.0.0 <10.0.0"
17
+ },
12
18
  "description": "Remove deprecated Storybook addon dependencies",
13
19
  "implementation": "./src/migrations/update-21-2-0/remove-addon-dependencies"
14
20
  },
@@ -26,6 +32,9 @@
26
32
  "packageJsonUpdates": {
27
33
  "20.2.0": {
28
34
  "version": "20.2.0-beta.5",
35
+ "requires": {
36
+ "storybook": ">=8.0.0 <9.0.0"
37
+ },
29
38
  "packages": {
30
39
  "@storybook/test-runner": {
31
40
  "version": "^0.19.0",
@@ -283,6 +292,9 @@
283
292
  },
284
293
  "20.8.0": {
285
294
  "version": "20.8.0-beta.0",
295
+ "requires": {
296
+ "storybook": ">=8.0.0 <9.0.0"
297
+ },
286
298
  "packages": {
287
299
  "@storybook/test-runner": {
288
300
  "version": "^0.22.0",
@@ -540,6 +552,9 @@
540
552
  },
541
553
  "21.1.0": {
542
554
  "version": "22.1.0-beta.3",
555
+ "requires": {
556
+ "storybook": ">=8.0.0 <9.0.0"
557
+ },
543
558
  "packages": {
544
559
  "@storybook/angular": {
545
560
  "version": "^9.0.5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/storybook",
3
- "version": "23.0.0-beta.20",
3
+ "version": "23.0.0-beta.21",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Storybook contains executors and generators for allowing your workspace to use the powerful Storybook integration testing & documenting capabilities.",
6
6
  "repository": {
@@ -34,21 +34,21 @@
34
34
  "migrations": "./migrations.json"
35
35
  },
36
36
  "dependencies": {
37
- "@nx/devkit": "23.0.0-beta.20",
37
+ "@nx/devkit": "23.0.0-beta.21",
38
38
  "@phenomnomnominal/tsquery": "~6.2.0",
39
39
  "semver": "^7.6.3",
40
40
  "tslib": "^2.3.0",
41
- "@nx/cypress": "23.0.0-beta.20",
42
- "@nx/js": "23.0.0-beta.20",
43
- "@nx/eslint": "23.0.0-beta.20"
41
+ "@nx/cypress": "23.0.0-beta.21",
42
+ "@nx/js": "23.0.0-beta.21",
43
+ "@nx/eslint": "23.0.0-beta.21"
44
44
  },
45
45
  "devDependencies": {
46
- "nx": "23.0.0-beta.20",
46
+ "nx": "23.0.0-beta.21",
47
47
  "storybook": "9.0.6"
48
48
  },
49
49
  "peerDependencies": {
50
- "@nx/web": "23.0.0-beta.20",
51
- "storybook": ">=7.0.0 <11.0.0"
50
+ "@nx/web": "23.0.0-beta.21",
51
+ "storybook": ">=8.0.0 <11.0.0"
52
52
  },
53
53
  "peerDependenciesMeta": {
54
54
  "@nx/web": {
@@ -1 +1 @@
1
- {"version":3,"file":"build-storybook.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/executors/build-storybook/build-storybook.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAU3D,wBAA8B,sBAAsB,CAClD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe;;GAgBzB"}
1
+ {"version":3,"file":"build-storybook.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/executors/build-storybook/build-storybook.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAQ3D,wBAA8B,sBAAsB,CAClD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe;;GAYzB"}
@@ -41,10 +41,6 @@ const deprecation_1 = require("../../utils/deprecation");
41
41
  async function buildStorybookExecutor(options, context) {
42
42
  (0, deprecation_1.warnStorybookBuildExecutorDeprecation)();
43
43
  (0, utilities_1.storybookConfigExistsCheck)(options.configDir, context.projectName);
44
- const storybookMajor = (0, utilities_1.storybookMajorVersion)();
45
- if (storybookMajor > 0 && storybookMajor <= 7) {
46
- throw (0, utilities_1.pleaseUpgrade)();
47
- }
48
44
  const buildOptions = options;
49
45
  devkit_1.logger.info(`NX Storybook builder starting ...`);
50
46
  await runInstance(buildOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"storybook.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/executors/storybook/storybook.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AAOrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D,wBAA+B,iBAAiB,CAC9C,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC,CAqBD"}
1
+ {"version":3,"file":"storybook.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/executors/storybook/storybook.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AAKrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D,wBAA+B,iBAAiB,CAC9C,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC,CAgBD"}
@@ -39,10 +39,6 @@ const semver_1 = require("semver");
39
39
  const deprecation_1 = require("../../utils/deprecation");
40
40
  async function* storybookExecutor(options, context) {
41
41
  (0, deprecation_1.warnStorybookExecutorDeprecation)();
42
- const storybookMajor = (0, utilities_1.storybookMajorVersion)();
43
- if (storybookMajor > 0 && storybookMajor <= 7) {
44
- throw (0, utilities_1.pleaseUpgrade)();
45
- }
46
42
  (0, utilities_1.storybookConfigExistsCheck)(options.configDir, context.projectName);
47
43
  const buildOptions = options;
48
44
  const result = await runInstance(buildOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAKjB,IAAI,EACL,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAwCpD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,wBAAwB,8BAGjC;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,wBAAwB,8BA6KpC;AAwBD,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAKjB,IAAI,EACL,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAuCpD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,wBAAwB,8BAGjC;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,wBAAwB,8BA6KpC;AAwBD,eAAe,sBAAsB,CAAC"}
@@ -6,6 +6,7 @@ const devkit_1 = require("@nx/devkit");
6
6
  const js_1 = require("@nx/js");
7
7
  const init_1 = require("../init/init");
8
8
  const deprecation_1 = require("../../utils/deprecation");
9
+ const assert_supported_storybook_version_1 = require("../../utils/assert-supported-storybook-version");
9
10
  const util_functions_1 = require("./lib/util-functions");
10
11
  const utilities_1 = require("../../utils/utilities");
11
12
  const versions_1 = require("../../utils/versions");
@@ -16,11 +17,9 @@ function configurationGenerator(tree, schema) {
16
17
  return configurationGeneratorInternal(tree, { addPlugin: false, ...schema });
17
18
  }
18
19
  async function configurationGeneratorInternal(tree, rawSchema) {
20
+ (0, assert_supported_storybook_version_1.assertSupportedStorybookVersion)(tree);
19
21
  const storybookMajor = (0, utilities_1.storybookMajorVersion)(tree);
20
- if (storybookMajor > 0 && storybookMajor === 7) {
21
- throw new Error((0, utilities_1.pleaseUpgrade)());
22
- }
23
- else if (storybookMajor === 8) {
22
+ if (storybookMajor === 8) {
24
23
  devkit_1.logger.warn(`Support for Storybook 8 is deprecated. Please upgrade to Storybook 9. See https://nx.dev/nx-api/storybook/generators/migrate-9 for more details.`);
25
24
  }
26
25
  const schema = normalizeSchema(tree, rawSchema);
@@ -117,7 +116,7 @@ async function configurationGeneratorInternal(tree, rawSchema) {
117
116
  // the nxViteTsPaths plugin to register the tsconfig paths in Vite.
118
117
  devDeps['@nx/vite'] = versions_1.nxVersion;
119
118
  }
120
- tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDeps));
119
+ tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDeps, undefined, true));
121
120
  if (!schema.skipFormat) {
122
121
  await (0, devkit_1.formatFiles)(tree);
123
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/configuration/lib/ensure-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAYpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,0CAuFnC"}
1
+ {"version":3,"file":"ensure-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/configuration/lib/ensure-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,0CA8EnC"}
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ensureDependencies = ensureDependencies;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const semver_1 = require("semver");
6
5
  const utilities_1 = require("../../../utils/utilities");
7
6
  const versions_1 = require("../../../utils/versions");
8
7
  function ensureDependencies(tree, options) {
9
8
  const storybookVersionToInstall = (0, utilities_1.getInstalledStorybookVersion)(tree);
10
9
  const installedStorybookMajorVersion = (0, utilities_1.storybookMajorVersion)(tree);
11
10
  const dependencies = {};
12
- const devDependencies = installedStorybookMajorVersion < 9
11
+ // Storybook v8 ships `@storybook/core-server` and `@storybook/addon-essentials`
12
+ // as separate packages; v9 folds them into `storybook`.
13
+ const devDependencies = installedStorybookMajorVersion === 8
13
14
  ? {
14
15
  '@storybook/core-server': storybookVersionToInstall,
15
16
  '@storybook/addon-essentials': storybookVersionToInstall,
@@ -18,18 +19,6 @@ function ensureDependencies(tree, options) {
18
19
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
19
20
  packageJson.dependencies ??= {};
20
21
  packageJson.devDependencies ??= {};
21
- if (!(0, semver_1.gte)((0, semver_1.coerce)(storybookVersionToInstall), '8.0.0')) {
22
- // Needed for Storybook 7
23
- // https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-peer-dependencies-required
24
- if (!packageJson.dependencies['react'] &&
25
- !packageJson.devDependencies['react']) {
26
- dependencies['react'] = versions_1.reactVersion;
27
- }
28
- if (!packageJson.dependencies['react-dom'] &&
29
- !packageJson.devDependencies['react-dom']) {
30
- dependencies['react-dom'] = versions_1.reactVersion;
31
- }
32
- }
33
22
  if (options.uiFramework) {
34
23
  devDependencies[options.uiFramework] = storybookVersionToInstall;
35
24
  const isPnpm = (0, devkit_1.detectPackageManager)(tree.root) === 'pnpm';
@@ -67,5 +56,5 @@ function ensureDependencies(tree, options) {
67
56
  }
68
57
  }
69
58
  }
70
- return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
59
+ return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies, undefined, true);
71
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-inferred.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/convert-to-inferred/convert-to-inferred.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAMpB,UAAU,MAAM;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mDAkDlE;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"convert-to-inferred.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/convert-to-inferred/convert-to-inferred.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAOpB,UAAU,MAAM;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mDAsDlE;AAED,eAAe,iBAAiB,CAAC"}
@@ -7,7 +7,9 @@ const build_post_target_transformer_1 = require("./lib/build-post-target-transfo
7
7
  const serve_post_target_transformer_1 = require("./lib/serve-post-target-transformer");
8
8
  const plugin_1 = require("../../plugins/plugin");
9
9
  const versions_1 = require("../../utils/versions");
10
+ const assert_supported_storybook_version_1 = require("../../utils/assert-supported-storybook-version");
10
11
  async function convertToInferred(tree, options) {
12
+ (0, assert_supported_storybook_version_1.assertSupportedStorybookVersion)(tree);
11
13
  const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
12
14
  const migrationLogs = new internal_1.AggregatedLog();
13
15
  const migratedProjects = await (0, internal_1.migrateProjectExecutorsToPlugin)(tree, projectGraph, '@nx/storybook/plugin', plugin_1.createNodesV2, {
@@ -37,7 +39,7 @@ async function convertToInferred(tree, options) {
37
39
  if (!options.skipFormat) {
38
40
  await (0, devkit_1.formatFiles)(tree);
39
41
  }
40
- const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { storybook: versions_1.storybookVersion });
42
+ const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { storybook: versions_1.storybookVersion }, undefined, true);
41
43
  return (0, devkit_1.runTasksInSerial)(installTask, () => {
42
44
  migrationLogs.flushLogs();
43
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"build-post-target-transformer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/build-post-target-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAGL,aAAa,EACd,MAAM,qBAAqB,CAAC;AAY7B,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,aAAa,IAEnE,QAAQ,mBAAmB,EAC3B,MAAM,IAAI,EACV,gBAAgB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrD,6BAA6B,mBAAmB,8BAgHnD"}
1
+ {"version":3,"file":"build-post-target-transformer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/build-post-target-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAGL,aAAa,EACd,MAAM,qBAAqB,CAAC;AAW7B,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,aAAa,IAEnE,QAAQ,mBAAmB,EAC3B,MAAM,IAAI,EACV,gBAAgB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrD,6BAA6B,mBAAmB,8BAgHnD"}
@@ -5,7 +5,6 @@ const devkit_1 = require("@nx/devkit");
5
5
  const internal_1 = require("@nx/devkit/internal");
6
6
  const tsquery_1 = require("@phenomnomnominal/tsquery");
7
7
  const utils_1 = require("./utils");
8
- const utils_2 = require("./utils");
9
8
  function buildPostTargetTransformer(migrationLogs) {
10
9
  return (target, tree, projectDetails, inferredTargetConfiguration) => {
11
10
  let defaultConfigDir = (0, devkit_1.joinPathFragments)(projectDetails.root, '.storybook');
@@ -87,9 +86,7 @@ function handlePropertiesFromTargetOptions(tree, options, defaultConfigDir, proj
87
86
  moveStaticDirToConfigFile(tree, configDir, projectName, migrationLogs, configDir === defaultConfigDir);
88
87
  delete options.staticDir;
89
88
  }
90
- const storybookPropMappings = (0, utils_2.getInstalledPackageVersionInfo)(tree, 'storybook')?.major === 8
91
- ? utils_1.STORYBOOK_PROP_MAPPINGS.v8
92
- : utils_1.STORYBOOK_PROP_MAPPINGS.v7;
89
+ const storybookPropMappings = (0, utils_1.getStorybookPropMappings)(tree);
93
90
  for (const [prevKey, newKey] of Object.entries(storybookPropMappings)) {
94
91
  if (prevKey in options) {
95
92
  let prevValue = options[prevKey];
@@ -1 +1 @@
1
- {"version":3,"file":"serve-post-target-transformer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/serve-post-target-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAO3E,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,aAAa,IAEnE,QAAQ,mBAAmB,EAC3B,MAAM,IAAI,EACV,gBAAgB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrD,6BAA6B,mBAAmB,8BAyEnD"}
1
+ {"version":3,"file":"serve-post-target-transformer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/serve-post-target-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAM3E,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,aAAa,IAEnE,QAAQ,mBAAmB,EAC3B,MAAM,IAAI,EACV,gBAAgB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrD,6BAA6B,mBAAmB,8BAyEnD"}
@@ -80,9 +80,7 @@ function handlePropertiesFromTargetOptions(tree, options, projectName, projectRo
80
80
  options.docs = options.docsMode;
81
81
  delete options.docsMode;
82
82
  }
83
- const storybookPropMappings = (0, utils_1.getInstalledPackageVersionInfo)(tree, 'storybook')?.major === 8
84
- ? utils_1.STORYBOOK_PROP_MAPPINGS.v8
85
- : utils_1.STORYBOOK_PROP_MAPPINGS.v7;
83
+ const storybookPropMappings = (0, utils_1.getStorybookPropMappings)(tree);
86
84
  for (const [prevKey, newKey] of Object.entries(storybookPropMappings)) {
87
85
  if (prevKey in options) {
88
86
  let prevValue = options[prevKey];
@@ -2,50 +2,90 @@ import { type Tree } from '@nx/devkit';
2
2
  import { AggregatedLog } from '@nx/devkit/internal';
3
3
  export declare function getConfigFilePath(tree: Tree, configDir: string): string;
4
4
  export declare function addConfigValuesToConfigFile(tree: Tree, configFile: string, configValues: Record<string, Record<string, unknown>>): void;
5
+ declare const MODERN_STORYBOOK_PROP_MAPPING: {
6
+ readonly port: "port";
7
+ readonly previewUrl: "preview-url";
8
+ readonly host: "host";
9
+ readonly docs: "docs";
10
+ readonly configDir: "config-dir";
11
+ readonly logLevel: "loglevel";
12
+ readonly quiet: "quiet";
13
+ readonly webpackStatsJson: "stats-json";
14
+ readonly debugWebpack: "debug-webpack";
15
+ readonly disableTelemetry: "disable-telemetry";
16
+ readonly https: "https";
17
+ readonly sslCa: "ssl-ca";
18
+ readonly sslCert: "ssl-cert";
19
+ readonly sslKey: "ssl-key";
20
+ readonly smokeTest: "smoke-test";
21
+ readonly noOpen: "no-open";
22
+ readonly outputDir: "output-dir";
23
+ };
5
24
  export declare const STORYBOOK_PROP_MAPPINGS: {
6
- v7: {
7
- port: string;
8
- previewUrl: string;
9
- host: string;
10
- docs: string;
11
- configDir: string;
12
- logLevel: string;
13
- quiet: string;
14
- webpackStatsJson: string;
15
- debugWebpack: string;
16
- disableTelemetry: string;
17
- https: string;
18
- sslCa: string;
19
- sslCert: string;
20
- sslKey: string;
21
- smokeTest: string;
22
- noOpen: string;
23
- outputDir: string;
25
+ readonly v8: {
26
+ readonly port: "port";
27
+ readonly previewUrl: "preview-url";
28
+ readonly host: "host";
29
+ readonly docs: "docs";
30
+ readonly configDir: "config-dir";
31
+ readonly logLevel: "loglevel";
32
+ readonly quiet: "quiet";
33
+ readonly webpackStatsJson: "stats-json";
34
+ readonly debugWebpack: "debug-webpack";
35
+ readonly disableTelemetry: "disable-telemetry";
36
+ readonly https: "https";
37
+ readonly sslCa: "ssl-ca";
38
+ readonly sslCert: "ssl-cert";
39
+ readonly sslKey: "ssl-key";
40
+ readonly smokeTest: "smoke-test";
41
+ readonly noOpen: "no-open";
42
+ readonly outputDir: "output-dir";
43
+ };
44
+ readonly v9: {
45
+ readonly port: "port";
46
+ readonly previewUrl: "preview-url";
47
+ readonly host: "host";
48
+ readonly docs: "docs";
49
+ readonly configDir: "config-dir";
50
+ readonly logLevel: "loglevel";
51
+ readonly quiet: "quiet";
52
+ readonly webpackStatsJson: "stats-json";
53
+ readonly debugWebpack: "debug-webpack";
54
+ readonly disableTelemetry: "disable-telemetry";
55
+ readonly https: "https";
56
+ readonly sslCa: "ssl-ca";
57
+ readonly sslCert: "ssl-cert";
58
+ readonly sslKey: "ssl-key";
59
+ readonly smokeTest: "smoke-test";
60
+ readonly noOpen: "no-open";
61
+ readonly outputDir: "output-dir";
24
62
  };
25
- v8: {
26
- port: string;
27
- previewUrl: string;
28
- host: string;
29
- docs: string;
30
- configDir: string;
31
- logLevel: string;
32
- quiet: string;
33
- webpackStatsJson: string;
34
- debugWebpack: string;
35
- disableTelemetry: string;
36
- https: string;
37
- sslCa: string;
38
- sslCert: string;
39
- sslKey: string;
40
- smokeTest: string;
41
- noOpen: string;
42
- outputDir: string;
63
+ readonly v10: {
64
+ readonly port: "port";
65
+ readonly previewUrl: "preview-url";
66
+ readonly host: "host";
67
+ readonly docs: "docs";
68
+ readonly configDir: "config-dir";
69
+ readonly logLevel: "loglevel";
70
+ readonly quiet: "quiet";
71
+ readonly webpackStatsJson: "stats-json";
72
+ readonly debugWebpack: "debug-webpack";
73
+ readonly disableTelemetry: "disable-telemetry";
74
+ readonly https: "https";
75
+ readonly sslCa: "ssl-ca";
76
+ readonly sslCert: "ssl-cert";
77
+ readonly sslKey: "ssl-key";
78
+ readonly smokeTest: "smoke-test";
79
+ readonly noOpen: "no-open";
80
+ readonly outputDir: "output-dir";
43
81
  };
44
82
  };
83
+ export declare function getStorybookPropMappings(tree: Tree): typeof MODERN_STORYBOOK_PROP_MAPPING;
45
84
  export declare function ensureViteConfigPathIsRelative(tree: Tree, configPath: string, projectName: string, projectRoot: string, executorName: string, migrationLogs: AggregatedLog): void;
46
85
  export declare function getInstalledPackageVersion(tree: Tree, pkgName: string): string | null;
47
86
  export declare function getInstalledPackageVersionInfo(tree: Tree, pkgName: string): {
48
87
  major: number;
49
88
  version: string;
50
89
  };
90
+ export {};
51
91
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAI3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAS9D;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAgCtD;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCnC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,aAAa,QAmE7B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM;;;EAKzE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/convert-to-inferred/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAI3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAS9D;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAgCtD;AAKD,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;CAkBzB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1B,CAAC;AAEX,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,GACT,OAAO,6BAA6B,CAMtC;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,aAAa,QAmE7B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM;;;EAKzE"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.STORYBOOK_PROP_MAPPINGS = void 0;
4
4
  exports.getConfigFilePath = getConfigFilePath;
5
5
  exports.addConfigValuesToConfigFile = addConfigValuesToConfigFile;
6
+ exports.getStorybookPropMappings = getStorybookPropMappings;
6
7
  exports.ensureViteConfigPathIsRelative = ensureViteConfigPathIsRelative;
7
8
  exports.getInstalledPackageVersion = getInstalledPackageVersion;
8
9
  exports.getInstalledPackageVersionInfo = getInstalledPackageVersionInfo;
@@ -46,46 +47,40 @@ function addConfigValuesToConfigFile(tree, configFile, configValues) {
46
47
  ${configValuesString}
47
48
  ${configFileContents.slice(startPosition)}`);
48
49
  }
50
+ // CLI flag names across Storybook v8 / v9 / v10 are identical (verified against
51
+ // storybook v9 and v10 bundled CLI sources); kept as separate entries so a
52
+ // future divergence per major can be expressed in place.
53
+ const MODERN_STORYBOOK_PROP_MAPPING = {
54
+ port: 'port',
55
+ previewUrl: 'preview-url',
56
+ host: 'host',
57
+ docs: 'docs',
58
+ configDir: 'config-dir',
59
+ logLevel: 'loglevel',
60
+ quiet: 'quiet',
61
+ webpackStatsJson: 'stats-json',
62
+ debugWebpack: 'debug-webpack',
63
+ disableTelemetry: 'disable-telemetry',
64
+ https: 'https',
65
+ sslCa: 'ssl-ca',
66
+ sslCert: 'ssl-cert',
67
+ sslKey: 'ssl-key',
68
+ smokeTest: 'smoke-test',
69
+ noOpen: 'no-open',
70
+ outputDir: 'output-dir',
71
+ };
49
72
  exports.STORYBOOK_PROP_MAPPINGS = {
50
- v7: {
51
- port: 'port',
52
- previewUrl: 'preview-url',
53
- host: 'host',
54
- docs: 'docs',
55
- configDir: 'config-dir',
56
- logLevel: 'loglevel',
57
- quiet: 'quiet',
58
- webpackStatsJson: 'webpack-stats-json',
59
- debugWebpack: 'debug-webpack',
60
- disableTelemetry: 'disable-telemetry',
61
- https: 'https',
62
- sslCa: 'ssl-ca',
63
- sslCert: 'ssl-cert',
64
- sslKey: 'ssl-key',
65
- smokeTest: 'smoke-test',
66
- noOpen: 'no-open',
67
- outputDir: 'output-dir',
68
- },
69
- v8: {
70
- port: 'port',
71
- previewUrl: 'preview-url',
72
- host: 'host',
73
- docs: 'docs',
74
- configDir: 'config-dir',
75
- logLevel: 'loglevel',
76
- quiet: 'quiet',
77
- webpackStatsJson: 'stats-json',
78
- debugWebpack: 'debug-webpack',
79
- disableTelemetry: 'disable-telemetry',
80
- https: 'https',
81
- sslCa: 'ssl-ca',
82
- sslCert: 'ssl-cert',
83
- sslKey: 'ssl-key',
84
- smokeTest: 'smoke-test',
85
- noOpen: 'no-open',
86
- outputDir: 'output-dir',
87
- },
73
+ v8: MODERN_STORYBOOK_PROP_MAPPING,
74
+ v9: MODERN_STORYBOOK_PROP_MAPPING,
75
+ v10: MODERN_STORYBOOK_PROP_MAPPING,
88
76
  };
77
+ function getStorybookPropMappings(tree) {
78
+ const major = getInstalledPackageVersionInfo(tree, 'storybook')?.major;
79
+ const key = `v${major}`;
80
+ // Above-ceiling falls through to the latest known mapping. Below-floor is
81
+ // unreachable: the generator-level floor assert blocks it before this runs.
82
+ return exports.STORYBOOK_PROP_MAPPINGS[key] ?? exports.STORYBOOK_PROP_MAPPINGS.v10;
83
+ }
89
84
  function ensureViteConfigPathIsRelative(tree, configPath, projectName, projectRoot, executorName, migrationLogs) {
90
85
  const configFileContents = tree.read(configPath, 'utf-8');
91
86
  if (configFileContents.includes('viteFinal:')) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/init/init.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,iBAAiB,EAIjB,IAAI,EAGL,MAAM,YAAY,CAAC;AASpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2DlC,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAEvD;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAiErE;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/init/init.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,iBAAiB,EAIjB,IAAI,EAGL,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2DlC,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAEvD;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAmErE;AAED,eAAe,aAAa,CAAC"}
@@ -7,6 +7,7 @@ const devkit_1 = require("@nx/devkit");
7
7
  const plugin_1 = require("../../plugins/plugin");
8
8
  const utilities_1 = require("../../utils/utilities");
9
9
  const versions_1 = require("../../utils/versions");
10
+ const assert_supported_storybook_version_1 = require("../../utils/assert-supported-storybook-version");
10
11
  const update_gitignore_1 = require("./lib/update-gitignore");
11
12
  function checkDependenciesInstalled(host, schema) {
12
13
  const devDependencies = {
@@ -15,7 +16,7 @@ function checkDependenciesInstalled(host, schema) {
15
16
  };
16
17
  const storybookVersionToInstall = (0, utilities_1.getStorybookVersionToInstall)(host);
17
18
  devDependencies['storybook'] = storybookVersionToInstall;
18
- return (0, devkit_1.addDependenciesToPackageJson)(host, {}, devDependencies, undefined, schema.keepExistingVersions);
19
+ return (0, devkit_1.addDependenciesToPackageJson)(host, {}, devDependencies, undefined, schema.keepExistingVersions ?? true);
19
20
  }
20
21
  function addCacheableOperation(tree) {
21
22
  const nxJson = (0, devkit_1.readNxJson)(tree) ?? {};
@@ -45,6 +46,7 @@ function initGenerator(tree, schema) {
45
46
  return initGeneratorInternal(tree, { addPlugin: false, ...schema });
46
47
  }
47
48
  async function initGeneratorInternal(tree, schema) {
49
+ (0, assert_supported_storybook_version_1.assertSupportedStorybookVersion)(tree);
48
50
  const nxJson = (0, devkit_1.readNxJson)(tree);
49
51
  const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' &&
50
52
  nxJson.useInferencePlugins !== false;
@@ -19,7 +19,7 @@
19
19
  "type": "boolean",
20
20
  "x-priority": "internal",
21
21
  "description": "Keep existing dependencies versions",
22
- "default": false
22
+ "default": true
23
23
  },
24
24
  "updatePackageScripts": {
25
25
  "type": "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-10.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/migrate-10/migrate-10.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,IAAI,EAAE,MAAM,YAAY,CAAC;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAmClE;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"migrate-10.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/migrate-10/migrate-10.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,IAAI,EAAE,MAAM,YAAY,CAAC;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAqClE;AAED,eAAe,kBAAkB,CAAC"}
@@ -6,7 +6,9 @@ const output_1 = require("nx/src/utils/output");
6
6
  const calling_storybook_cli_1 = require("./calling-storybook-cli");
7
7
  const path_1 = require("path");
8
8
  const fs_1 = require("fs");
9
+ const assert_supported_storybook_version_1 = require("../../utils/assert-supported-storybook-version");
9
10
  async function migrate10Generator(tree, schema) {
11
+ (0, assert_supported_storybook_version_1.assertSupportedStorybookVersion)(tree);
10
12
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
11
13
  if (!(0, calling_storybook_cli_1.checkStorybookInstalled)(packageJson)) {
12
14
  output_1.output.error({
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-9.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/migrate-9/migrate-9.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,YAAY,CAAC;AAWzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAwCjE;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"migrate-9.d.ts","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/migrate-9/migrate-9.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,YAAY,CAAC;AAWzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBA0CjE;AAED,eAAe,iBAAiB,CAAC"}
@@ -5,7 +5,9 @@ const devkit_1 = require("@nx/devkit");
5
5
  const output_1 = require("nx/src/utils/output");
6
6
  const calling_storybook_cli_1 = require("./calling-storybook-cli");
7
7
  const helper_functions_1 = require("./helper-functions");
8
+ const assert_supported_storybook_version_1 = require("../../utils/assert-supported-storybook-version");
8
9
  async function migrate9Generator(tree, schema) {
10
+ (0, assert_supported_storybook_version_1.assertSupportedStorybookVersion)(tree);
9
11
  schema.versionTag = schema.versionTag ?? 'latest';
10
12
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
11
13
  if (!(0, helper_functions_1.checkStorybookInstalled)(packageJson)) {
@@ -0,0 +1,3 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare function assertSupportedStorybookVersion(tree: Tree): void;
3
+ //# sourceMappingURL=assert-supported-storybook-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-supported-storybook-version.d.ts","sourceRoot":"","sources":["../../../../../packages/storybook/src/utils/assert-supported-storybook-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAMhE"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertSupportedStorybookVersion = assertSupportedStorybookVersion;
4
+ const internal_1 = require("@nx/devkit/internal");
5
+ const versions_1 = require("./versions");
6
+ function assertSupportedStorybookVersion(tree) {
7
+ (0, internal_1.assertSupportedPackageVersion)(tree, 'storybook', versions_1.minSupportedStorybookVersion);
8
+ }
@@ -1,6 +1,7 @@
1
1
  import { TargetConfiguration, Tree } from '@nx/devkit';
2
2
  import { CompilerOptions } from 'typescript';
3
3
  import ts = require('typescript');
4
+ export { storybookMajorVersion, getInstalledStorybookVersion, } from './versions';
4
5
  export declare const Constants: {
5
6
  addonDependencies: string[];
6
7
  tsConfigExclusions: string[];
@@ -9,11 +10,8 @@ export declare const Constants: {
9
10
  };
10
11
  jsonIndentLevel: number;
11
12
  coreAddonPrefix: string;
12
- uiFrameworks7: string[];
13
13
  };
14
14
  export declare function getStorybookVersionToInstall(tree: Tree): string;
15
- export declare function storybookMajorVersion(tree?: Tree): number | undefined;
16
- export declare function getInstalledStorybookVersion(tree?: Tree): string | undefined;
17
15
  export declare function safeFileDelete(tree: Tree, path: string): boolean;
18
16
  export type TsConfig = {
19
17
  extends: string;
@@ -40,5 +38,4 @@ export declare function findStorybookAndBuildTargetsAndCompiler(targets: {
40
38
  };
41
39
  export declare function isTheFileAStory(tree: Tree, path: string): boolean;
42
40
  export declare function getTsSourceFile(host: Tree, path: string): ts.SourceFile;
43
- export declare function pleaseUpgrade(): string;
44
41
  //# sourceMappingURL=utilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../../packages/storybook/src/utils/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,IAAI,EACL,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,GAAG,QAAQ,YAAY,CAAC,CAAC;AAKlC,eAAO,MAAM,SAAS;;;;;;;;;CA0BrB,CAAC;AAGF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,UAatD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAuBrE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAqB5E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOhE;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,IAAI,CAYN;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAEnC;AAED,wBAAgB,uCAAuC,CAAC,OAAO,EAAE;IAC/D,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC;CAC3C,GAAG;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CA2EA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA4CjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAcvE;AAED,wBAAgB,aAAa,IAAI,MAAM,CAQtC"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../../packages/storybook/src/utils/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,GAAG,QAAQ,YAAY,CAAC,CAAC;AAGlC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,SAAS;;;;;;;;CAQrB,CAAC;AAGF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE/D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOhE;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,IAAI,CAYN;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAEnC;AAED,wBAAgB,uCAAuC,CAAC,OAAO,EAAE;IAC/D,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC;CAC3C,GAAG;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CA2EA;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA4CjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAcvE"}
@@ -1,23 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Constants = void 0;
3
+ exports.Constants = exports.getInstalledStorybookVersion = exports.storybookMajorVersion = void 0;
4
4
  exports.getStorybookVersionToInstall = getStorybookVersionToInstall;
5
- exports.storybookMajorVersion = storybookMajorVersion;
6
- exports.getInstalledStorybookVersion = getInstalledStorybookVersion;
7
5
  exports.safeFileDelete = safeFileDelete;
8
6
  exports.storybookConfigExistsCheck = storybookConfigExistsCheck;
9
7
  exports.dedupe = dedupe;
10
8
  exports.findStorybookAndBuildTargetsAndCompiler = findStorybookAndBuildTargetsAndCompiler;
11
9
  exports.isTheFileAStory = isTheFileAStory;
12
10
  exports.getTsSourceFile = getTsSourceFile;
13
- exports.pleaseUpgrade = pleaseUpgrade;
14
- const devkit_1 = require("@nx/devkit");
15
11
  const fs_1 = require("fs");
16
12
  const js_1 = require("@nx/js");
17
13
  const ts = require("typescript");
18
- const semver_1 = require("semver");
19
- const path_1 = require("path");
20
14
  const versions_1 = require("./versions");
15
+ var versions_2 = require("./versions");
16
+ Object.defineProperty(exports, "storybookMajorVersion", { enumerable: true, get: function () { return versions_2.storybookMajorVersion; } });
17
+ Object.defineProperty(exports, "getInstalledStorybookVersion", { enumerable: true, get: function () { return versions_2.getInstalledStorybookVersion; } });
21
18
  exports.Constants = {
22
19
  addonDependencies: ['@storybook/addons'],
23
20
  tsConfigExclusions: ['stories', '**/*.stories.ts'],
@@ -26,76 +23,9 @@ exports.Constants = {
26
23
  },
27
24
  jsonIndentLevel: 2,
28
25
  coreAddonPrefix: '@storybook/addon-',
29
- uiFrameworks7: [
30
- '@storybook/angular',
31
- '@storybook/html-webpack5',
32
- '@storybook/nextjs',
33
- '@storybook/preact-webpack5',
34
- '@storybook/react-webpack5',
35
- '@storybook/react-vite',
36
- '@storybook/server-webpack5',
37
- '@storybook/svelte-webpack5',
38
- '@storybook/svelte-vite',
39
- '@storybook/sveltekit',
40
- '@storybook/vue-webpack5',
41
- '@storybook/vue-vite',
42
- '@storybook/vue3-webpack5',
43
- '@storybook/vue3-vite',
44
- '@storybook/web-components-webpack5',
45
- '@storybook/web-components-vite',
46
- ],
47
26
  };
48
27
  function getStorybookVersionToInstall(tree) {
49
- let storybookVersionToInstall = versions_1.storybookVersion;
50
- const installedStorybookMajorVersion = storybookMajorVersion(tree);
51
- const installedStorybookVersion = getInstalledStorybookVersion(tree);
52
- if (installedStorybookMajorVersion >= 7 && installedStorybookVersion) {
53
- // Normalize the version by removing range operators (^, ~, etc.)
54
- // coerce handles ranges like ^10.0.0 and returns a valid SemVer object
55
- const coercedVersion = (0, semver_1.coerce)(installedStorybookVersion);
56
- if (coercedVersion && (0, semver_1.gte)(coercedVersion.version, '7.0.0')) {
57
- storybookVersionToInstall = installedStorybookVersion;
58
- }
59
- }
60
- return storybookVersionToInstall;
61
- }
62
- function storybookMajorVersion(tree) {
63
- let foundStorybookPackageVersion = null;
64
- if (tree) {
65
- foundStorybookPackageVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'storybook');
66
- }
67
- if (foundStorybookPackageVersion) {
68
- try {
69
- return (0, semver_1.major)(foundStorybookPackageVersion);
70
- }
71
- catch {
72
- // unable to parse, fallback to requiring version from disk
73
- }
74
- }
75
- try {
76
- const storybookPackageVersion = require((0, path_1.join)('storybook', 'package.json')).version;
77
- return (0, semver_1.major)(storybookPackageVersion);
78
- }
79
- catch {
80
- return undefined;
81
- }
82
- }
83
- function getInstalledStorybookVersion(tree) {
84
- let foundStorybookPackageVersion = null;
85
- if (tree) {
86
- foundStorybookPackageVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'storybook');
87
- }
88
- if (foundStorybookPackageVersion) {
89
- return foundStorybookPackageVersion;
90
- }
91
- // unable to find in root packageJson, fallback to requiring version from disk
92
- try {
93
- const storybookPackageVersion = require((0, path_1.join)('storybook', 'package.json')).version;
94
- return storybookPackageVersion;
95
- }
96
- catch {
97
- return undefined;
98
- }
28
+ return (0, versions_1.versions)(tree).storybookVersion;
99
29
  }
100
30
  function safeFileDelete(tree, path) {
101
31
  if (tree.exists(path)) {
@@ -235,12 +165,3 @@ function getTsSourceFile(host, path) {
235
165
  const source = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true);
236
166
  return source;
237
167
  }
238
- function pleaseUpgrade() {
239
- return `
240
- Storybook 7 and lower are no longer maintained, and not supported in Nx.
241
- Please upgrade to Storybook 8.
242
-
243
- Here is a guide on how to upgrade:
244
- https://nx.dev/nx-api/storybook/generators/migrate-8
245
- `;
246
- }
@@ -1,9 +1,18 @@
1
+ import { type Tree } from '@nx/devkit';
1
2
  export declare const nxVersion: any;
2
3
  export declare const litVersion = "^2.6.1";
3
4
  export declare const tsNodeVersion = "10.9.1";
4
5
  export declare const tsLibVersion = "^2.3.0";
6
+ export declare const minSupportedStorybookVersion = "8.0.0";
5
7
  export declare const storybookVersion = "^10.1.0";
6
8
  export declare const reactVersion = "^18.2.0";
7
9
  export declare const viteVersion = "^6.0.0";
8
10
  export declare const coreJsVersion = "^3.36.1";
11
+ type StorybookVersions = {
12
+ storybookVersion: string;
13
+ };
14
+ export declare function versions(tree: Tree): StorybookVersions;
15
+ export declare function storybookMajorVersion(tree?: Tree): number | undefined;
16
+ export declare function getInstalledStorybookVersion(tree?: Tree): string | undefined;
17
+ export {};
9
18
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/storybook/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAC/D,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,eAAO,MAAM,aAAa,YAAY,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/storybook/src/utils/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAI5E,eAAO,MAAM,SAAS,KAAwC,CAAC;AAC/D,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,4BAA4B,UAAU,CAAC;AAGpD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,KAAK,iBAAiB,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAaF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,iBAAiB,CAQtD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAOrE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAc5E"}
@@ -1,11 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coreJsVersion = exports.viteVersion = exports.reactVersion = exports.storybookVersion = exports.tsLibVersion = exports.tsNodeVersion = exports.litVersion = exports.nxVersion = void 0;
3
+ exports.coreJsVersion = exports.viteVersion = exports.reactVersion = exports.storybookVersion = exports.minSupportedStorybookVersion = exports.tsLibVersion = exports.tsNodeVersion = exports.litVersion = exports.nxVersion = void 0;
4
+ exports.versions = versions;
5
+ exports.storybookMajorVersion = storybookMajorVersion;
6
+ exports.getInstalledStorybookVersion = getInstalledStorybookVersion;
7
+ const devkit_1 = require("@nx/devkit");
8
+ const semver_1 = require("semver");
9
+ const path_1 = require("path");
4
10
  exports.nxVersion = require('../../package.json').version;
5
11
  exports.litVersion = '^2.6.1';
6
12
  exports.tsNodeVersion = '10.9.1';
7
13
  exports.tsLibVersion = '^2.3.0';
14
+ exports.minSupportedStorybookVersion = '8.0.0';
15
+ // Fresh-install default. Latest supported major.
8
16
  exports.storybookVersion = '^10.1.0';
9
17
  exports.reactVersion = '^18.2.0';
10
18
  exports.viteVersion = '^6.0.0';
11
19
  exports.coreJsVersion = '^3.36.1';
20
+ const latestVersions = {
21
+ storybookVersion: exports.storybookVersion,
22
+ };
23
+ const versionMap = {
24
+ 8: { storybookVersion: '^8.6.11' },
25
+ 9: { storybookVersion: '^9.0.5' },
26
+ 10: { storybookVersion: '^10.1.0' },
27
+ };
28
+ function versions(tree) {
29
+ const installedStorybookMajor = storybookMajorVersion(tree);
30
+ if (installedStorybookMajor === undefined) {
31
+ return latestVersions;
32
+ }
33
+ return (versionMap[installedStorybookMajor] ?? latestVersions);
34
+ }
35
+ function storybookMajorVersion(tree) {
36
+ const installedVersion = getInstalledStorybookVersion(tree);
37
+ if (!installedVersion) {
38
+ return undefined;
39
+ }
40
+ const coerced = (0, semver_1.coerce)(installedVersion);
41
+ return coerced ? (0, semver_1.major)(coerced) : undefined;
42
+ }
43
+ function getInstalledStorybookVersion(tree) {
44
+ if (tree) {
45
+ const declared = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'storybook');
46
+ if (declared) {
47
+ return declared;
48
+ }
49
+ }
50
+ // Fall back to resolving from disk when no tree declaration is available.
51
+ try {
52
+ return require((0, path_1.join)('storybook', 'package.json')).version;
53
+ }
54
+ catch {
55
+ return undefined;
56
+ }
57
+ }