Skip to content

Commit b98f4ea

Browse files
committed
chore: add migration definitions and AI instructions for Nx v23 updates
1 parent 8b19cc1 commit b98f4ea

19 files changed

Lines changed: 7969 additions & 3785 deletions

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ node_modules
3232
npm-debug.log
3333
yarn-error.log
3434
testem.log
35+
debug-storybook.log
3536
/typings
3637

3738
# System Files
@@ -59,3 +60,8 @@ vitest.config.*.timestamp*
5960
.env.local
6061
.env.*.local
6162
.env
63+
64+
.claude/worktrees
65+
.nx/polygraph
66+
.nx/self-healing
67+
.nx/migrate-runs

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,5 @@ pnpm-lock.yaml
6767
.changeset/*.md
6868
!.changeset/config.json
6969
!.changeset/README.md
70+
71+
.nx/self-healing

demo/jest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default {
1+
module.exports = {
22
displayName: "demo",
33
preset: "../jest.preset.js",
44
passWithNoTests: true,

jest.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Config } from "jest";
2-
import { getJestProjectsAsync } from "@nx/jest";
2+
const { getJestProjectsAsync } = require("@nx/jest");
33

4-
export default async (): Promise<Config> => ({
4+
module.exports = async (): Promise<Config> => ({
55
projects: await getJestProjectsAsync(),
66
});

migrations.json

Lines changed: 361 additions & 0 deletions
Large diffs are not rendered by default.

nx.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
"plugin": "@nx/vite/plugin",
6060
"options": {
6161
"buildTargetName": "build",
62-
"testTargetName": "test",
6362
"serveTargetName": "serve",
6463
"devTargetName": "dev",
6564
"previewTargetName": "preview",
@@ -74,6 +73,12 @@
7473
"options": {
7574
"targetName": "test"
7675
}
76+
},
77+
{
78+
"plugin": "@nx/vitest",
79+
"options": {
80+
"testTargetName": "test"
81+
}
7782
}
7883
],
7984
"release": {
@@ -104,5 +109,6 @@
104109
"linter": "eslint"
105110
}
106111
}
107-
}
112+
},
113+
"analytics": false
108114
}

package.json

Lines changed: 86 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,79 @@
11
{
22
"name": "@ruma-ui/source",
33
"version": "0.1.0-dev.0",
4+
"private": true,
45
"description": "A modern, production-ready React UI component library built with TypeScript, Tailwind CSS, and Nx.",
5-
"license": "MIT",
6-
"author": "Ruma UI",
76
"repository": {
87
"type": "git",
98
"url": "git+https://github.com/ruma-ui/ui.git"
109
},
11-
"private": true,
10+
"license": "MIT",
11+
"author": "Ruma UI",
1212
"scripts": {
13-
"prepare": "husky",
1413
"build": "nx run-many -t build",
15-
"build:ui": "nx build ui",
16-
"build:production": "cross-env NODE_ENV=production nx run-many -t build",
1714
"build:analyze": "cross-env NODE_ENV=analyze nx build ui",
15+
"build:production": "cross-env NODE_ENV=production nx run-many -t build",
16+
"build:ui": "nx build ui",
17+
"build-storybook": "nx build-storybook ui",
18+
"changeset": "changeset",
19+
"changeset:publish": "changeset publish",
20+
"changeset:status": "changeset status",
21+
"changeset:version": "changeset version",
22+
"clean": "nx reset && rm -rf dist coverage docs/api .nx/cache",
23+
"clean:all": "npm run clean && rm -rf node_modules",
1824
"dev": "nx run-many -t dev --parallel=3",
19-
"dev:ui": "nx dev ui",
2025
"dev:demo": "nx dev demo",
26+
"dev:ui": "nx dev ui",
2127
"dev:website": "nx dev website",
22-
"test": "nx run-many -t test",
23-
"test:ui": "nx test ui",
24-
"test:coverage": "nx test ui --coverage",
25-
"test:watch": "nx test ui --watch",
26-
"lint": "nx run-many -t lint",
27-
"lint:fix": "nx run-many -t lint -- --fix",
28-
"format": "prettier --write .",
29-
"format:check": "prettier --check .",
30-
"typecheck": "nx run-many -t typecheck",
31-
"storybook": "nx storybook ui",
32-
"storybook:build": "nx build-storybook ui",
33-
"build-storybook": "nx build-storybook ui",
3428
"docs:api": "typedoc",
3529
"docs:build": "npm run docs:api && npm run storybook:build",
36-
"size": "size-limit",
30+
"format": "prettier --write .",
31+
"format:check": "prettier --check .",
32+
"postinstall": "nx reset",
33+
"lint": "nx run-many -t lint",
34+
"lint:fix": "nx run-many -t lint -- --fix",
3735
"pack:size": "npm run build:production && cd dist/ui && node -e \"const { execSync } = require('child_process'); const out = execSync('npm pack --dry-run --json', { encoding: 'utf8' }); const info = JSON.parse(out)[0]; console.log('Unpacked size:', info.unpackedSize, 'bytes');\"",
38-
"size:analyze": "npm run build:analyze",
39-
"changeset": "changeset",
40-
"changeset:version": "changeset version",
41-
"changeset:publish": "changeset publish",
42-
"changeset:status": "changeset status",
36+
"precommit": "lint-staged",
37+
"prepare": "husky",
4338
"release": "npm run build:production && npm run changeset:publish",
44-
"release:version": "npm run changeset:version && npm run build:production",
39+
"release:dry": "semantic-release --dry-run",
4540
"release:prerelease": "npm run build:production && npm run changeset:publish --tag",
4641
"release:semantic": "semantic-release",
47-
"release:dry": "semantic-release --dry-run",
48-
"clean": "nx reset && rm -rf dist coverage docs/api .nx/cache",
49-
"clean:all": "npm run clean && rm -rf node_modules",
50-
"validate": "npm run lint && npm run typecheck && npm run test && npm run build",
51-
"precommit": "lint-staged",
52-
"postinstall": "nx reset"
42+
"release:version": "npm run changeset:version && npm run build:production",
43+
"size": "size-limit",
44+
"size:analyze": "npm run build:analyze",
45+
"storybook": "nx storybook ui",
46+
"storybook:build": "nx build-storybook ui",
47+
"test": "nx run-many -t test",
48+
"test:coverage": "nx test ui --coverage",
49+
"test:ui": "nx test ui",
50+
"test:watch": "nx test ui --watch",
51+
"typecheck": "nx run-many -t typecheck",
52+
"validate": "npm run lint && npm run typecheck && npm run test && npm run build"
53+
},
54+
"lint-staged": {
55+
"*.{js,jsx,ts,tsx}": [
56+
"eslint --fix",
57+
"prettier --write"
58+
],
59+
"*.{json,md,yml,yaml}": [
60+
"prettier --write"
61+
],
62+
"*.{css,scss}": [
63+
"prettier --write"
64+
]
65+
},
66+
"dependencies": {
67+
"@tailwindcss/postcss": "^4.1.13",
68+
"clsx": "^2.1.1",
69+
"date-fns": "^4.1.0",
70+
"next": "16.1.7",
71+
"react": "19.2.0",
72+
"react-dom": "19.2.0",
73+
"react-icons": "^5.5.0",
74+
"react-router-dom": "7.9.3",
75+
"tailwind-merge": "^3.3.1",
76+
"tw-animate-css": "^1.3.8"
5377
},
5478
"devDependencies": {
5579
"@babel/core": "^7.28.4",
@@ -62,32 +86,32 @@
6286
"@eslint/eslintrc": "^3.3.1",
6387
"@eslint/js": "^9.36.0",
6488
"@next/eslint-plugin-next": "^15.5.3",
65-
"@nx/eslint": "21.6.3",
66-
"@nx/eslint-plugin": "21.6.3",
67-
"@nx/jest": "21.6.3",
68-
"@nx/js": "21.6.3",
69-
"@nx/next": "21.6.3",
70-
"@nx/react": "21.6.3",
71-
"@nx/storybook": "21.6.3",
72-
"@nx/vite": "21.6.3",
73-
"@nx/web": "21.6.3",
74-
"@nx/workspace": "21.6.3",
89+
"@nx/eslint": "23.0.0",
90+
"@nx/eslint-plugin": "23.0.0",
91+
"@nx/jest": "23.0.0",
92+
"@nx/js": "23.0.0",
93+
"@nx/next": "23.0.0",
94+
"@nx/react": "23.0.0",
95+
"@nx/storybook": "23.0.0",
96+
"@nx/vite": "23.0.0",
97+
"@nx/vitest": "23.0.0",
98+
"@nx/web": "23.0.0",
99+
"@nx/workspace": "23.0.0",
75100
"@semantic-release/changelog": "^6.0.3",
76101
"@semantic-release/commit-analyzer": "^13.0.1",
77102
"@semantic-release/git": "^10.0.1",
78103
"@semantic-release/github": "^11.0.6",
79104
"@semantic-release/npm": "^12.0.2",
80105
"@semantic-release/release-notes-generator": "^14.1.0",
81106
"@size-limit/preset-big-lib": "^11.2.0",
82-
"@storybook/addon-a11y": "^9.1.7",
83-
"@storybook/addon-docs": "9.1.10",
84-
"@storybook/react-vite": "9.1.10",
85-
"@storybook/theming": "^8.6.14",
107+
"@storybook/addon-a11y": "^10.4.6",
108+
"@storybook/addon-docs": "10.4.6",
109+
"@storybook/react-vite": "10.4.6",
86110
"@swc-node/core": "^1.14.1",
87111
"@swc-node/register": "~1.11.1",
88-
"@swc/cli": "~0.7.8",
89-
"@swc/core": "~1.13.5",
90-
"@swc/helpers": "~0.5.17",
112+
"@swc/cli": "0.8.1",
113+
"@swc/core": "1.15.8",
114+
"@swc/helpers": "0.5.23",
91115
"@testing-library/dom": "10.4.1",
92116
"@testing-library/jest-dom": "^6.8.0",
93117
"@testing-library/react": "16.3.0",
@@ -96,40 +120,41 @@
96120
"@types/node": "24.7.0",
97121
"@types/react": "19.2.0",
98122
"@types/react-dom": "19.2.0",
99-
"@vitejs/plugin-react": "^5.0.3",
100-
"@vitest/coverage-v8": "^3.2.4",
101-
"@vitest/ui": "^3.2.4",
123+
"@vitejs/plugin-react": "6.0.2",
124+
"@vitest/coverage-v8": "4.1.9",
125+
"@vitest/ui": "4.1.9",
102126
"autoprefixer": "10.4.21",
103-
"babel-jest": "^30.1.2",
127+
"babel-jest": "30.3.0",
128+
"baseline-browser-mapping": "^2.10.38",
104129
"c8": "^10.1.3",
105130
"chromatic": "^13.2.0",
106131
"conventional-changelog-conventionalcommits": "^9.1.0",
107132
"cross-env": "^10.0.0",
108133
"eslint": "^9.36.0",
109-
"eslint-config-next": "^15.5.3",
134+
"eslint-config-next": "16.2.9",
110135
"eslint-config-prettier": "^10.1.8",
111136
"eslint-plugin-import": "2.32.0",
112137
"eslint-plugin-jsx-a11y": "6.10.2",
113138
"eslint-plugin-react": "7.37.5",
114139
"eslint-plugin-react-hooks": "5.2.0",
115-
"eslint-plugin-storybook": "^9.1.7",
140+
"eslint-plugin-storybook": "^10.4.6",
116141
"husky": "^9.1.7",
117-
"jest": "^30.1.3",
142+
"jest": "30.3.0",
118143
"jest-environment-jsdom": "^30.1.2",
119144
"jest-environment-node": "^30.1.2",
120145
"jest-util": "^30.0.5",
121146
"jiti": "2.6.1",
122147
"jsdom": "~27.0.0",
123148
"jsonc-eslint-parser": "^2.4.0",
124149
"lint-staged": "^16.1.6",
125-
"nx": "21.6.3",
150+
"nx": "23.0.0",
126151
"postcss": "8.5.6",
127152
"prettier": "^3.6.2",
128153
"prettier-plugin-tailwindcss": "^0.6.14",
129154
"rollup-plugin-visualizer": "^6.0.3",
130155
"semantic-release": "^24.2.9",
131156
"size-limit": "^11.2.0",
132-
"storybook": "9.1.10",
157+
"storybook": "10.4.6",
133158
"tailwindcss": "4.1.14",
134159
"ts-jest": "^29.4.4",
135160
"ts-node": "10.9.2",
@@ -139,37 +164,13 @@
139164
"typedoc-plugin-missing-exports": "^4.1.0",
140165
"typescript": "~5.9.2",
141166
"typescript-eslint": "^8.44.0",
142-
"verdaccio": "^6.1.6",
143-
"vite": "^7.1.6",
167+
"verdaccio": "6.7.2",
168+
"vite": "8.0.9",
144169
"vite-bundle-analyzer": "^1.2.3",
145170
"vite-plugin-dts": "~4.5.4",
146-
"vitest": "^3.2.4"
147-
},
148-
"dependencies": {
149-
"@tailwindcss/postcss": "^4.1.13",
150-
"clsx": "^2.1.1",
151-
"date-fns": "^4.1.0",
152-
"next": "15.5.4",
153-
"react": "19.2.0",
154-
"react-dom": "19.2.0",
155-
"react-icons": "^5.5.0",
156-
"react-router-dom": "7.9.3",
157-
"tailwind-merge": "^3.3.1",
158-
"tw-animate-css": "^1.3.8"
171+
"vitest": "4.1.9"
159172
},
160173
"nx": {
161174
"includedScripts": []
162-
},
163-
"lint-staged": {
164-
"*.{js,jsx,ts,tsx}": [
165-
"eslint --fix",
166-
"prettier --write"
167-
],
168-
"*.{json,md,yml,yaml}": [
169-
"prettier --write"
170-
],
171-
"*.{css,scss}": [
172-
"prettier --write"
173-
]
174175
}
175176
}

0 commit comments

Comments
 (0)