diff --git a/apps/website/app/nx-welcome.tsx b/apps/website/app/nx-welcome.tsx
index 263d11eed..0b593b0bb 100644
--- a/apps/website/app/nx-welcome.tsx
+++ b/apps/website/app/nx-welcome.tsx
@@ -427,7 +427,7 @@ export function NxWelcome({ title }: { title: string }) {
`,
}}
/>
-
+
diff --git a/apps/website/app/root.tsx b/apps/website/app/root.tsx
index 732a06172..c675d59d0 100644
--- a/apps/website/app/root.tsx
+++ b/apps/website/app/root.tsx
@@ -1,4 +1,4 @@
-import type { LinksFunction, MetaFunction } from '@remix-run/node'
+import type { LinksFunction } from '@remix-run/node'
import {
Links,
@@ -7,16 +7,10 @@ import {
Scripts,
ScrollRestoration,
} from '@remix-run/react'
-import twStyles from './tailwind.css'
-export const meta: MetaFunction = () => [
- {
- title: 'New Remix App',
- },
-]
+import '@cuhacking/utils/global.css'
export const links: LinksFunction = () => [
- { rel: 'stylesheet', href: twStyles },
{ rel: 'preconnect', href: 'https://fonts.googleapis.com' },
{
rel: 'preconnect',
diff --git a/apps/website/app/routes/_index.tsx b/apps/website/app/routes/_index.tsx
index 705754bd1..c16594d1b 100644
--- a/apps/website/app/routes/_index.tsx
+++ b/apps/website/app/routes/_index.tsx
@@ -3,8 +3,8 @@ import NxWelcome from '../nx-welcome'
export const meta: MetaFunction = () => {
return [
- { title: 'New Remix App' },
- { name: 'description', content: 'Welcome to Remix!' },
+ { title: 'cuHacking 2025' },
+ { name: 'description', content: 'Carleton University\'s Official Hackathon.' },
]
}
diff --git a/apps/website/app/tailwind.css b/apps/website/app/tailwind.css
deleted file mode 100644
index b5c61c956..000000000
--- a/apps/website/app/tailwind.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/apps/website/tailwind.config.ts b/apps/website/tailwind.config.ts
index a4d6aa157..464851773 100644
--- a/apps/website/tailwind.config.ts
+++ b/apps/website/tailwind.config.ts
@@ -1,13 +1,17 @@
-import type { Config } from 'tailwindcss'
-import { createGlobPatternsForDependencies } from '@nx/react/tailwind'
+// import type { Config } from 'tailwindcss'
+// import { createGlobPatternsForDependencies } from '@nx/react/tailwind'
-export default {
- content: [
- './app/**/*.{js,jsx,ts,tsx}',
- ...createGlobPatternsForDependencies(__dirname),
- ],
- theme: {
- extend: {},
- },
- plugins: [],
-} satisfies Config
+// export default {
+// content: [
+// './app/**/*.{js,jsx,ts,tsx}',
+// ...createGlobPatternsForDependencies(__dirname),
+// ],
+// theme: {
+// extend: {},
+// },
+// plugins: [],
+// } satisfies Config
+
+import { buildConfig } from '../../libs/shared/utils/src/tailwind.config'
+
+export default buildConfig(__dirname)
diff --git a/components.json b/components.json
new file mode 100644
index 000000000..f088bad18
--- /dev/null
+++ b/components.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": false,
+ "tailwind": {
+ "config": "libs/shared/utils/tailwind.config.js",
+ "css": "libs/shared/utils/global.css",
+ "baseColor": "neutral",
+ "cssVariables": true
+ },
+ "aliases": {
+ "components": "@cuhacking/ui",
+ "utils": "@cuhacking/utils"
+ }
+}
diff --git a/libs/shared/config/tailwind/base.js b/libs/shared/config/tailwind/base.js
index a4d6aa157..670a683cb 100644
--- a/libs/shared/config/tailwind/base.js
+++ b/libs/shared/config/tailwind/base.js
@@ -3,7 +3,7 @@ import { createGlobPatternsForDependencies } from '@nx/react/tailwind'
export default {
content: [
- './app/**/*.{js,jsx,ts,tsx}',
+ '{src,pages,components,app}/**/*!(*.stories|*.spec).{ts,tsx,html}',
...createGlobPatternsForDependencies(__dirname),
],
theme: {
diff --git a/libs/shared/ui/.babelrc b/libs/shared/ui/.babelrc
new file mode 100644
index 000000000..1ea870ead
--- /dev/null
+++ b/libs/shared/ui/.babelrc
@@ -0,0 +1,12 @@
+{
+ "presets": [
+ [
+ "@nx/react/babel",
+ {
+ "runtime": "automatic",
+ "useBuiltIns": "usage"
+ }
+ ]
+ ],
+ "plugins": []
+}
diff --git a/libs/shared/ui/.storybook/main.ts b/libs/shared/ui/.storybook/main.ts
deleted file mode 100644
index 22d671954..000000000
--- a/libs/shared/ui/.storybook/main.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import type { StorybookConfig } from '@storybook/nextjs'
-
-const config: StorybookConfig = {
- stories: ['../src/lib/**/*.@(mdx|stories.@(js|jsx|ts|tsx))'],
- addons: ['@storybook/addon-essentials', '@storybook/addon-interactions'],
- framework: {
- name: '@storybook/nextjs',
- options: {},
- },
-}
-
-export default config
-
-// To customize your webpack configuration you can use the webpackFinal field.
-// Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
-// and https://nx.dev/recipes/storybook/custom-builder-configs
diff --git a/libs/shared/ui/.storybook/preview.ts b/libs/shared/ui/.storybook/preview.ts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/libs/shared/ui/eslint.config.js b/libs/shared/ui/eslint.config.js
new file mode 100644
index 000000000..236d2911f
--- /dev/null
+++ b/libs/shared/ui/eslint.config.js
@@ -0,0 +1,37 @@
+// const nx = require("@nx/eslint-plugin");
+// const baseConfig = require("../../eslint.config.js");
+
+// module.exports = [
+// ...baseConfig,
+// ...nx.configs["flat/react"],
+// {
+// files: [
+// "**/*.ts",
+// "**/*.tsx",
+// "**/*.js",
+// "**/*.jsx"
+// ],
+// // Override or add rules here
+// rules: {}
+// }
+// ];
+
+import baseConfigPromise from '../../../eslint.config.js'
+
+export default (async () => {
+ const baseConfig = await baseConfigPromise
+
+ return [
+ ...baseConfig,
+ {
+ files: [
+ '**/*.ts',
+ '**/*.tsx',
+ '**/*.js',
+ '**/*.jsx',
+ ],
+ // Override or add rules here
+ rules: {},
+ },
+ ]
+})()
diff --git a/libs/shared/ui/package.json b/libs/shared/ui/package.json
deleted file mode 100644
index b8c2ea030..000000000
--- a/libs/shared/ui/package.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "ui",
- "version": "1.0.0",
- "description": "",
- "author": "",
- "license": "ISC",
- "keywords": [],
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- }
-}
diff --git a/libs/shared/ui/project.json b/libs/shared/ui/project.json
index 48beaf5d2..47daf0e42 100644
--- a/libs/shared/ui/project.json
+++ b/libs/shared/ui/project.json
@@ -1,9 +1,12 @@
{
"name": "ui",
- "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/shared/ui/src",
"projectType": "library",
"tags": [],
- "// targets": "to see all targets run: nx show project ui --web",
- "targets": {}
+ "targets": {
+ "add-component": {
+ "executor": "@nx-extend/shadcn-ui:add"
+ }
+ }
}
diff --git a/libs/shared/ui/src/index.ts b/libs/shared/ui/src/index.ts
deleted file mode 100644
index c8ce325a1..000000000
--- a/libs/shared/ui/src/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './lib/ui'
diff --git a/libs/shared/ui/src/lib/ui.stories.tsx b/libs/shared/ui/src/lib/ui.stories.tsx
deleted file mode 100644
index 04720cef7..000000000
--- a/libs/shared/ui/src/lib/ui.stories.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import React from 'react'
-import Ui from './ui'
-
-export default {
- title: 'Example/Ui',
- component: Ui,
-}
-
-export const Primary = () =>
diff --git a/libs/shared/ui/src/lib/ui.tsx b/libs/shared/ui/src/lib/ui.tsx
deleted file mode 100644
index 952b262de..000000000
--- a/libs/shared/ui/src/lib/ui.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-export function Ui() {
- return (
-
-
Welcome to Ui!
-
- )
-}
-
-export default Ui
diff --git a/libs/shared/ui/tsconfig.json b/libs/shared/ui/tsconfig.json
index 0a4b699da..bd62bac62 100644
--- a/libs/shared/ui/tsconfig.json
+++ b/libs/shared/ui/tsconfig.json
@@ -1,15 +1,14 @@
{
- "extends": "../../../tsconfig.base.json",
+ "extends": "../../tsconfig.base.json",
"compilerOptions": {
"jsx": "react-jsx",
"allowJs": false,
- "strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": false
},
"references": [
{
- "path": "./tsconfig.storybook.json"
+ "path": "./tsconfig.lib.json"
}
],
"files": [],
diff --git a/libs/shared/ui/tsconfig.lib.json b/libs/shared/ui/tsconfig.lib.json
new file mode 100644
index 000000000..02bd7508b
--- /dev/null
+++ b/libs/shared/ui/tsconfig.lib.json
@@ -0,0 +1,23 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "types": [
+ "node",
+ "@nx/react/typings/cssmodule.d.ts",
+ "@nx/react/typings/image.d.ts"
+ ],
+ "outDir": "../../../dist/out-tsc"
+ },
+ "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"],
+ "exclude": [
+ "jest.config.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.tsx",
+ "src/**/*.test.tsx",
+ "src/**/*.spec.js",
+ "src/**/*.test.js",
+ "src/**/*.spec.jsx",
+ "src/**/*.test.jsx"
+ ]
+}
diff --git a/libs/shared/ui/tsconfig.storybook.json b/libs/shared/ui/tsconfig.storybook.json
deleted file mode 100644
index 100f60cb7..000000000
--- a/libs/shared/ui/tsconfig.storybook.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "emitDecoratorMetadata": true
- },
- "include": [
- "src/**/*.stories.ts",
- "src/**/*.stories.js",
- "src/**/*.stories.jsx",
- "src/**/*.stories.tsx",
- "src/**/*.stories.mdx",
- ".storybook/*.js",
- ".storybook/*.ts"
- ],
- "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"]
-}
diff --git a/libs/shared/utils/.babelrc b/libs/shared/utils/.babelrc
new file mode 100644
index 000000000..1ea870ead
--- /dev/null
+++ b/libs/shared/utils/.babelrc
@@ -0,0 +1,12 @@
+{
+ "presets": [
+ [
+ "@nx/react/babel",
+ {
+ "runtime": "automatic",
+ "useBuiltIns": "usage"
+ }
+ ]
+ ],
+ "plugins": []
+}
diff --git a/libs/shared/utils/README.md b/libs/shared/utils/README.md
new file mode 100644
index 000000000..cafd71d07
--- /dev/null
+++ b/libs/shared/utils/README.md
@@ -0,0 +1,7 @@
+# utils
+
+This library was generated with [Nx](https://nx.dev).
+
+## Running unit tests
+
+Run `nx test utils` to execute the unit tests via [Jest](https://jestjs.io).
diff --git a/libs/shared/utils/eslint.config.js b/libs/shared/utils/eslint.config.js
new file mode 100644
index 000000000..236d2911f
--- /dev/null
+++ b/libs/shared/utils/eslint.config.js
@@ -0,0 +1,37 @@
+// const nx = require("@nx/eslint-plugin");
+// const baseConfig = require("../../eslint.config.js");
+
+// module.exports = [
+// ...baseConfig,
+// ...nx.configs["flat/react"],
+// {
+// files: [
+// "**/*.ts",
+// "**/*.tsx",
+// "**/*.js",
+// "**/*.jsx"
+// ],
+// // Override or add rules here
+// rules: {}
+// }
+// ];
+
+import baseConfigPromise from '../../../eslint.config.js'
+
+export default (async () => {
+ const baseConfig = await baseConfigPromise
+
+ return [
+ ...baseConfig,
+ {
+ files: [
+ '**/*.ts',
+ '**/*.tsx',
+ '**/*.js',
+ '**/*.jsx',
+ ],
+ // Override or add rules here
+ rules: {},
+ },
+ ]
+})()
diff --git a/libs/shared/utils/project.json b/libs/shared/utils/project.json
new file mode 100644
index 000000000..39f7d2f0d
--- /dev/null
+++ b/libs/shared/utils/project.json
@@ -0,0 +1,9 @@
+{
+ "name": "utils",
+ "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "libs/shared/utils/src",
+ "projectType": "library",
+ "tags": [],
+ "// targets": "to see all targets run: nx show project utils --web",
+ "targets": {}
+}
diff --git a/libs/shared/utils/src/cn.ts b/libs/shared/utils/src/cn.ts
new file mode 100644
index 000000000..a92a0dfc7
--- /dev/null
+++ b/libs/shared/utils/src/cn.ts
@@ -0,0 +1,6 @@
+import { type ClassValue, clsx } from 'clsx'
+import { twMerge } from 'tailwind-merge'
+
+export const cn = function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs))
+}
diff --git a/libs/shared/utils/src/global.css b/libs/shared/utils/src/global.css
new file mode 100644
index 000000000..2c7f571c5
--- /dev/null
+++ b/libs/shared/utils/src/global.css
@@ -0,0 +1,66 @@
+/**
+ * Don't forget to update your APPs global.css to include this file!
+ */
+
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ :root {
+ --background: 0 0% 100%;
+ --foreground: 240 10% 3.9%;
+ --card: 0 0% 100%;
+ --card-foreground: 240 10% 3.9%;
+ --popover: 0 0% 100%;
+ --popover-foreground: 240 10% 3.9%;
+ --primary: 240 5.9% 10%;
+ --primary-foreground: 0 0% 98%;
+ --secondary: 240 4.8% 95.9%;
+ --secondary-foreground: 240 5.9% 10%;
+ --muted: 240 4.8% 95.9%;
+ --muted-foreground: 240 3.8% 46.1%;
+ --accent: 240 4.8% 95.9%;
+ --accent-foreground: 240 5.9% 10%;
+ --destructive: 0 84.2% 60.2%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 5.9% 90%;
+ --input: 240 5.9% 90%;
+ --ring: 240 5.9% 10%;
+ --radius: 0.5rem;
+ }
+
+ .dark {
+ --background: 240 10% 3.9%;
+ --foreground: 0 0% 98%;
+ --card: 240 10% 3.9%;
+ --card-foreground: 0 0% 98%;
+ --popover: 240 10% 3.9%;
+ --popover-foreground: 0 0% 98%;
+ --primary: 0 0% 98%;
+ --primary-foreground: 240 5.9% 10%;
+ --secondary: 240 3.7% 15.9%;
+ --secondary-foreground: 0 0% 98%;
+ --muted: 240 3.7% 15.9%;
+ --muted-foreground: 240 5% 64.9%;
+ --accent: 240 3.7% 15.9%;
+ --accent-foreground: 0 0% 98%;
+ --destructive: 0 62.8% 30.6%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 3.7% 15.9%;
+ --input: 240 3.7% 15.9%;
+ --ring: 240 4.9% 83.9%;
+ }
+}
+
+@layer base {
+ * {
+ @apply border-border;
+ }
+ body {
+ @apply bg-background text-foreground;
+ font-feature-settings:
+ 'rlig' 1,
+ 'calt' 1;
+ }
+}
diff --git a/libs/shared/utils/src/index.ts b/libs/shared/utils/src/index.ts
new file mode 100644
index 000000000..c5c1882cf
--- /dev/null
+++ b/libs/shared/utils/src/index.ts
@@ -0,0 +1 @@
+export * from './cn'
diff --git a/libs/shared/utils/src/tailwind.config.ts b/libs/shared/utils/src/tailwind.config.ts
new file mode 100644
index 000000000..b03c82952
--- /dev/null
+++ b/libs/shared/utils/src/tailwind.config.ts
@@ -0,0 +1,78 @@
+import type { Config } from 'tailwindcss'
+import { join } from 'node:path'
+import { createGlobPatternsForDependencies } from '@nx/react/tailwind'
+
+import TailwindAnimate from 'tailwindcss-animate'
+
+export function buildConfig(
+ appDir: string,
+): Config {
+ return {
+ content: [
+ join(
+ appDir,
+ '{src,pages,components,app}/**/*!(*.stories|*.spec).{ts,tsx,html}',
+ ),
+ ...createGlobPatternsForDependencies(appDir),
+ ],
+ theme: {
+ extend: {
+ colors: {
+ border: 'hsl(var(--border))',
+ input: 'hsl(var(--input))',
+ ring: 'hsl(var(--ring))',
+ background: 'hsl(var(--background))',
+ foreground: 'hsl(var(--foreground))',
+ primary: {
+ DEFAULT: 'hsl(var(--primary))',
+ foreground: 'hsl(var(--primary-foreground))',
+ },
+ secondary: {
+ DEFAULT: 'hsl(var(--secondary))',
+ foreground: 'hsl(var(--secondary-foreground))',
+ },
+ destructive: {
+ DEFAULT: 'hsl(var(--destructive))',
+ foreground: 'hsl(var(--destructive-foreground))',
+ },
+ muted: {
+ DEFAULT: 'hsl(var(--muted))',
+ foreground: 'hsl(var(--muted-foreground))',
+ },
+ accent: {
+ DEFAULT: 'hsl(var(--accent))',
+ foreground: 'hsl(var(--accent-foreground))',
+ },
+ popover: {
+ DEFAULT: 'hsl(var(--popover))',
+ foreground: 'hsl(var(--popover-foreground))',
+ },
+ card: {
+ DEFAULT: 'hsl(var(--card))',
+ foreground: 'hsl(var(--card-foreground))',
+ },
+ },
+ borderRadius: {
+ lg: `var(--radius)`,
+ md: `calc(var(--radius) - 2px)`,
+ sm: 'calc(var(--radius) - 4px)',
+ },
+ keyframes: {
+ 'accordion-down': {
+ from: { height: '0' },
+ to: { height: 'var(--radix-accordion-content-height)' },
+ },
+ 'accordion-up': {
+ from: { height: 'var(--radix-accordion-content-height)' },
+ to: { height: '0' },
+ },
+ },
+ animation: {
+ 'accordion-down': 'accordion-down 0.2s ease-out',
+ 'accordion-up': 'accordion-up 0.2s ease-out',
+ },
+ },
+ },
+ plugins: [TailwindAnimate],
+ }
+}
diff --git a/libs/shared/utils/tsconfig.json b/libs/shared/utils/tsconfig.json
new file mode 100644
index 000000000..74d69d3d0
--- /dev/null
+++ b/libs/shared/utils/tsconfig.json
@@ -0,0 +1,16 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "compilerOptions": {
+ "jsx": "react-jsx",
+ "allowJs": false,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": false
+ },
+ "references": [
+ {
+ "path": "./tsconfig.lib.json"
+ }
+ ],
+ "files": [],
+ "include": []
+}
diff --git a/libs/shared/utils/tsconfig.lib.json b/libs/shared/utils/tsconfig.lib.json
new file mode 100644
index 000000000..02bd7508b
--- /dev/null
+++ b/libs/shared/utils/tsconfig.lib.json
@@ -0,0 +1,23 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "types": [
+ "node",
+ "@nx/react/typings/cssmodule.d.ts",
+ "@nx/react/typings/image.d.ts"
+ ],
+ "outDir": "../../../dist/out-tsc"
+ },
+ "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"],
+ "exclude": [
+ "jest.config.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.tsx",
+ "src/**/*.test.tsx",
+ "src/**/*.spec.js",
+ "src/**/*.test.js",
+ "src/**/*.spec.jsx",
+ "src/**/*.test.jsx"
+ ]
+}
diff --git a/nx.json b/nx.json
index 6267c95d0..b2a2a0178 100644
--- a/nx.json
+++ b/nx.json
@@ -1,7 +1,10 @@
{
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"namedInputs": {
- "default": ["{projectRoot}/**/*", "sharedGlobals"],
+ "default": [
+ "{projectRoot}/**/*",
+ "sharedGlobals"
+ ],
"production": [
"default",
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
@@ -13,7 +16,9 @@
"!{projectRoot}/tsconfig.storybook.json",
"!{projectRoot}/src/test-setup.[jt]s"
],
- "sharedGlobals": ["{workspaceRoot}/.github/workflows/ci.yml"]
+ "sharedGlobals": [
+ "{workspaceRoot}/.github/workflows/ci.yml"
+ ]
},
// "nxCloudId": "672c3bbe9eb3702453d897db",
"plugins": [
@@ -29,7 +34,9 @@
},
{
"plugin": "@nx/vite/plugin",
- "exclude": ["apps/website/**/*"],
+ "exclude": [
+ "apps/website/**/*"
+ ],
"options": {
"testTargetName": "test",
"previewTargetName": "preview",
@@ -73,11 +80,18 @@
"targetDefaults": {
"@nx/remix:build": {
"cache": true,
- "dependsOn": ["^build"],
- "inputs": ["production", "^production"]
+ "dependsOn": [
+ "^build"
+ ],
+ "inputs": [
+ "production",
+ "^production"
+ ]
},
"e2e-ci--**/*": {
- "dependsOn": ["^build"]
+ "dependsOn": [
+ "^build"
+ ]
}
},
"generators": {
diff --git a/package.json b/package.json
index d8623eb41..d513c7b47 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,8 @@
"@remix-run/node": "2.14.0",
"@remix-run/react": "2.14.0",
"@remix-run/serve": "2.14.0",
+ "class-variance-authority": "^0.7.0",
+ "clsx": "^2.1.1",
"fumadocs-core": "^13.4.10",
"fumadocs-docgen": "^1.3.2",
"fumadocs-mdx": "^9.0.4",
@@ -36,10 +38,14 @@
"isbot": "^4.4.0",
"next": "14.2.3",
"react": "^18.3.1",
- "react-dom": "^18.3.1"
+ "react-dom": "^18.3.1",
+ "tailwind-merge": "^2.3.0",
+ "tailwindcss-animate": "^1.0.7"
},
"devDependencies": {
"@antfu/eslint-config": "^3.8.0",
+ "@babel/core": "^7.14.5",
+ "@babel/preset-react": "^7.14.5",
"@commitlint/cli": "^19.5.0",
"@commitlint/config-conventional": "^19.5.0",
"@commitlint/cz-commitlint": "^19.5.0",
@@ -51,6 +57,7 @@
"@netlify/edge-functions": "^2.11.0",
"@netlify/remix-edge-adapter": "^3.4.2",
"@netlify/remix-runtime": "^2.3.1",
+ "@nx-extend/shadcn-ui": "^4.1.2",
"@nx/devkit": "20.1.0",
"@nx/eslint": "20.1.0",
"@nx/eslint-plugin": "20.1.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9e2edcac7..8ab5f1dfc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -23,6 +23,12 @@ importers:
'@remix-run/serve':
specifier: 2.14.0
version: 2.14.0(typescript@5.6.3)
+ class-variance-authority:
+ specifier: ^0.7.0
+ version: 0.7.0
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
fumadocs-core:
specifier: ^13.4.10
version: 13.4.10(@types/react@18.3.12)(next@14.2.3(@babel/core@7.26.0)(@opentelemetry/api@1.8.0)(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.80.6))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -47,10 +53,22 @@ importers:
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
+ tailwind-merge:
+ specifier: ^2.3.0
+ version: 2.5.4
+ tailwindcss-animate:
+ specifier: ^1.0.7
+ version: 1.0.7(tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3)))
devDependencies:
'@antfu/eslint-config':
specifier: ^3.8.0
version: 3.8.0(@eslint-react/eslint-plugin@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(@unocss/eslint-plugin@0.62.4(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.14.0(jiti@2.4.0)))(eslint-plugin-react-hooks@5.0.0(eslint@9.14.0(jiti@2.4.0)))(eslint-plugin-react-refresh@0.4.14(eslint@9.14.0(jiti@2.4.0)))(eslint@9.14.0(jiti@2.4.0))(prettier-plugin-slidev@1.0.5(prettier@3.3.3))(typescript@5.6.3)(vitest@2.1.4)
+ '@babel/core':
+ specifier: ^7.14.5
+ version: 7.26.0
+ '@babel/preset-react':
+ specifier: ^7.14.5
+ version: 7.25.9(@babel/core@7.26.0)
'@commitlint/cli':
specifier: ^19.5.0
version: 19.5.0(@types/node@22.8.6)(typescript@5.6.3)
@@ -84,6 +102,9 @@ importers:
'@netlify/remix-runtime':
specifier: ^2.3.1
version: 2.3.1(@remix-run/server-runtime@2.14.0(typescript@5.6.3))
+ '@nx-extend/shadcn-ui':
+ specifier: ^4.1.2
+ version: 4.1.2(@babel/traverse@7.25.9)(@nx/devkit@20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react@18.3.1)(tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3)))
'@nx/devkit':
specifier: 20.1.0
version: 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
@@ -2876,6 +2897,16 @@ packages:
resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@nx-extend/core@8.1.0':
+ resolution: {integrity: sha512-mpDPKmtt25/lQLYuOb60B7kd1N8Fd/mRPsXfptY5FaZM2BktPm1U7ZYtlZal6W61jFG7drbLniWNtMG7UIULFQ==}
+ peerDependencies:
+ '@nx/devkit': ^20.0.0
+
+ '@nx-extend/shadcn-ui@4.1.2':
+ resolution: {integrity: sha512-xLoBoeAU83Fq0m0XTUTfxRLZyCbHeU39tUQ+OyljnIgf6Pud+PGMgadIo//occY9JYGrG8Dz31w/qdK7lChwMg==}
+ peerDependencies:
+ '@nx/devkit': ^20.0.0
+
'@nx/cypress@20.1.0':
resolution: {integrity: sha512-eSzxPXR1g5f+E9Ko2nJLpP3xxb+Y5GLO4hGFBKGQRMLOBgD8QcxvV1MKd4HOROKplfpZSJBQdyXalz2fbg7M8w==}
peerDependencies:
@@ -2884,6 +2915,11 @@ packages:
cypress:
optional: true
+ '@nx/devkit@20.0.0':
+ resolution: {integrity: sha512-9hSZBFnJ9pkdJnaNiuBwBGJAIYXEOwcXDhtUrm4jpVTDdYWP2m9fgu0Vf47TADf7vF1f2EVvS7dqqJbMDgULlg==}
+ peerDependencies:
+ nx: '>= 19 <= 21'
+
'@nx/devkit@20.1.0':
resolution: {integrity: sha512-TDWT3d7nei+FtqoZscR7KtbQ9BXzV1c1Wvk9UUejo7eXbrQ/+YnHVVze8EMuIgTXaHxNIBTKGUPcRi3cibmCDw==}
peerDependencies:
@@ -2898,6 +2934,15 @@ packages:
eslint-config-prettier:
optional: true
+ '@nx/eslint@20.0.0':
+ resolution: {integrity: sha512-FVTidgmNVCcRQ+jTIZdHzMjTC7ATHvoHv7lLuXMAn0rhv02T39Kfyu1rH7cevTkfB22jqSjL25yty5qoqZPjug==}
+ peerDependencies:
+ '@zkochan/js-yaml': 0.0.7
+ eslint: ^8.0.0 || ^9.0.0
+ peerDependenciesMeta:
+ '@zkochan/js-yaml':
+ optional: true
+
'@nx/eslint@20.1.0':
resolution: {integrity: sha512-r33P116QT5d8iLS18pZKOp1VBUueprESjHrVozDhUmTy0d/Xu5y/ExbhxcnlSicHFPxM7auYUoj1vE/6llRLQw==}
peerDependencies:
@@ -2907,6 +2952,14 @@ packages:
'@zkochan/js-yaml':
optional: true
+ '@nx/js@20.0.0':
+ resolution: {integrity: sha512-CiWl9Np+YL55FZiQXIiOqwxU4Gj9l7pQFE3YV/4v1CTSuT+4uHNAS6hr7nSbVZ0Z4YTk0QnDLsxuvsezIG0LfA==}
+ peerDependencies:
+ verdaccio: ^5.0.4
+ peerDependenciesMeta:
+ verdaccio:
+ optional: true
+
'@nx/js@20.1.0':
resolution: {integrity: sha512-E5iDtTchK1vkEGFHXUM+PZnIvQvs3JjK+3SUfPfobVV60jKb4T2YiBLJPqXdk123hwVGKSKebgrUhO6mGGNMFQ==}
peerDependencies:
@@ -2920,60 +2973,120 @@ packages:
peerDependencies:
next: '>=14.0.0'
+ '@nx/nx-darwin-arm64@20.0.0':
+ resolution: {integrity: sha512-sVG2qdQh192eQbsRVs/VpYkgRdbinLEj/6LvHXjU+Qi3ABKAnNDuNquNqpmxVU7YnoIZsyHMlbPsr47PgU2ljw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
'@nx/nx-darwin-arm64@20.1.0':
resolution: {integrity: sha512-fel9LpSWuwY0cGAsRFEPxLp6J5VcK/5sjeWA0lZWrFf1oQJCOlKBfkxzi384Nd7eK5JSjxIXrpYfRLaqSbp+IA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
+ '@nx/nx-darwin-x64@20.0.0':
+ resolution: {integrity: sha512-Vk1i9PYlzPr7XT9fu2nWKpzPS/kTM8bDCmBfu7lotJpR+gEp52vegy4bkz00C5sDtFZTFOUoDYvMxiS9lNuvbQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
'@nx/nx-darwin-x64@20.1.0':
resolution: {integrity: sha512-l1DB8dk2rCLGgXW26HmFOKYpUCF259LRus8z+z7dsFv5vz9TeN+fk5m9aAdiENgMA2cGlndQQW+E8UIo3yv+9g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
+ '@nx/nx-freebsd-x64@20.0.0':
+ resolution: {integrity: sha512-g9L4KG34U8KLNBpoX5iQnevh/q3mTHBNLaoF+dFfBLDFdqVkLc1cUoWEITP41RfExhU/jqgo66T3Wtjt/FmYPw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
'@nx/nx-freebsd-x64@20.1.0':
resolution: {integrity: sha512-f8uMRIhiOA/73cIjiyS3gpKvaAtsHgyUkkoCOPc4xdxoSLAjlxb6VOUPIFj9rzLA6qQXImVpsiNPG+p1sJ1GAQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
+ '@nx/nx-linux-arm-gnueabihf@20.0.0':
+ resolution: {integrity: sha512-EcWjz4HM0UElppyDjIK9uGn0x+HgNMKloBQWYCQZv9z10joPDFleXNL66ywGi3KbpJp8jZZoBoXUBAuQ30wTkA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
'@nx/nx-linux-arm-gnueabihf@20.1.0':
resolution: {integrity: sha512-M7pay8hFJQZ3uJHlr5hZK/8o1BcHt95hy/SU7Azt7+LKQGOy42tXhHO30As9APzXqRmvoA2Iq1IyrJJicrz+Ew==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
+ '@nx/nx-linux-arm64-gnu@20.0.0':
+ resolution: {integrity: sha512-SNWNlG1IF3m84n//s9EVq4VXbACi4YC+0Zto6mBSWnJ54PQSBaPlYQOjA+zUg5j/TDBcErJwmWBhrsDpfUzASA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@nx/nx-linux-arm64-gnu@20.1.0':
resolution: {integrity: sha512-A5+Kpk1uwYIj6CPm0DWLVz5wNTN4ewNl7ajLS9YJOi4yHx/FhfMMyPj4ZnbTpc4isuvgZwBZNl8kwFb2RdXq4w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@nx/nx-linux-arm64-musl@20.0.0':
+ resolution: {integrity: sha512-dP8Z2wmouSoGbiNFchf5XuMEzZ9LOxIL9m+YZ+g1aBK1lakqugGmu5AWC4LujLdRYJ2Aq0NiTujFb9X8N65LEg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@nx/nx-linux-arm64-musl@20.1.0':
resolution: {integrity: sha512-pWIQPt9Fst1O4dgrWHdU1b+5wpfLmsmaSeRvLQ9b2VFp3tKGko4ie0skme62TuMgpcqMWDBFKs8KgbHESOi7vw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@nx/nx-linux-x64-gnu@20.0.0':
+ resolution: {integrity: sha512-B9ePhJ6t4Q/T20jjuegmIujEbgQAjVYSbaVqlL1TpSz5JOjYqTMJVOdZfK1iSizanmdAr/tgNk/3U+pN68Qo2w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@nx/nx-linux-x64-gnu@20.1.0':
resolution: {integrity: sha512-sOpeGOHznk2ztCXzKhRPAKG3WtwaQUsfQ/3aYDXE6z+rSfyZTGY29M/a9FbdjI4cLJX+NdLAAMj15c3VecJ65g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@nx/nx-linux-x64-musl@20.0.0':
+ resolution: {integrity: sha512-SIJ42y+paUJ7OeOh1Wgk1BkgFj/oa/U3jsBrusyJMD1omShXJR0DW63yHHP19rhkVfkzDB4hl5AWYAb+IX0n1A==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@nx/nx-linux-x64-musl@20.1.0':
resolution: {integrity: sha512-SxnQJhjOvuOfUZnF4Wt4/O/l1e21qpACZzfMaPIvmiTLk9zPJZWtfgbqlKtTXHKWq9DfIUZQqZXRIpHPM1sDZQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@nx/nx-win32-arm64-msvc@20.0.0':
+ resolution: {integrity: sha512-NZi88z+xa70L9E5ota3R6+/TjBDQ/XtoWuNDqPRcgBAHtOEH4YpF0pJ+sc+TybotcXFUs99v1TRxPHagsBn8QQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
'@nx/nx-win32-arm64-msvc@20.1.0':
resolution: {integrity: sha512-Z/KoaAA+Rg9iqqOPkKZV61MejPoJBOHlecFpq0G4TgKMJEJ/hEsjojq5usO1fUGAbvQT/SXL3pYWgZwhD3VEHw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
+ '@nx/nx-win32-x64-msvc@20.0.0':
+ resolution: {integrity: sha512-rtGphY7sXqHGQN1q6M6umR/iAIU0/IcstYW5IAXQ3wivaQJrV7sM+aumrFZfgAWHHDTWDdQncSQTdn49RoRjEA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
'@nx/nx-win32-x64-msvc@20.1.0':
resolution: {integrity: sha512-pbxacjLsW9vXD9FibvU8Pal/r5+Yq6AaW6I57CDi7jsLt+K6jcS0fP4FlfXT8QFWdx9+bOKNfOsKEIwpirMN1w==}
engines: {node: '>= 10'}
@@ -3011,6 +3124,9 @@ packages:
'@nx/webpack@20.1.0':
resolution: {integrity: sha512-KBiJDxtv0RjRo7Ud3lgFXRMYCn1sWlNTVMQpP65O0aPs1I0yrriIOeiZhMKZm3xp4r4S9ABIWV1rrz0ILp1Qog==}
+ '@nx/workspace@20.0.0':
+ resolution: {integrity: sha512-ReTyJrUdCVPa9fnFWOaYhtNPJkfHMsASjGCvijZv+9EyDmggZ9PmpZBN7fdaCQD8+MyRSOPCrPEzXU1NnjjgqQ==}
+
'@nx/workspace@20.1.0':
resolution: {integrity: sha512-1L432K76uWfo+hR5SD/XIdJGiArXQ6u0+q1MB49slObRNYQHMWqyB3/6C7QRN0sOqh5k893i9wXUH8vokYpPew==}
@@ -4894,6 +5010,10 @@ packages:
'@yarnpkg/lockfile@1.1.0':
resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
+ '@yarnpkg/parsers@3.0.0-rc.46':
+ resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==}
+ engines: {node: '>=14.15.0'}
+
'@yarnpkg/parsers@3.0.2':
resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==}
engines: {node: '>=18.12.0'}
@@ -5810,6 +5930,10 @@ packages:
resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
engines: {node: '>=6'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
cmdk@1.0.4:
resolution: {integrity: sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg==}
peerDependencies:
@@ -8668,6 +8792,10 @@ packages:
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
engines: {node: '>=12'}
+ interpret@1.4.0:
+ resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ engines: {node: '>= 0.10'}
+
into-stream@7.0.0:
resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==}
engines: {node: '>=12'}
@@ -9702,6 +9830,11 @@ packages:
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
+ lucide-react@0.453.0:
+ resolution: {integrity: sha512-kL+RGZCcJi9BvJtzg2kshO192Ddy9hv3ij+cPrVPWSRzgCWCVazoQJxOjAwgK53NomL07HB7GPHW120FimjNhQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
+
lucide-react@0.456.0:
resolution: {integrity: sha512-DIIGJqTT5X05sbAsQ+OhA8OtJYyD4NsEMCA/HQW/Y6ToPQ7gwbtujIoeAaup4HpHzV35SQOarKAWH8LYglB6eA==}
peerDependencies:
@@ -10662,6 +10795,18 @@ packages:
nwsapi@2.2.13:
resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
+ nx@20.0.0:
+ resolution: {integrity: sha512-xfTCFiSYqxhchIXQvT6cxKcyRmReAvpzEQJbpEZTtmhMucBqvDTkK25WIhY4cW2uPPUXSOgQGbFt2uIVQz5RTw==}
+ hasBin: true
+ peerDependencies:
+ '@swc-node/register': ^1.8.0
+ '@swc/core': ^1.3.85
+ peerDependenciesMeta:
+ '@swc-node/register':
+ optional: true
+ '@swc/core':
+ optional: true
+
nx@20.1.0:
resolution: {integrity: sha512-d8Ywh1AvG3szYqWEHg2n9DHh/hF0jtVhMZKxwsr7n+kSVxp7gE/rHCCfOo8H+OmP030qXoox5e4Ovp7H9CEJnA==}
hasBin: true
@@ -11838,6 +11983,10 @@ packages:
resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==}
engines: {node: '>= 4'}
+ rechoir@0.6.2:
+ resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
+ engines: {node: '>= 0.10'}
+
recma-build-jsx@1.0.0:
resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
@@ -12333,6 +12482,11 @@ packages:
shell-quote@1.8.1:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ shelljs@0.8.5:
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ engines: {node: '>=4'}
+ hasBin: true
+
shiki@1.22.2:
resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==}
@@ -12830,6 +12984,11 @@ packages:
tailwind-merge@2.5.4:
resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==}
+ tailwindcss-animate@1.0.7:
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+
tailwindcss@3.4.14:
resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
engines: {node: '>=14.0.0'}
@@ -13142,6 +13301,9 @@ packages:
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ tslib@2.7.0:
+ resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@@ -17005,6 +17167,39 @@ snapshots:
dependencies:
which: 3.0.1
+ '@nx-extend/core@8.1.0(@nx/devkit@20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))))':
+ dependencies:
+ '@nx/devkit': 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ shelljs: 0.8.5
+ tslib: 2.7.0
+
+ '@nx-extend/shadcn-ui@4.1.2(@babel/traverse@7.25.9)(@nx/devkit@20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react@18.3.1)(tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3)))':
+ dependencies:
+ '@nx-extend/core': 8.1.0(@nx/devkit@20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))))
+ '@nx/devkit': 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/eslint': 20.0.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ class-variance-authority: 0.7.0
+ clsx: 2.1.1
+ lucide-react: 0.453.0(react@18.3.1)
+ shelljs: 0.8.5
+ tailwind-merge: 2.5.4
+ tailwindcss-animate: 1.0.7(tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3)))
+ tslib: 2.7.0
+ transitivePeerDependencies:
+ - '@babel/traverse'
+ - '@swc-node/register'
+ - '@swc/core'
+ - '@swc/wasm'
+ - '@types/node'
+ - '@zkochan/js-yaml'
+ - debug
+ - eslint
+ - nx
+ - react
+ - supports-color
+ - tailwindcss
+ - verdaccio
+
'@nx/cypress@20.1.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.6.3)':
dependencies:
'@nx/devkit': 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
@@ -17027,6 +17222,30 @@ snapshots:
- typescript
- verdaccio
+ '@nx/devkit@20.0.0(nx@20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
+ dependencies:
+ ejs: 3.1.10
+ enquirer: 2.3.6
+ ignore: 5.3.2
+ minimatch: 9.0.3
+ nx: 20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ semver: 7.6.3
+ tmp: 0.2.3
+ tslib: 2.8.1
+ yargs-parser: 21.1.1
+
+ '@nx/devkit@20.0.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
+ dependencies:
+ ejs: 3.1.10
+ enquirer: 2.3.6
+ ignore: 5.3.2
+ minimatch: 9.0.3
+ nx: 20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ semver: 7.6.3
+ tmp: 0.2.3
+ tslib: 2.8.1
+ yargs-parser: 21.1.1
+
'@nx/devkit@20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
ejs: 3.1.10
@@ -17067,6 +17286,27 @@ snapshots:
- typescript
- verdaccio
+ '@nx/eslint@20.0.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
+ dependencies:
+ '@nx/devkit': 20.0.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.0.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.4.5)
+ eslint: 9.14.0(jiti@2.4.0)
+ semver: 7.6.3
+ tslib: 2.8.1
+ typescript: 5.4.5
+ optionalDependencies:
+ '@zkochan/js-yaml': 0.0.7
+ transitivePeerDependencies:
+ - '@babel/traverse'
+ - '@swc-node/register'
+ - '@swc/core'
+ - '@swc/wasm'
+ - '@types/node'
+ - debug
+ - nx
+ - supports-color
+ - verdaccio
+
'@nx/eslint@20.1.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(@zkochan/js-yaml@0.0.7)(eslint@9.14.0(jiti@2.4.0))(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
'@nx/devkit': 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
@@ -17088,6 +17328,49 @@ snapshots:
- supports-color
- verdaccio
+ '@nx/js@20.0.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.4.5)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0)
+ '@babel/preset-env': 7.26.0(@babel/core@7.26.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
+ '@babel/runtime': 7.26.0
+ '@nx/devkit': 20.0.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/workspace': 20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ '@zkochan/js-yaml': 0.0.7
+ babel-plugin-const-enum: 1.2.0(@babel/core@7.26.0)
+ babel-plugin-macros: 2.8.0
+ babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.26.0)(@babel/traverse@7.25.9)
+ chalk: 4.1.2
+ columnify: 1.6.0
+ detect-port: 1.6.1
+ enquirer: 2.3.6
+ fast-glob: 3.2.7
+ ignore: 5.3.2
+ js-tokens: 4.0.0
+ jsonc-parser: 3.2.0
+ minimatch: 9.0.3
+ npm-package-arg: 11.0.1
+ npm-run-path: 4.0.1
+ ora: 5.3.0
+ semver: 7.6.3
+ source-map-support: 0.5.19
+ ts-node: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.4.5)
+ tsconfig-paths: 4.2.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@babel/traverse'
+ - '@swc-node/register'
+ - '@swc/core'
+ - '@swc/wasm'
+ - '@types/node'
+ - debug
+ - nx
+ - supports-color
+ - typescript
+
'@nx/js@20.1.0(@babel/traverse@7.25.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.4.5)':
dependencies:
'@babel/core': 7.26.0
@@ -17227,33 +17510,63 @@ snapshots:
- webpack
- webpack-cli
+ '@nx/nx-darwin-arm64@20.0.0':
+ optional: true
+
'@nx/nx-darwin-arm64@20.1.0':
optional: true
+ '@nx/nx-darwin-x64@20.0.0':
+ optional: true
+
'@nx/nx-darwin-x64@20.1.0':
optional: true
+ '@nx/nx-freebsd-x64@20.0.0':
+ optional: true
+
'@nx/nx-freebsd-x64@20.1.0':
optional: true
+ '@nx/nx-linux-arm-gnueabihf@20.0.0':
+ optional: true
+
'@nx/nx-linux-arm-gnueabihf@20.1.0':
optional: true
+ '@nx/nx-linux-arm64-gnu@20.0.0':
+ optional: true
+
'@nx/nx-linux-arm64-gnu@20.1.0':
optional: true
+ '@nx/nx-linux-arm64-musl@20.0.0':
+ optional: true
+
'@nx/nx-linux-arm64-musl@20.1.0':
optional: true
+ '@nx/nx-linux-x64-gnu@20.0.0':
+ optional: true
+
'@nx/nx-linux-x64-gnu@20.1.0':
optional: true
+ '@nx/nx-linux-x64-musl@20.0.0':
+ optional: true
+
'@nx/nx-linux-x64-musl@20.1.0':
optional: true
+ '@nx/nx-win32-arm64-msvc@20.0.0':
+ optional: true
+
'@nx/nx-win32-arm64-msvc@20.1.0':
optional: true
+ '@nx/nx-win32-x64-msvc@20.0.0':
+ optional: true
+
'@nx/nx-win32-x64-msvc@20.1.0':
optional: true
@@ -17508,6 +17821,19 @@ snapshots:
- vue-tsc
- webpack-cli
+ '@nx/workspace@20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))':
+ dependencies:
+ '@nx/devkit': 20.0.0(nx@20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ chalk: 4.1.2
+ enquirer: 2.3.6
+ nx: 20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ tslib: 2.8.1
+ yargs-parser: 21.1.1
+ transitivePeerDependencies:
+ - '@swc-node/register'
+ - '@swc/core'
+ - debug
+
'@nx/workspace@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))':
dependencies:
'@nx/devkit': 20.1.0(nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
@@ -19918,6 +20244,11 @@ snapshots:
'@yarnpkg/lockfile@1.1.0': {}
+ '@yarnpkg/parsers@3.0.0-rc.46':
+ dependencies:
+ js-yaml: 3.14.1
+ tslib: 2.8.1
+
'@yarnpkg/parsers@3.0.2':
dependencies:
js-yaml: 3.14.1
@@ -20948,6 +21279,8 @@ snapshots:
clsx@2.0.0: {}
+ clsx@2.1.1: {}
+
cmdk@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -24783,6 +25116,8 @@ snapshots:
internmap@2.0.3: {}
+ interpret@1.4.0: {}
+
into-stream@7.0.0:
dependencies:
from2: 2.3.0
@@ -26055,6 +26390,10 @@ snapshots:
dependencies:
react: 18.3.1
+ lucide-react@0.453.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
lucide-react@0.456.0(react@18.3.1):
dependencies:
react: 18.3.1
@@ -27594,6 +27933,56 @@ snapshots:
nwsapi@2.2.13: {}
+ nx@20.0.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)):
+ dependencies:
+ '@napi-rs/wasm-runtime': 0.2.4
+ '@yarnpkg/lockfile': 1.1.0
+ '@yarnpkg/parsers': 3.0.0-rc.46
+ '@zkochan/js-yaml': 0.0.7
+ axios: 1.7.7
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.6.1
+ cliui: 8.0.1
+ dotenv: 16.4.5
+ dotenv-expand: 11.0.6
+ enquirer: 2.3.6
+ figures: 3.2.0
+ flat: 5.0.2
+ front-matter: 4.0.2
+ ignore: 5.3.2
+ jest-diff: 29.7.0
+ jsonc-parser: 3.2.0
+ lines-and-columns: 2.0.3
+ minimatch: 9.0.3
+ node-machine-id: 1.1.12
+ npm-run-path: 4.0.1
+ open: 8.4.2
+ ora: 5.3.0
+ semver: 7.6.3
+ string-width: 4.2.3
+ tar-stream: 2.2.0
+ tmp: 0.2.3
+ tsconfig-paths: 4.2.0
+ tslib: 2.8.1
+ yargs: 17.7.2
+ yargs-parser: 21.1.1
+ optionalDependencies:
+ '@nx/nx-darwin-arm64': 20.0.0
+ '@nx/nx-darwin-x64': 20.0.0
+ '@nx/nx-freebsd-x64': 20.0.0
+ '@nx/nx-linux-arm-gnueabihf': 20.0.0
+ '@nx/nx-linux-arm64-gnu': 20.0.0
+ '@nx/nx-linux-arm64-musl': 20.0.0
+ '@nx/nx-linux-x64-gnu': 20.0.0
+ '@nx/nx-linux-x64-musl': 20.0.0
+ '@nx/nx-win32-arm64-msvc': 20.0.0
+ '@nx/nx-win32-x64-msvc': 20.0.0
+ '@swc-node/register': 1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3)
+ '@swc/core': 1.5.29(@swc/helpers@0.5.15)
+ transitivePeerDependencies:
+ - debug
+
nx@20.1.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.12)(typescript@5.6.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)):
dependencies:
'@napi-rs/wasm-runtime': 0.2.4
@@ -28851,6 +29240,10 @@ snapshots:
tiny-invariant: 1.3.3
tslib: 2.8.1
+ rechoir@0.6.2:
+ dependencies:
+ resolve: 1.22.8
+
recma-build-jsx@1.0.0:
dependencies:
'@types/estree': 1.0.6
@@ -29519,6 +29912,12 @@ snapshots:
shell-quote@1.8.1: {}
+ shelljs@0.8.5:
+ dependencies:
+ glob: 7.2.3
+ interpret: 1.4.0
+ rechoir: 0.6.2
+
shiki@1.22.2:
dependencies:
'@shikijs/core': 1.22.2
@@ -30067,6 +30466,10 @@ snapshots:
tailwind-merge@2.5.4: {}
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3))):
+ dependencies:
+ tailwindcss: 3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3))
+
tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@22.8.6)(typescript@5.6.3)):
dependencies:
'@alloc/quick-lru': 5.2.0
@@ -30426,6 +30829,8 @@ snapshots:
tslib@1.14.1: {}
+ tslib@2.7.0: {}
+
tslib@2.8.1: {}
tsscmp@1.0.6: {}
diff --git a/tsconfig.base.json b/tsconfig.base.json
index a9943fd6a..4be67bb8a 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -2,37 +2,24 @@
"compilerOptions": {
"target": "es2015",
"lib": ["es2020", "dom"],
- // "---------- JAVASCRIPT SUPPORT ---------": "",
- // "---------- EDITOR SUPPORT ---------": "",
- // "---------- INTEROP CONSTRAINTS ---------": "",
- // "---------- BACKWARDS COMPATIBILITY ---------": "",
- // "---------- LANGUAGE AND ENVIRONMENT ---------": "",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- // "---------- TYPE CHECKING ---------": "",
- // "---------- MODULES ---------": "",
"baseUrl": ".",
"rootDir": ".",
"module": "esnext",
"moduleResolution": "node",
- // "---------- EMIT ---------": "",
"paths": {
- "@cuhacking/ui": ["libs/shared/ui/src/index.ts"]
+ "@cuhacking/ui": ["libs/shared/ui/src/index.ts"],
+ "@cuhacking/utils": ["libs/shared/utils/src/index.ts"],
+ "@cuhacking/ui/*": ["libs/shared/ui/src/*"],
+ "@cuhacking/utils/*": ["libs/shared/utils/src/*"]
},
"declaration": false,
"importHelpers": true,
"sourceMap": true,
- // "---------- COMPILER DIAGNOSTICS ---------": "",
- // "---------- PROJECTS ---------": "",
- // "---------- OUTPUT FORMATTING ---------": "",
- // "---------- COMPLETENESS ---------": "",
"skipDefaultLibCheck": true,
- // "---------- WATCH OPTIONS ---------": ""
"skipLibCheck": true
},
- // "---------- GENERAL REFERENCE ---------": "",
- // "Typescript Reference": "https://typescriptlang.org/tsconfig",
- // "Additional Guide": "https://pkerschbaum.com/tidbits/sensible-tsconfig-defaults",
"exclude": ["node_modules", "tmp"],
"compileOnSave": false
}