chore: Remove all extra dependencies from the learn app (#42642)

This PR removes all extra deps from the `learn` app. The `learn` app was
copy-pasted from `ui-library` so it had a lot of unneeded deps.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Streamlined project dependencies by removing unused packages, reducing
the overall dependency surface for better performance and
maintainability.
* Enhanced build cleanup process to remove temporary TypeScript build
artifacts alongside existing cleanup tasks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Ivan Vasilov authored and GitHub committed 2026-02-10 09:17:51 -03:30
1 parent 720c00e4e0
commit 3fd58546d6
2 files changed
+7 -307

No files matched your search

+4 -71
View File
@@ -12,105 +12,38 @@
"lint": "eslint .",
"lint:mdx": "supa-mdx-lint content --config ../../supa-mdx-lint.config.toml",
"content:build": "contentlayer2 build",
"clean": "rimraf node_modules .next .turbo",
"clean": "rimraf node_modules .next .turbo tsconfig.tsbuildinfo",
"typecheck": "contentlayer2 build && tsc --noEmit -p tsconfig.json"
},
"dependencies": {
"@hookform/resolvers": "^3.1.1",
"@monaco-editor/react": "^4.6.0",
"@radix-ui/react-accordion": "*",
"@radix-ui/react-alert-dialog": "*",
"@radix-ui/react-aspect-ratio": "*",
"@radix-ui/react-avatar": "*",
"@radix-ui/react-checkbox": "*",
"@radix-ui/react-collapsible": "*",
"@radix-ui/react-context-menu": "*",
"@radix-ui/react-dialog": "*",
"@radix-ui/react-dropdown-menu": "*",
"@radix-ui/react-hover-card": "*",
"@radix-ui/react-label": "*",
"@radix-ui/react-menubar": "*",
"@radix-ui/react-navigation-menu": "*",
"@radix-ui/react-popover": "*",
"@radix-ui/react-progress": "*",
"@radix-ui/react-radio-group": "*",
"@radix-ui/react-scroll-area": "*",
"@radix-ui/react-select": "*",
"@radix-ui/react-separator": "*",
"@radix-ui/react-slider": "*",
"@radix-ui/react-slot": "*",
"@radix-ui/react-switch": "*",
"@radix-ui/react-tabs": "*",
"@radix-ui/react-toast": "*",
"@radix-ui/react-toggle": "*",
"@radix-ui/react-toggle-group": "*",
"@radix-ui/react-tooltip": "*",
"@react-router/fs-routes": "^7.4.0",
"@supabase/postgrest-js": "catalog:",
"@supabase/supa-mdx-lint": "0.2.6-alpha",
"@supabase/vue-blocks": "workspace:*",
"@tanstack/react-query": "^5.83.0",
"axios": "^1.12.0",
"class-variance-authority": "*",
"cmdk": "^1.0.0",
"common": "workspace:*",
"common-tags": "^1.8.2",
"contentlayer2": "0.4.6",
"eslint-config-supabase": "workspace:*",
"framer-motion": "^11.0.3",
"icons": "workspace:*",
"jotai": "^2.8.0",
"lucide-react": "*",
"next": "catalog:",
"next-contentlayer2": "0.4.6",
"next-themes": "^0.3.0",
"openai": "^5.9.0",
"openapi-fetch": "0.12.4",
"react": "catalog:",
"react-docgen": "^7.0.3",
"react-dom": "catalog:",
"react-hook-form": "^7.45.0",
"react-markdown": "^10.1.0",
"react-wrap-balancer": "^1.1.0",
"recharts": "^2.8.0",
"rehype-autolink-headings": "^7.1.0",
"rehype-pretty-code": "^0.9.0",
"rehype-slug": "^6.0.0",
"remark": "^14.0.3",
"remark-code-import": "^1.2.0",
"remark-gfm": "^4.0.0",
"sonner": "^1.5.0",
"ui": "workspace:*",
"ui-patterns": "workspace:*",
"unist-util-visit": "^5.0.0",
"vaul": "^0.9.6",
"zod": "catalog:"
"unist-util-visit": "^5.0.0"
},
"devDependencies": {
"@react-router/dev": "^7.1.5",
"@shikijs/compat": "^1.1.7",
"@supabase/ssr": "^0.7.0",
"@supabase/supabase-js": "catalog:",
"@tanstack/react-router": "^1.114.27",
"@tanstack/react-start": "^1.114.25",
"@types/common-tags": "^1.8.4",
"@types/lodash": "^4.17.16",
"@supabase/supa-mdx-lint": "0.3.1",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"config": "workspace:^",
"dotenv": "^17.2.3",
"lodash": "^4.17.21",
"mdast-util-toc": "^6.1.1",
"postcss": "^8.5.3",
"react-dropzone": "^14.3.8",
"react-router": "^7.5.2",
"rimraf": "^4.1.3",
"shadcn": "^3.0.0",
"shiki": "^1.1.7",
"tailwindcss": "catalog:",
"tsconfig": "workspace:*",
"tsx": "catalog:",
"typescript": "catalog:",
"vite": "catalog:"
"shiki": "^1.1.7"
}
}
+3 -236
View File
@@ -778,135 +778,15 @@ importers:
apps/learn:
dependencies:
'@hookform/resolvers':
specifier: ^3.1.1
version: 3.3.1(react-hook-form@7.47.0(react@18.3.1))
'@monaco-editor/react':
specifier: ^4.6.0
version: 4.7.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-accordion':
specifier: '*'
version: 1.2.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-alert-dialog':
specifier: '*'
version: 1.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-aspect-ratio':
specifier: '*'
version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-avatar':
specifier: '*'
version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-checkbox':
specifier: '*'
version: 1.3.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-collapsible':
specifier: '*'
version: 1.1.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-context-menu':
specifier: '*'
version: 2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-dialog':
specifier: '*'
version: 1.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-dropdown-menu':
specifier: '*'
version: 2.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-hover-card':
specifier: '*'
version: 1.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-label':
specifier: '*'
version: 2.1.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-menubar':
specifier: '*'
version: 1.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-navigation-menu':
specifier: '*'
version: 1.2.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-popover':
specifier: '*'
version: 1.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-progress':
specifier: '*'
version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-radio-group':
specifier: '*'
version: 1.3.8(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-scroll-area':
specifier: '*'
version: 1.2.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-select':
specifier: '*'
version: 2.2.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-separator':
specifier: '*'
version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slider':
specifier: '*'
version: 1.3.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot':
specifier: '*'
version: 1.2.4(@types/react@18.3.3)(react@18.3.1)
'@radix-ui/react-switch':
specifier: '*'
version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-tabs':
specifier: '*'
version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-toast':
specifier: '*'
version: 1.2.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-toggle':
specifier: '*'
version: 1.1.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-toggle-group':
specifier: '*'
version: 1.1.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-tooltip':
specifier: '*'
version: 1.2.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@react-router/fs-routes':
specifier: ^7.4.0
version: 7.4.0(@react-router/dev@7.9.6(@types/node@22.13.14)(@vitejs/plugin-rsc@0.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(jiti@2.5.1)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass@1.77.4)(supports-color@8.1.1)(terser@5.39.0)(tsx@4.20.3)(typescript@5.9.2)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.9.2)
'@supabase/postgrest-js':
specifier: 'catalog:'
version: 2.95.3
'@supabase/supa-mdx-lint':
specifier: 0.2.6-alpha
version: 0.2.6-alpha
'@supabase/vue-blocks':
specifier: workspace:*
version: link:../../blocks/vue
'@tanstack/react-query':
specifier: ^5.83.0
version: 5.83.0(react@18.3.1)
axios:
specifier: ^1.12.0
version: 1.12.2
class-variance-authority:
specifier: '*'
version: 0.6.1
cmdk:
specifier: ^1.0.0
version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
common:
specifier: workspace:*
version: link:../../packages/common
common-tags:
specifier: ^1.8.2
version: 1.8.2
contentlayer2:
specifier: 0.4.6
version: 0.4.6(esbuild@0.25.2)(markdown-wasm@1.2.0)(supports-color@8.1.1)
eslint-config-supabase:
specifier: workspace:*
version: link:../../packages/eslint-config-supabase
framer-motion:
specifier: ^11.0.3
version: 11.11.17(@emotion/is-prop-valid@1.2.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
icons:
specifier: workspace:*
version: link:../../packages/icons
jotai:
specifier: ^2.8.0
version: 2.8.1(@types/react@18.3.3)(react@18.3.1)
@@ -922,33 +802,12 @@ importers:
next-themes:
specifier: ^0.3.0
version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
openai:
specifier: ^5.9.0
version: 5.9.0(ws@8.18.3)(zod@3.25.76)
openapi-fetch:
specifier: 0.12.4
version: 0.12.4
react:
specifier: 'catalog:'
version: 18.3.1
react-docgen:
specifier: ^7.0.3
version: 7.1.1(supports-color@8.1.1)
react-dom:
specifier: 'catalog:'
version: 18.3.1(react@18.3.1)
react-hook-form:
specifier: ^7.45.0
version: 7.47.0(react@18.3.1)
react-markdown:
specifier: ^10.1.0
version: 10.1.0(@types/react@18.3.3)(react@18.3.1)(supports-color@8.1.1)
react-wrap-balancer:
specifier: ^1.1.0
version: 1.1.0(react@18.3.1)
recharts:
specifier: ^2.8.0
version: 2.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rehype-autolink-headings:
specifier: ^7.1.0
version: 7.1.0
@@ -967,9 +826,6 @@ importers:
remark-gfm:
specifier: ^4.0.0
version: 4.0.1(supports-color@8.1.1)
sonner:
specifier: ^1.5.0
version: 1.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
ui:
specifier: workspace:*
version: link:../../packages/ui
@@ -979,88 +835,31 @@ importers:
unist-util-visit:
specifier: ^5.0.0
version: 5.0.0
vaul:
specifier: ^0.9.6
version: 0.9.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
zod:
specifier: 'catalog:'
version: 3.25.76
devDependencies:
'@react-router/dev':
specifier: ^7.1.5
version: 7.9.6(@types/node@22.13.14)(@vitejs/plugin-rsc@0.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1)))(babel-plugin-macros@3.1.0)(jiti@2.5.1)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass@1.77.4)(supports-color@8.1.1)(terser@5.39.0)(tsx@4.20.3)(typescript@5.9.2)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1))(yaml@2.8.1)
'@shikijs/compat':
specifier: ^1.1.7
version: 1.6.0
'@supabase/ssr':
specifier: ^0.7.0
version: 0.7.0(@supabase/supabase-js@2.95.3)
'@supabase/supabase-js':
specifier: 'catalog:'
version: 2.95.3
'@tanstack/react-router':
specifier: ^1.114.27
version: 1.114.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tanstack/react-start':
specifier: ^1.114.25
version: 1.114.27(@electric-sql/pglite@0.2.15)(@tanstack/react-router@1.114.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.13.14)(aws4fetch@1.0.20)(babel-plugin-macros@3.1.0)(db0@0.3.2(@electric-sql/pglite@0.2.15)(drizzle-orm@0.44.7(@electric-sql/pglite@0.2.15)(@opentelemetry/api@1.9.0)(@types/pg@8.15.6)(pg@8.16.3)))(drizzle-orm@0.44.7(@electric-sql/pglite@0.2.15)(@opentelemetry/api@1.9.0)(@types/pg@8.15.6)(pg@8.16.3))(ioredis@5.7.0(supports-color@8.1.1))(jiti@2.5.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)(supports-color@8.1.1)(terser@5.39.0)(tsx@4.20.3)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1))(webpack@5.94.0(esbuild@0.25.2))(yaml@2.8.1)
'@types/common-tags':
specifier: ^1.8.4
version: 1.8.4
'@types/lodash':
specifier: ^4.17.16
version: 4.17.16
'@supabase/supa-mdx-lint':
specifier: 0.3.1
version: 0.3.1
'@types/react':
specifier: 'catalog:'
version: 18.3.3
'@types/react-dom':
specifier: 'catalog:'
version: 18.3.0
config:
specifier: workspace:^
version: link:../../packages/config
dotenv:
specifier: ^17.2.3
version: 17.2.3
lodash:
specifier: ^4.17.23
version: 4.17.23
mdast-util-toc:
specifier: ^6.1.1
version: 6.1.1
postcss:
specifier: ^8.5.3
version: 8.5.6
react-dropzone:
specifier: ^14.3.8
version: 14.3.8(react@18.3.1)
react-router:
specifier: ^7.5.2
version: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rimraf:
specifier: ^4.1.3
version: 4.4.1
shadcn:
specifier: ^3.0.0
version: 3.3.1(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(supports-color@8.1.1)(typescript@5.9.2)
shiki:
specifier: ^1.1.7
version: 1.6.0
tailwindcss:
specifier: 'catalog:'
version: 3.4.1(ts-node@10.9.2(@types/node@22.13.14)(typescript@5.9.2))
tsconfig:
specifier: workspace:*
version: link:../../packages/tsconfig
tsx:
specifier: 'catalog:'
version: 4.20.3
typescript:
specifier: 'catalog:'
version: 5.9.2
vite:
specifier: 'catalog:'
version: 7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1)
apps/studio:
dependencies:
@@ -9619,9 +9418,6 @@ packages:
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
'@types/doctrine@0.0.9':
resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==}
'@types/estree-jsx@1.0.1':
resolution: {integrity: sha512-sHyakZlAezNFxmYRo0fopDZW+XvK6ipeZkkp5EAOLjdPfZp8VjZBJ67vSRI99RSCAoqXVmXOHS4fnWoxpuGQtQ==}
@@ -11978,10 +11774,6 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
@@ -17101,10 +16893,6 @@ packages:
'@types/react':
optional: true
react-docgen@7.1.1:
resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==}
engines: {node: '>=16.14.0'}
react-dom@18.3.1:
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
peerDependencies:
@@ -28946,8 +28734,6 @@ snapshots:
'@types/deep-eql@4.0.2': {}
'@types/doctrine@0.0.9': {}
'@types/estree-jsx@1.0.1':
dependencies:
'@types/estree': 1.0.5
@@ -31673,10 +31459,6 @@ snapshots:
dependencies:
esutils: 2.0.3
doctrine@3.0.0:
dependencies:
esutils: 2.0.3
dom-accessibility-api@0.5.16: {}
dom-accessibility-api@0.6.3: {}
@@ -38127,21 +37909,6 @@ snapshots:
'@types/node': 22.13.14
'@types/react': 18.3.3
react-docgen@7.1.1(supports-color@8.1.1):
dependencies:
'@babel/core': 7.28.4(supports-color@8.1.1)
'@babel/traverse': 7.28.4(supports-color@8.1.1)
'@babel/types': 7.28.4
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.6
'@types/doctrine': 0.0.9
'@types/resolve': 1.20.6
doctrine: 3.0.0
resolve: 1.22.10
strip-indent: 4.0.0
transitivePeerDependencies:
- supports-color
react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0