nx/nx.json
Colum Ferry e73a1411a0
feat(storybook)!: support storybook 9 (#31172)
## Current Behavior
We currently do not have support for Storybook 9, nor any migrations to
help users switch to it.


## Expected Behavior
Support Storybook 9 and add a migration for users to switch to v9

BREAKING CHANGE: Remove deprecated generators:
`@nx/storybook:cypress-project`,
`@nx/react-native:storybook-configuration`, `@nx/react-native:stories`,
`@nx/react-native:component-story`
2025-06-06 12:51:47 -04:00

378 lines
9.8 KiB
JSON

{
"$schema": "packages/nx/schemas/nx-schema.json",
"namedInputs": {
"default": ["{projectRoot}/**/*", "sharedGlobals"],
"production": [
"default",
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/tsconfig.spec.json",
"!{projectRoot}/jest.config.[jt]s",
"!{projectRoot}/.eslintrc.json",
"!{projectRoot}/.storybook/**/*",
"!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)",
"!{projectRoot}/tsconfig.storybook.json",
"!{projectRoot}/src/test-setup.[jt]s"
],
"sharedGlobals": [
"{workspaceRoot}/babel.config.json",
"{workspaceRoot}/.nx/workflows/agents.yaml",
"{workspaceRoot}/.github/workflows/ci.yml"
],
"native": [
"{projectRoot}/**/*.rs",
"{projectRoot}/**/Cargo.*",
{
"runtime": "node -p '`${process.platform}_${process.arch}`'"
},
{
"runtime": "rustc --version"
},
{
"externalDependencies": ["npm:@monodon/rust", "npm:@napi-rs/cli"]
}
],
"e2eInputs": [
"default",
"{workspaceRoot}/jest.preset.js",
"{workspaceRoot}/.verdaccio/config.yml",
"{workspaceRoot}/scripts/local-registry/**/*",
"{workspaceRoot}/scripts/nx-release.ts",
{
"env": "SELECTED_CLI"
},
{
"env": "SELECTED_PM"
},
{
"env": "NX_E2E_CI_CACHE_KEY"
},
{
"env": "CI"
},
{
"env": "NX_E2E_RUN_E2E"
}
]
},
"release": {
"projects": ["packages/*", "packages/nx/native-packages/*"],
"releaseTagPattern": "{version}",
"changelog": {
"workspaceChangelog": {
"createRelease": "github",
"file": false
},
"git": {
"commit": false,
"stageChanges": false,
"tag": false
}
},
"version": {
"git": {
"commit": false,
"stageChanges": false,
"tag": false
},
"currentVersionResolver": "registry",
"preserveLocalDependencyProtocols": false,
"manifestRootsToUpdate": ["build/packages/{projectName}"],
"versionActionsOptions": {
"skipLockFileUpdate": true
}
}
},
"targetDefaults": {
"nx-release-publish": {
"options": {
"packageRoot": "build/packages/{projectName}"
}
},
"build": {
"dependsOn": ["build-base", "build-native"],
"inputs": ["production", "^production"],
"cache": true
},
"build-native": {
"inputs": ["native"],
"cache": true
},
"build-base": {
"dependsOn": ["^build-base", "build-native"],
"inputs": ["production", "^production"],
"options": {
"outputPath": "build/{projectRoot}",
"tsConfig": "{projectRoot}/tsconfig.lib.json",
"main": "{projectRoot}/index.ts"
},
"outputs": ["{options.outputPath}"],
"cache": true
},
"test-native": {
"inputs": ["native"],
"executor": "@monodon/rust:test",
"options": {},
"cache": true
},
"test": {
"dependsOn": ["test-native", "build-native", "^build-native"],
"inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"],
"options": {
"args": ["--passWithNoTests", "--detectOpenHandles", "--forceExit"]
}
},
"lint": {
"dependsOn": ["build-native", "^build-native"]
},
"e2e": {
"cache": true,
"inputs": ["e2eInputs", "^production"]
},
"e2e-local": {
"cache": true,
"inputs": ["e2eInputs", "^production"],
"dependsOn": [
"@nx/nx-source:populate-local-registry-storage",
"@nx/nx-source:local-registry"
]
},
"e2e-ci": {
"inputs": ["e2eInputs", "^production"]
},
"e2e-macos-local": {
"cache": true,
"inputs": ["e2eInputs", "^production"],
"dependsOn": [
"@nx/nx-source:populate-local-registry-storage",
"@nx/nx-source:local-registry"
]
},
"e2e-macos-ci": {
"inputs": ["e2eInputs", "^production"]
},
"e2e-ci--**/**": {
"inputs": ["e2eInputs", "^production"],
"dependsOn": [
"@nx/nx-source:populate-local-registry-storage",
"@nx/nx-source:local-registry"
]
},
"e2e-macos-ci--**/*": {
"inputs": ["e2eInputs", "^production"],
"dependsOn": [
"@nx/nx-source:populate-local-registry-storage",
"@nx/nx-source:local-registry"
]
},
"e2e-base": {
"inputs": ["default", "^production"]
},
"build-storybook": {
"inputs": [
"default",
"^production",
"{workspaceRoot}/.storybook/**/*",
"{projectRoot}/.storybook/**/*",
"{projectRoot}/tsconfig.storybook.json"
],
"cache": true
},
"build-ng": {
"cache": true
},
"sitemap": {
"cache": true
},
"copy-docs": {
"cache": true
}
},
"plugins": [
"@monodon/rust",
{
"plugin": "@nx/playwright/plugin",
"options": {
"targetName": "pw-e2e",
"ciTargetName": "e2e-ci"
}
},
{
"plugin": "@nx/eslint/plugin",
"exclude": ["packages/**/__fixtures__/**/*"],
"options": {
"targetName": "lint"
}
},
{
"plugin": "@nx/jest/plugin",
"exclude": [
"e2e/**/*",
"packages/**/__fixtures__/**/*",
"jest.config.ts"
],
"options": {
"targetName": "test"
}
},
{
"plugin": "@nx/webpack/plugin",
"options": {
"serveTargetName": "serve-base",
"buildTargetName": "build-client"
}
},
{
"plugin": "@nx/jest/plugin",
"include": ["e2e/**/*"],
"exclude": ["e2e/detox/**/*", "e2e/react-native/**/*", "e2e/expo/**/*"],
"options": {
"targetName": "e2e-local",
"ciTargetName": "e2e-ci"
}
},
{
"plugin": "@nx/jest/plugin",
"include": ["e2e/detox/**/*", "e2e/react-native/**/*", "e2e/expo/**/*"],
"options": {
"targetName": "e2e-macos-local",
"ciTargetName": "e2e-macos-ci"
}
},
{
"plugin": "@nx/next/plugin",
"options": {
"startTargetName": "next:start",
"buildTargetName": "next:build",
"devTargetName": "dev",
"serveStaticTargetName": "serve-static"
}
},
"@nx/enterprise-cloud",
{
"plugin": "@nx/storybook/plugin",
"options": {
"serveStorybookTargetName": "serve:storybook",
"buildStorybookTargetName": "build:storybook",
"testStorybookTargetName": "test-storybook",
"staticStorybookTargetName": "static:storybook"
}
}
],
"nxCloudId": "62d013ea0852fe0a2df74438",
"nxCloudUrl": "https://staging.nx.app",
"parallel": 1,
"bust": 1,
"defaultBase": "master",
"conformance": {
"rules": [
{
"rule": "@nx/workspace-plugin/conformance-rules/blog-description",
"projects": ["docs"],
"options": {
"mdGlobPattern": "{blog,shared}/**/!(sitemap).md"
}
},
{
"rule": "@nx/workspace-plugin/conformance-rules/blog-cover-image",
"projects": ["docs"],
"options": {
"mdGlobPattern": "blog/**/!(sitemap).md"
}
},
{
"rule": "@nx/workspace-plugin/conformance-rules/project-package-json",
"projects": [
"!.",
"!create-nx-*",
"!cypress",
"!detox",
"!devkit",
"!esbuild",
"!eslint-plugin",
"!eslint",
"!expo",
"!express",
"!jest",
"!js",
"!module-federation",
"!nest",
"!next",
"!node",
"!nuxt",
"!packages/nx/**",
"!plugin",
"!react-native",
"!react",
"!rollup",
"!rsbuild",
"!rspack",
"!storybook",
"!vue",
"!web",
"!webpack",
"!workspace"
]
},
{
"rule": "@nx/workspace-plugin/conformance-rules/migration-groups",
"options": {
"versionRange": ">= 19.8",
"groups": [
["angular-eslint"],
[
"@angular-eslint/eslint-plugin",
"@angular-eslint/eslint-plugin-template",
"@angular-eslint/template-parser",
"@angular-eslint/utils",
"@angular-eslint/schematics",
"@angular-eslint/test-utils",
"@angular-eslint/builder",
"@angular-eslint/bundled-angular-compiler"
],
[
"typescript-eslint",
"@typescript-eslint/eslint-plugin",
"@typescript-eslint/parser",
"@typescript-eslint/utils",
"@typescript-eslint/rule-tester",
"@typescript-eslint/scope-manager",
"@typescript-eslint/typescript-estree"
],
[
"@storybook/addon-onboarding",
"@storybook/addon-themes",
"@storybook/angular",
"@storybook/builder-webpack5",
"@storybook/core-webpack",
"@storybook/html",
"@storybook/html-vite",
"@storybook/nextjs",
"@storybook/preact",
"@storybook/preact-vite",
"@storybook/react",
"@storybook/react-vite",
"@storybook/react-webpack5",
"@storybook/server",
"@storybook/server-webpack5",
"@storybook/svelte",
"@storybook/svelte-vite",
"@storybook/sveltekit",
"@storybook/vue3",
"@storybook/vue3-vite",
"@storybook/web-components",
"@storybook/web-components-vite"
]
]
}
}
]
},
"generators": {
"@nx/react": {
"library": {
"unitTestRunner": "jest"
}
}
}
}