Skip to content

Commit 4720e1a

Browse files
committed
chore: update project configuration for Tailwind CSS and Vite
- Added pnpm workspace configuration to specify only built dependencies for '@parcel/watcher', 'esbuild', and '@tailwindcss/oxide'. - Removed obsolete PostCSS configuration file. - Removed Tailwind CSS configuration file. - Added new Vite configuration file with Tailwind CSS and React plugins. - Deleted old Vite configuration file.
1 parent dc74c49 commit 4720e1a

File tree

9 files changed

+1919
-1521
lines changed

9 files changed

+1919
-1521
lines changed

app/src/assets/index.css

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
@tailwind base;
2-
@tailwind components;
3-
@tailwind utilities;
1+
@import 'tailwindcss';

app/src/pages/index.tsx

Lines changed: 254 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,264 @@
11
import React from 'react';
2-
import useSWR from 'swr';
2+
// import useSWR from 'swr';
33
import Categories from '../components/Categories';
44
import Header from '../components/Header';
55
import OverviewStats from '../components/OverviewStats';
66
import { Colors } from '../components/Colors';
7-
import { fetcher } from '../utils/fetcher';
7+
// import { fetcher } from '../utils/fetcher';
88

99
export default function Home() {
10-
const { data, error } = useSWR('/api/stats', fetcher);
10+
// const { data, error } = useSWR('/api/stats', fetcher);
11+
const data = {
12+
metrics: {
13+
colors: 8,
14+
mediaQueries: 7,
15+
selectors: 203,
16+
selectorsByAttribute: 1,
17+
selectorsByClass: 113,
18+
selectorsById: 0,
19+
selectorsByPseudo: 14,
20+
selectorsByTag: 69,
21+
rules: 148,
22+
declarations: 274,
23+
},
24+
categories: [
25+
{ name: '*', category: 'Unknown' },
26+
{ prefixes: [''], name: 'after', category: 'Unknown' },
27+
{ prefixes: [''], name: 'before', category: 'Unknown' },
28+
{ prefixes: [''], name: 'after', category: 'Unknown' },
29+
{ prefixes: [''], name: 'before', category: 'Unknown' },
30+
{ name: 'html', category: 'Unknown' },
31+
{ name: 'body', category: 'Unknown' },
32+
{ name: 'hr', category: 'Unknown' },
33+
{ prefixes: ['abbr'], name: 'where([title])', category: 'Variable' },
34+
{ name: 'h1', category: 'Unknown' },
35+
{ name: 'h2', category: 'Unknown' },
36+
{ name: 'h3', category: 'Unknown' },
37+
{ name: 'h4', category: 'Unknown' },
38+
{ name: 'h5', category: 'Unknown' },
39+
{ name: 'h6', category: 'Unknown' },
40+
{ name: 'a', category: 'Unknown' },
41+
{ name: 'b', category: 'Unknown' },
42+
{ name: 'strong', category: 'Unknown' },
43+
{ name: 'code', category: 'Unknown' },
44+
{ name: 'kbd', category: 'Unknown' },
45+
{ name: 'pre', category: 'Unknown' },
46+
{ name: 'samp', category: 'Unknown' },
47+
{ name: 'small', category: 'Unknown' },
48+
{ name: 'sub', category: 'Unknown' },
49+
{ name: 'sup', category: 'Unknown' },
50+
{ name: 'sub', category: 'Unknown' },
51+
{ name: 'sup', category: 'Unknown' },
52+
{ name: 'table', category: 'Display' },
53+
{ name: 'button', category: 'Unknown' },
54+
{ name: 'input', category: 'Unknown' },
55+
{ name: 'optgroup', category: 'Unknown' },
56+
{ name: 'select', category: 'Unknown' },
57+
{ name: 'textarea', category: 'Unknown' },
58+
{ name: 'button', category: 'Unknown' },
59+
{ name: 'select', category: 'Unknown' },
60+
{ name: '[type=button]', category: 'Variable' },
61+
{ name: '[type=reset]', category: 'Variable' },
62+
{ name: '[type=submit]', category: 'Variable' },
63+
{ name: 'button', category: 'Unknown' },
64+
{ prefixes: [''], name: '-moz-focusring', category: 'Unknown' },
65+
{ prefixes: [''], name: '-moz-ui-invalid', category: 'Unknown' },
66+
{ name: 'progress', category: 'Unknown' },
67+
{
68+
prefixes: ['', ''],
69+
name: '-webkit-inner-spin-button',
70+
category: 'Unknown',
71+
},
72+
{
73+
prefixes: ['', ''],
74+
name: '-webkit-outer-spin-button',
75+
category: 'Unknown',
76+
},
77+
{ name: '[type=search]', category: 'Variable' },
78+
{
79+
prefixes: ['', ''],
80+
name: '-webkit-search-decoration',
81+
category: 'Unknown',
82+
},
83+
{
84+
prefixes: ['', ''],
85+
name: '-webkit-file-upload-button',
86+
category: 'Unknown',
87+
},
88+
{ name: 'summary', category: 'Unknown' },
89+
{ name: 'blockquote', category: 'Unknown' },
90+
{ name: 'dd', category: 'Unknown' },
91+
{ name: 'dl', category: 'Unknown' },
92+
{ name: 'figure', category: 'Unknown' },
93+
{ name: 'h1', category: 'Unknown' },
94+
{ name: 'h2', category: 'Unknown' },
95+
{ name: 'h3', category: 'Unknown' },
96+
{ name: 'h4', category: 'Unknown' },
97+
{ name: 'h5', category: 'Unknown' },
98+
{ name: 'h6', category: 'Unknown' },
99+
{ name: 'hr', category: 'Unknown' },
100+
{ name: 'p', category: 'Unknown' },
101+
{ name: 'pre', category: 'Unknown' },
102+
{ name: 'fieldset', category: 'Unknown' },
103+
{ name: 'fieldset', category: 'Unknown' },
104+
{ name: 'legend', category: 'Unknown' },
105+
{ name: 'menu', category: 'Unknown' },
106+
{ name: 'ol', category: 'Unknown' },
107+
{ name: 'ul', category: 'Unknown' },
108+
{ name: 'dialog', category: 'Unknown' },
109+
{ name: 'textarea', category: 'Unknown' },
110+
{
111+
prefixes: ['input', ''],
112+
name: '-moz-placeholder',
113+
category: 'Unknown',
114+
},
115+
{
116+
prefixes: ['textarea', ''],
117+
name: '-moz-placeholder',
118+
category: 'Unknown',
119+
},
120+
{ prefixes: ['input', ''], name: 'placeholder', category: 'Unknown' },
121+
{ prefixes: ['textarea', ''], name: 'placeholder', category: 'Unknown' },
122+
{ name: '[role=button]', category: 'Variable' },
123+
{ name: 'button', category: 'Unknown' },
124+
{ prefixes: [''], name: 'disabled', category: 'Unknown' },
125+
{ name: 'audio', category: 'Unknown' },
126+
{ name: 'canvas', category: 'Unknown' },
127+
{ name: 'embed', category: 'Unknown' },
128+
{ name: 'iframe', category: 'Unknown' },
129+
{ name: 'img', category: 'Unknown' },
130+
{ name: 'object', category: 'Unknown' },
131+
{ name: 'svg', category: 'Unknown' },
132+
{ name: 'video', category: 'Unknown' },
133+
{ name: 'img', category: 'Unknown' },
134+
{ name: 'video', category: 'Unknown' },
135+
{ name: '[hidden]', category: 'Variable' },
136+
{ name: '*', category: 'Unknown' },
137+
{ prefixes: ['', ''], name: 'backdrop', category: 'Unknown' },
138+
{ prefixes: [''], name: 'after', category: 'Unknown' },
139+
{ prefixes: [''], name: 'before', category: 'Unknown' },
140+
{ name: 'container', category: 'Unknown' },
141+
{ category: '@media', name: '@media (min-width:640px)' },
142+
{ category: '@media', name: '@media (min-width:768px)' },
143+
{ category: '@media', name: '@media (min-width:1024px)' },
144+
{ category: '@media', name: '@media (min-width:1280px)' },
145+
{ category: '@media', name: '@media (min-width:1536px)' },
146+
{ name: 'mx-auto', category: 'Margin' },
147+
{ name: 'my-2', category: 'Margin' },
148+
{ name: 'my-8', category: 'Margin' },
149+
{ name: 'mb-2', category: 'Margin' },
150+
{ name: 'mb-4', category: 'Margin' },
151+
{ name: 'mb-8', category: 'Margin' },
152+
{ name: 'mr-2', category: 'Margin' },
153+
{ name: 'block', category: 'Display' },
154+
{ name: 'flex', category: 'Display' },
155+
{ name: 'inline-flex', category: 'Display' },
156+
{ name: 'table', category: 'Display' },
157+
{ name: 'grid', category: 'Display' },
158+
{ name: 'hidden', category: 'Display' },
159+
{ name: 'h-12', category: 'Size' },
160+
{ name: 'h-16', category: 'Size' },
161+
{ name: 'w-12', category: 'Size' },
162+
{ name: 'w-16', category: 'Size' },
163+
{ name: 'w-auto', category: 'Size' },
164+
{ name: '-skew-x-12', category: 'Transform' },
165+
{ name: '-skew-x-12', category: 'Transform' },
166+
{ name: 'skew-x-12', category: 'Transform' },
167+
{ name: 'skew-x-12', category: 'Transform' },
168+
{ name: 'transform', category: 'Transform' },
169+
{ name: 'cursor-default', category: 'Cursor' },
170+
{ name: 'cursor-pointer', category: 'Cursor' },
171+
{ name: 'grid-cols-3', category: 'Grid' },
172+
{ name: 'grid-cols-5', category: 'Grid' },
173+
{ name: 'flex-col', category: 'Flex' },
174+
{ name: 'flex-wrap', category: 'Flex' },
175+
{ name: 'items-end', category: 'Align Items' },
176+
{ name: 'items-center', category: 'Align Items' },
177+
{ name: 'justify-start', category: 'Justify Content' },
178+
{ name: 'justify-between', category: 'Justify Content' },
179+
{ name: 'gap-10', category: 'Gap' },
180+
{ name: 'gap-2', category: 'Gap' },
181+
{ name: 'gap-4', category: 'Gap' },
182+
{ name: 'gap-5', category: 'Gap' },
183+
{ name: 'rounded', category: 'Unknown' },
184+
{ name: 'rounded-full', category: 'Border Radius' },
185+
{ name: 'rounded-lg', category: 'Border Radius' },
186+
{ name: 'rounded-md', category: 'Border Radius' },
187+
{ name: 'border', category: 'Unknown' },
188+
{ name: 'border-r-2', category: 'Border' },
189+
{ name: 'border-gray-600', category: 'Border' },
190+
{ name: 'bg-black\\/60', category: 'Background' },
191+
{ name: 'bg-gray-100', category: 'Background' },
192+
{ name: 'bg-gray-600', category: 'Background' },
193+
{ name: 'bg-white', category: 'Background' },
194+
{ name: 'p-2', category: 'Padding' },
195+
{ name: 'p-4', category: 'Padding' },
196+
{ name: 'p-5', category: 'Padding' },
197+
{ name: 'px-16', category: 'Padding' },
198+
{ name: 'px-2', category: 'Padding' },
199+
{ name: 'px-2\\.5', category: 'Padding' },
200+
{ name: 'px-6', category: 'Padding' },
201+
{ name: 'px-8', category: 'Padding' },
202+
{ name: 'py-0', category: 'Padding' },
203+
{ name: 'py-0\\.5', category: 'Padding' },
204+
{ name: 'py-2', category: 'Padding' },
205+
{ name: 'py-4', category: 'Padding' },
206+
{ name: 'pb-2', category: 'Padding' },
207+
{ name: 'pr-2', category: 'Padding' },
208+
{ name: 'pt-4', category: 'Padding' },
209+
{ name: 'text-2xl', category: 'Text' },
210+
{ name: 'text-6xl', category: 'Text' },
211+
{ name: 'text-base', category: 'Text' },
212+
{ name: 'text-lg', category: 'Text' },
213+
{ name: 'text-lg', category: 'Text' },
214+
{ name: 'text-xl', category: 'Text' },
215+
{ name: 'text-xl', category: 'Text' },
216+
{ name: 'font-bold', category: 'Font' },
217+
{ name: 'font-extralight', category: 'Font' },
218+
{ name: 'font-medium', category: 'Font' },
219+
{ name: 'font-semibold', category: 'Font' },
220+
{ name: 'leading-none', category: 'Line Height' },
221+
{ name: 'tracking-tight', category: 'Letter Spacing' },
222+
{ name: 'text-\\[\\#ff0000\\]', category: 'Text' },
223+
{ name: 'text-gray-400', category: 'Text' },
224+
{ name: 'text-green-500', category: 'Text' },
225+
{ name: 'text-white', category: 'Text' },
226+
{ name: 'shadow', category: 'Unknown' },
227+
{ name: 'shadow', category: 'Unknown' },
228+
{ name: 'shadow-sm', category: 'Box Shadow' },
229+
{ name: 'shadow-sm', category: 'Box Shadow' },
230+
{ name: 'outline-none', category: 'Outline' },
231+
{ name: 'ring', category: 'Unknown' },
232+
{ name: 'ring', category: 'Unknown' },
233+
{ name: 'ring-2', category: 'Ring' },
234+
{ name: 'ring-2', category: 'Ring' },
235+
{ name: 'ring-offset-2', category: 'Ring' },
236+
{ name: 'ring-offset-current', category: 'Ring' },
237+
{ name: 'filter', category: 'Unknown' },
238+
{ name: 'transition', category: 'Unknown' },
239+
{ name: 'transition-colors', category: 'Animation' },
240+
{ name: 'transition-shadow', category: 'Animation' },
241+
{ name: 'duration-500', category: 'Animation' },
242+
{ name: 'ease-in-out', category: 'Animation' },
243+
{
244+
prefixes: ['hover\\', 'shadow-md'],
245+
name: 'hover',
246+
category: 'Unknown',
247+
},
248+
{
249+
prefixes: ['focus\\', 'outline-none'],
250+
name: 'focus',
251+
category: 'Unknown',
252+
},
253+
{ prefixes: ['focus\\', 'ring-2'], name: 'focus', category: 'Unknown' },
254+
{
255+
prefixes: ['group', 'hover .group-hover\\'],
256+
name: 'bg-black\\/80',
257+
category: 'Background',
258+
},
259+
],
260+
};
261+
const error = false;
11262

12263
return (
13264
<div className="container mx-auto px-4">

package.json

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -54,38 +54,39 @@
5454
}
5555
],
5656
"devDependencies": {
57-
"@size-limit/file": "^9.0.0",
58-
"@types/connect": "^3.4.37",
59-
"@types/cross-spawn": "^6.0.4",
60-
"@types/fs-extra": "^11.0.3",
61-
"@types/react": "^18.2.32",
62-
"@types/react-dom": "^18.2.14",
63-
"@vitejs/plugin-react": "^4.1.0",
64-
"autoprefixer": "^10.4.16",
65-
"husky": "^8.0.3",
66-
"postcss": "^8.4.31",
67-
"size-limit": "^9.0.0",
68-
"size-limit-node-esbuild": "^0.2.0",
69-
"terser": "^5.22.0",
70-
"tslib": "^2.6.2",
71-
"tsup": "^7.2.0",
72-
"typescript": "^5.2.2",
73-
"vite": "^4.5.0"
57+
"@size-limit/file": "^11.2.0",
58+
"@tailwindcss/vite": "^4.1.7",
59+
"@types/connect": "^3.4.38",
60+
"@types/cross-spawn": "^6.0.6",
61+
"@types/fs-extra": "^11.0.4",
62+
"@types/react": "^19.1.6",
63+
"@types/react-dom": "^19.1.5",
64+
"@vitejs/plugin-react": "^4.5.0",
65+
"autoprefixer": "^10.4.21",
66+
"husky": "^9.1.7",
67+
"postcss": "^8.5.3",
68+
"size-limit": "^11.2.0",
69+
"size-limit-node-esbuild": "^0.4.0",
70+
"terser": "^5.40.0",
71+
"tslib": "^2.8.1",
72+
"tsup": "^8.5.0",
73+
"typescript": "^5.8.3",
74+
"vite": "^6.3.5"
7475
},
7576
"dependencies": {
76-
"analyze-css": "^2.1.123",
77+
"analyze-css": "^2.4.5",
7778
"cac": "^6.7.14",
7879
"connect": "^3.7.0",
79-
"cross-spawn": "^7.0.3",
80+
"cross-spawn": "^7.0.6",
8081
"cssjson": "^2.1.3",
81-
"fs-extra": "^11.1.1",
82-
"get-port": "^7.0.0",
83-
"open": "^9.1.0",
84-
"react": "^18.2.0",
85-
"react-dom": "^18.2.0",
86-
"sirv": "^2.0.3",
87-
"swr": "^2.2.4",
88-
"tailwindcss": "^3.3.5",
89-
"tmp": "^0.2.1"
82+
"fs-extra": "^11.3.0",
83+
"get-port": "^7.1.0",
84+
"open": "^10.1.2",
85+
"react": "^19.1.0",
86+
"react-dom": "^19.1.0",
87+
"sirv": "^3.0.1",
88+
"swr": "^2.3.3",
89+
"tailwindcss": "^4.1.7",
90+
"tmp": "^0.2.3"
9091
}
9192
}

0 commit comments

Comments
 (0)