feat: refactor setup tailwind and css

This commit is contained in:
Firman Ramdhani
2026-02-27 13:34:59 +07:00
parent 8bfa66111a
commit 8181bd61ec
8 changed files with 28 additions and 59 deletions
+4 -1
View File
@@ -1,6 +1,9 @@
import { lazy, Suspense } from 'react'; import { lazy, Suspense } from 'react';
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'; import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import { NotFound, Forbidden, Maintenance, ComingSoon } from '@repo/ui'; import { NotFound } from '@repo/ui/components/system-pages/not-found';
import { Forbidden } from '@repo/ui/components/system-pages/forbidden';
import { Maintenance } from '@repo/ui/components/system-pages/maintenance';
import { ComingSoon } from '@repo/ui/components/system-pages/coming-soon';
const AuthModule = lazy(() => import('./auth')); const AuthModule = lazy(() => import('./auth'));
const AppModule = lazy(() => import('./modules')); const AppModule = lazy(() => import('./modules'));
@@ -1,3 +1,3 @@
export default function ExamplePage() { export default function ExamplePage() {
return <div>example</div>; return <div className="bg-amber-200">example</div>;
} }
+3 -1
View File
@@ -1 +1,3 @@
@import '@repo/ui/global.css'; @import 'tailwindcss';
@import '@repo/ui/theme.css';
@source "../../../packages/ui/src";
+11 -5
View File
@@ -2,8 +2,10 @@
"name": "@repo/ui", "name": "@repo/ui",
"version": "0.0.0", "version": "0.0.0",
"exports": { "exports": {
".": "./src/index.ts", "./theme.css": "./src/theme.css",
"./global.css": "./src/globals.css" "./components/*": "./src/components/*.tsx",
"./hooks/*": "./src/hooks/*.ts",
"./utils/*": "./src/utils/*.ts"
}, },
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
@@ -11,12 +13,13 @@
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest --watch" "test:watch": "vitest --watch"
}, },
"peerDependencies": {
"react": "^19.2.3",
"react-dom": "^19.2.3"
},
"dependencies": { "dependencies": {
"@repo/utils": "workspace:*", "@repo/utils": "workspace:*",
"@tailwindcss/vite": "^4.1.18",
"dayjs": "^1.11.19", "dayjs": "^1.11.19",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"tailwind-merge": "^3.4.0", "tailwind-merge": "^3.4.0",
"tailwind-variants": "^3.2.2", "tailwind-variants": "^3.2.2",
"tailwindcss": "^4.1.18" "tailwindcss": "^4.1.18"
@@ -24,10 +27,13 @@
"devDependencies": { "devDependencies": {
"@repo/eslint-config": "workspace:*", "@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*", "@repo/typescript-config": "workspace:*",
"@tailwindcss/vite": "^4.1.18",
"@types/react": "^19.2.7", "@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.2", "@vitejs/plugin-react": "^5.1.2",
"eslint": "^8.57.1", "eslint": "^8.57.1",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"typescript": "5.5.4", "typescript": "5.5.4",
"vite": "^5.1.4", "vite": "^5.1.4",
"vitest": "^4.0.17" "vitest": "^4.0.17"
-4
View File
@@ -1,4 +0,0 @@
export * from './system-pages/coming-soon';
export * from './system-pages/forbidden';
export * from './system-pages/maintenance';
export * from './system-pages/not-found';
-2
View File
@@ -1,2 +0,0 @@
// UI Components
export * from './components';
@@ -1,6 +1,3 @@
@import 'tailwindcss';
@source "../src";
/* ========================================= /* =========================================
THEME VARIABLES (CENTRALIZED) THEME VARIABLES (CENTRALIZED)
========================================= */ ========================================= */
+9 -42
View File
@@ -164,18 +164,9 @@ importers:
'@repo/utils': '@repo/utils':
specifier: workspace:* specifier: workspace:*
version: link:../utils version: link:../utils
'@tailwindcss/vite':
specifier: ^4.1.18
version: 4.1.18(vite@5.4.17)
dayjs: dayjs:
specifier: ^1.11.19 specifier: ^1.11.19
version: 1.11.19 version: 1.11.19
react:
specifier: ^19.2.3
version: 19.2.3
react-dom:
specifier: ^19.2.3
version: 19.2.3(react@19.2.3)
tailwind-merge: tailwind-merge:
specifier: ^3.4.0 specifier: ^3.4.0
version: 3.4.0 version: 3.4.0
@@ -192,6 +183,9 @@ importers:
'@repo/typescript-config': '@repo/typescript-config':
specifier: workspace:* specifier: workspace:*
version: link:../configs/typescript version: link:../configs/typescript
'@tailwindcss/vite':
specifier: ^4.1.18
version: 4.1.18(vite@5.4.17)
'@types/react': '@types/react':
specifier: ^19.2.7 specifier: ^19.2.7
version: 19.2.7 version: 19.2.7
@@ -204,6 +198,12 @@ importers:
eslint: eslint:
specifier: ^8.57.1 specifier: ^8.57.1
version: 8.57.1 version: 8.57.1
react:
specifier: ^19.2.3
version: 19.2.3
react-dom:
specifier: ^19.2.3
version: 19.2.3(react@19.2.3)
typescript: typescript:
specifier: 5.5.4 specifier: 5.5.4
version: 5.5.4 version: 5.5.4
@@ -1872,7 +1872,6 @@ packages:
magic-string: 0.30.21 magic-string: 0.30.21
source-map-js: 1.2.1 source-map-js: 1.2.1
tailwindcss: 4.1.18 tailwindcss: 4.1.18
dev: false
/@tailwindcss/oxide-android-arm64@4.1.18: /@tailwindcss/oxide-android-arm64@4.1.18:
resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==}
@@ -1880,7 +1879,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-darwin-arm64@4.1.18: /@tailwindcss/oxide-darwin-arm64@4.1.18:
@@ -1889,7 +1887,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-darwin-x64@4.1.18: /@tailwindcss/oxide-darwin-x64@4.1.18:
@@ -1898,7 +1895,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-freebsd-x64@4.1.18: /@tailwindcss/oxide-freebsd-x64@4.1.18:
@@ -1907,7 +1903,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18: /@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18:
@@ -1916,7 +1911,6 @@ packages:
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-linux-arm64-gnu@4.1.18: /@tailwindcss/oxide-linux-arm64-gnu@4.1.18:
@@ -1925,7 +1919,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-linux-arm64-musl@4.1.18: /@tailwindcss/oxide-linux-arm64-musl@4.1.18:
@@ -1934,7 +1927,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-linux-x64-gnu@4.1.18: /@tailwindcss/oxide-linux-x64-gnu@4.1.18:
@@ -1943,7 +1935,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-linux-x64-musl@4.1.18: /@tailwindcss/oxide-linux-x64-musl@4.1.18:
@@ -1952,7 +1943,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-wasm32-wasi@4.1.18: /@tailwindcss/oxide-wasm32-wasi@4.1.18:
@@ -1960,7 +1950,6 @@ packages:
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
cpu: [wasm32] cpu: [wasm32]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
bundledDependencies: bundledDependencies:
- '@napi-rs/wasm-runtime' - '@napi-rs/wasm-runtime'
@@ -1976,7 +1965,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide-win32-x64-msvc@4.1.18: /@tailwindcss/oxide-win32-x64-msvc@4.1.18:
@@ -1985,7 +1973,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/@tailwindcss/oxide@4.1.18: /@tailwindcss/oxide@4.1.18:
@@ -2004,7 +1991,6 @@ packages:
'@tailwindcss/oxide-wasm32-wasi': 4.1.18 '@tailwindcss/oxide-wasm32-wasi': 4.1.18
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18
'@tailwindcss/oxide-win32-x64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18
dev: false
/@tailwindcss/vite@4.1.18(vite@5.4.17): /@tailwindcss/vite@4.1.18(vite@5.4.17):
resolution: {integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==} resolution: {integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==}
@@ -2015,7 +2001,6 @@ packages:
'@tailwindcss/oxide': 4.1.18 '@tailwindcss/oxide': 4.1.18
tailwindcss: 4.1.18 tailwindcss: 4.1.18
vite: 5.4.17 vite: 5.4.17
dev: false
/@tybys/wasm-util@0.10.1: /@tybys/wasm-util@0.10.1:
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
@@ -3397,7 +3382,6 @@ packages:
/detect-libc@2.1.2: /detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
dev: false
/detect-newline@4.0.1: /detect-newline@4.0.1:
resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==}
@@ -3470,7 +3454,6 @@ packages:
dependencies: dependencies:
graceful-fs: 4.2.11 graceful-fs: 4.2.11
tapable: 2.3.0 tapable: 2.3.0
dev: false
/err-code@2.0.3: /err-code@2.0.3:
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
@@ -4449,7 +4432,6 @@ packages:
/graceful-fs@4.2.11: /graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: false
/graphemer@1.4.0: /graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
@@ -4857,7 +4839,6 @@ packages:
/jiti@2.6.1: /jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true hasBin: true
dev: false
/jju@1.4.0: /jju@1.4.0:
resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
@@ -4964,7 +4945,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-darwin-arm64@1.30.2: /lightningcss-darwin-arm64@1.30.2:
@@ -4973,7 +4953,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-darwin-x64@1.30.2: /lightningcss-darwin-x64@1.30.2:
@@ -4982,7 +4961,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-freebsd-x64@1.30.2: /lightningcss-freebsd-x64@1.30.2:
@@ -4991,7 +4969,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-linux-arm-gnueabihf@1.30.2: /lightningcss-linux-arm-gnueabihf@1.30.2:
@@ -5000,7 +4977,6 @@ packages:
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-linux-arm64-gnu@1.30.2: /lightningcss-linux-arm64-gnu@1.30.2:
@@ -5009,7 +4985,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-linux-arm64-musl@1.30.2: /lightningcss-linux-arm64-musl@1.30.2:
@@ -5018,7 +4993,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-linux-x64-gnu@1.30.2: /lightningcss-linux-x64-gnu@1.30.2:
@@ -5027,7 +5001,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-linux-x64-musl@1.30.2: /lightningcss-linux-x64-musl@1.30.2:
@@ -5036,7 +5009,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-win32-arm64-msvc@1.30.2: /lightningcss-win32-arm64-msvc@1.30.2:
@@ -5045,7 +5017,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss-win32-x64-msvc@1.30.2: /lightningcss-win32-x64-msvc@1.30.2:
@@ -5054,7 +5025,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: false
optional: true optional: true
/lightningcss@1.30.2: /lightningcss@1.30.2:
@@ -5074,7 +5044,6 @@ packages:
lightningcss-linux-x64-musl: 1.30.2 lightningcss-linux-x64-musl: 1.30.2
lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-arm64-msvc: 1.30.2
lightningcss-win32-x64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2
dev: false
/lines-and-columns@1.2.4: /lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -6831,12 +6800,10 @@ packages:
/tailwindcss@4.1.18: /tailwindcss@4.1.18:
resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==}
dev: false
/tapable@2.3.0: /tapable@2.3.0:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: false
/text-table@0.2.0: /text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}