quasarwind 1.1.1 β 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/bin/index.js +5 -4
- package/filesProject/.github/copilot-instructions.md +303 -0
- package/filesProject/package-lock.json +200 -2
- package/filesProject/package.json +1 -0
- package/filesProject/src/css/app.css +7 -1
- package/filesProject/src/css/font.css +5 -0
- package/filesProject/src/main.ts +6 -5
- package/filesProject/tsconfig.node.json +1 -1
- package/filesProject/vite.config.ts +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
# quasarwind
|
|
2
|
+
Allows you to create a Node.js project for programming in Vue 3+ with Quasar, Tailwind CSS, Flowbite, and daisyUI. You can add `!important` to Tailwind CSS classes if styles are not applying.
|
|
2
3
|
|
|
4
|
+
# instruction install
|
|
3
5
|
### 1. install
|
|
4
6
|
npm i -g quasarwind
|
|
5
7
|
### 2. Create project
|
|
6
8
|
$ quasarwind name_project
|
|
9
|
+
### 3. Command help
|
|
10
|
+
$ quasarwind -h or $ quasarwind --help
|
|
7
11
|
|
package/bin/index.js
CHANGED
|
@@ -38,10 +38,11 @@ const showHelp = () => {
|
|
|
38
38
|
console.log("π Quasarwind CLI - Help");
|
|
39
39
|
console.log("------------------------------------------------------------------");
|
|
40
40
|
console.log("β
Available commands:");
|
|
41
|
-
console.log("\n π version, -v
|
|
42
|
-
console.log(" β¨ create <name_project>
|
|
43
|
-
console.log(" π οΈ
|
|
44
|
-
console.log("
|
|
41
|
+
console.log("\n π version, -v Show version");
|
|
42
|
+
console.log(" β¨ create <name_project> Scaffolds a new project");
|
|
43
|
+
console.log(" π οΈ dev, d Run development server");
|
|
44
|
+
console.log(" π οΈ clean, c Clean files generate after build");
|
|
45
|
+
console.log(" π¦ build, b Compile for prodution");
|
|
45
46
|
console.log("\n----------------------------------------------------------------");
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# π¨ Instrucciones para Especialista Frontend
|
|
2
|
+
|
|
3
|
+
**Eres un especialisat en diseΓ±o y programador front-end
|
|
4
|
+
Stack: Vue 3 + TypeScript + Tailwind + Flowbite + DaisyUI + Quasar (selectivo).
|
|
5
|
+
**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. π― PropΓ³sito
|
|
10
|
+
|
|
11
|
+
Este documento define las **reglas, convenciones y responsabilidades** para el desarrollo del frontend del proyecto.
|
|
12
|
+
|
|
13
|
+
El objetivo es construir una interfaz:
|
|
14
|
+
|
|
15
|
+
- Escalable y mantenible
|
|
16
|
+
- Totalmente tipada
|
|
17
|
+
- Basada en composiciΓ³n y reutilizaciΓ³n
|
|
18
|
+
- Visualmente consistente
|
|
19
|
+
- Independiente de la lΓ³gica de negocio
|
|
20
|
+
- La interfaz va ser relacionada a los requicitos que defina el usaurio
|
|
21
|
+
|
|
22
|
+
La **lΓ³gica vive en composables**, no en los componentes.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. π§° Stack TecnolΓ³gico Obligatorio
|
|
27
|
+
|
|
28
|
+
### Core
|
|
29
|
+
|
|
30
|
+
- **Vue 3** (Composition API)
|
|
31
|
+
- **TypeScript** (`strict: true`)
|
|
32
|
+
- **Vite**
|
|
33
|
+
|
|
34
|
+
### UI / Estilos
|
|
35
|
+
|
|
36
|
+
- **Tailwind CSS**
|
|
37
|
+
- **Flowbite** (componentes base)
|
|
38
|
+
- **DaisyUI** (utilidades y temas)
|
|
39
|
+
- **Quasar** β β _solo para componentes especΓficos_ (ej: `QSelect`, `QDialog`)
|
|
40
|
+
|
|
41
|
+
### Estado y Arquitectura
|
|
42
|
+
|
|
43
|
+
- **Pinia** (estado global)
|
|
44
|
+
- **Composables** (toda la lΓ³gica)
|
|
45
|
+
- **Vue Router**
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. π Estructura de Carpetas
|
|
50
|
+
|
|
51
|
+
### La estructura estΓ‘ orientada a **composiciΓ³n y reutilizaciΓ³n**, no a vistas monolΓticas. ej:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
src/
|
|
55
|
+
βββ assets/
|
|
56
|
+
β βββ images/
|
|
57
|
+
β βββ icons/
|
|
58
|
+
β βββ fonts/
|
|
59
|
+
β
|
|
60
|
+
βββ css/
|
|
61
|
+
β βββ main.css
|
|
62
|
+
β βββ tailwind.css
|
|
63
|
+
β
|
|
64
|
+
βββ components/
|
|
65
|
+
β βββ ui/
|
|
66
|
+
β β βββ Button.vue
|
|
67
|
+
β β βββ Modal.vue
|
|
68
|
+
β β βββ Input.vue
|
|
69
|
+
β β
|
|
70
|
+
β βββ layout/
|
|
71
|
+
β βββ AppHeader.vue
|
|
72
|
+
β
|
|
73
|
+
βββ layouts/
|
|
74
|
+
β βββ DefaultLayout.vue
|
|
75
|
+
β βββ AuthLayout.vue
|
|
76
|
+
β
|
|
77
|
+
βββ pages/
|
|
78
|
+
β βββ HomePage.vue
|
|
79
|
+
β βββ LoginPage.vue
|
|
80
|
+
β
|
|
81
|
+
βββ composables/
|
|
82
|
+
β βββ useAuth.ts
|
|
83
|
+
β βββ useFetch.ts
|
|
84
|
+
β βββ useForm.ts
|
|
85
|
+
β
|
|
86
|
+
βββ stores/
|
|
87
|
+
β βββ auth.store.ts
|
|
88
|
+
β βββ ui.store.ts
|
|
89
|
+
β
|
|
90
|
+
βββ router/
|
|
91
|
+
β βββ index.ts
|
|
92
|
+
β
|
|
93
|
+
βββ services/
|
|
94
|
+
β βββ api.ts
|
|
95
|
+
β
|
|
96
|
+
βββ types/
|
|
97
|
+
β βββ index.ts
|
|
98
|
+
β
|
|
99
|
+
βββ App.vue
|
|
100
|
+
βββ main.ts
|
|
101
|
+
βββ vite-env.d.ts
|
|
102
|
+
βββ shims-vue.d.ts
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 4. π§ Principios de Arquitectura
|
|
109
|
+
|
|
110
|
+
### Regla de Oro
|
|
111
|
+
|
|
112
|
+
- **Los componentes NO contienen lΓ³gica de negocio**
|
|
113
|
+
- **SeparaciΓ³n clara**
|
|
114
|
+
- **Componentes β UI pura**
|
|
115
|
+
- **Composables β lΓ³gica, estado local, efectos**
|
|
116
|
+
- **Pinia β estado global**
|
|
117
|
+
- **Services β comunicaciΓ³n HTTP**
|
|
118
|
+
- **Pages β orquestan, no procesan**
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 5. π§© Componentes
|
|
123
|
+
|
|
124
|
+
## Reglas
|
|
125
|
+
|
|
126
|
+
- **Deben ser presentacionales**
|
|
127
|
+
- **Props estrictamente tipadas** ej:
|
|
128
|
+
```
|
|
129
|
+
interface Props = {
|
|
130
|
+
modelValue: string
|
|
131
|
+
disabled?: boolean
|
|
132
|
+
}
|
|
133
|
+
const props = defineProps<Props>()
|
|
134
|
+
```
|
|
135
|
+
- **Sin llamadas HTTP**
|
|
136
|
+
- **Sin lΓ³gica compleja**
|
|
137
|
+
- **Emiten eventos, no decisiones**
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 6. π Composables (Centro de la LΓ³gica)
|
|
142
|
+
|
|
143
|
+
- **Toda la lΓ³gica debe vivir aquΓ ej: `user.ts`**
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
export function useUsers() {
|
|
147
|
+
const users = ref<User[]>([])
|
|
148
|
+
const isLoading = ref(false)
|
|
149
|
+
|
|
150
|
+
async function fetchUsers() {
|
|
151
|
+
isLoading.value = true
|
|
152
|
+
users.value = await api.get('/users')
|
|
153
|
+
isLoading.value = false
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return {
|
|
157
|
+
users,
|
|
158
|
+
fetchUsers,
|
|
159
|
+
isLoading
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
- **Fetch de datos**
|
|
165
|
+
- **Validaciones**
|
|
166
|
+
- **Transformaciones**
|
|
167
|
+
- **Estados locales**
|
|
168
|
+
- **IntegraciΓ³n con stores**
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## 7. ποΈ Estado Global (Pinia)
|
|
173
|
+
|
|
174
|
+
### CuΓ‘ndo usar Pinia
|
|
175
|
+
|
|
176
|
+
- **AutenticaciΓ³n**
|
|
177
|
+
- **Usuario actual**
|
|
178
|
+
- **UI global (modales, loaders)**
|
|
179
|
+
- **Datos compartidos entre pΓ‘ginas**
|
|
180
|
+
|
|
181
|
+
### CuΓ‘ndo NO usarlo
|
|
182
|
+
|
|
183
|
+
- **Estado local de un formulario**
|
|
184
|
+
- **Datos temporales**
|
|
185
|
+
- **LΓ³gica de componentes**
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 8. π¨ UI Libraries β Reglas de Uso
|
|
190
|
+
|
|
191
|
+
### Generales
|
|
192
|
+
|
|
193
|
+
Las clases `css` que existen en `Quasar` y `Tailwinds` solo pueden ser usadas en los componentes de quasar eje de clases:
|
|
194
|
+
|
|
195
|
+
- `hidden`
|
|
196
|
+
- **Regla de Estilo CSS**: "Siempre que generes o sugieras clases de utilidad para el modo oscuro (aquellas que comienzan con el prefijo `dark:`), debes aΓ±adir obligatoriamente un signo de exclamaciΓ³n ! al final de la clase (ejemplo: `dark:bg-slate-800!`). Esto es necesario para asegurar la prioridad sobre los estilos base de Quasar. Por favor, aΓ±ade este punto a tu checklist de revisiΓ³n de cΓ³digo antes de entregar cualquier componente Vue."
|
|
197
|
+
ej:
|
|
198
|
+
#### Mal (sin instruir):
|
|
199
|
+
```
|
|
200
|
+
<div class="bg-white dark:bg-black">
|
|
201
|
+
```
|
|
202
|
+
#### Bien (con tu instrucciΓ³n):
|
|
203
|
+
```
|
|
204
|
+
<div class="bg-white dark:bg-black!">
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Tailwind CSS
|
|
208
|
+
|
|
209
|
+
- **Base del styling**
|
|
210
|
+
- **Clases utilitarias**
|
|
211
|
+
- **Nada de CSS global innecesario**
|
|
212
|
+
|
|
213
|
+
### Flowbite
|
|
214
|
+
|
|
215
|
+
- **Componentes base (buttons, modals, dropdowns)**
|
|
216
|
+
- **Se pueden extender con Tailwind**
|
|
217
|
+
|
|
218
|
+
### DaisyUI
|
|
219
|
+
|
|
220
|
+
- **Temas**
|
|
221
|
+
- **Variantes rΓ‘pidas**
|
|
222
|
+
- **Utilidades visuales**
|
|
223
|
+
|
|
224
|
+
### Quasar (Uso Restringido)
|
|
225
|
+
|
|
226
|
+
#### Solo usar para componentes especΓficos, por ejemplo:
|
|
227
|
+
|
|
228
|
+
- **QSelect**
|
|
229
|
+
- **QDialog**
|
|
230
|
+
- **QDatePicker**
|
|
231
|
+
|
|
232
|
+
#### No usar:
|
|
233
|
+
|
|
234
|
+
- **Layout**
|
|
235
|
+
- **Sistema de grid**
|
|
236
|
+
- **Theming global**
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 9. π ComunicaciΓ³n con API
|
|
241
|
+
|
|
242
|
+
Toda llamada HTTP debe pasar por `services/api.ts` ej:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
interface Api {
|
|
246
|
+
get: <T>(url: string) => Promise<T>
|
|
247
|
+
post: <T>(url: string, data: unknown) => Promise<T>
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const api: Api = {
|
|
251
|
+
get: <T>(url: string): Promise<T> => { ... },
|
|
252
|
+
post: <T>(url: string, data: unknown): Promise<T> => { ... }
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Nunca llamar fetch o axios directamente desde componentes.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 10. π Convenciones Obligatorias
|
|
261
|
+
|
|
262
|
+
- **script setup `lang="ts"`**
|
|
263
|
+
- **Tipado estricto en props, emits y retornos**
|
|
264
|
+
- **Nombres de composables con use**
|
|
265
|
+
- **Un composable = una responsabilidad**
|
|
266
|
+
- **Nada de lΓ³gica en templates**
|
|
267
|
+
- **Usa interface para**: Definir la estructura de componentes, objetos de la API, modelos de datos y contratos de clases.
|
|
268
|
+
- **Usa type para**: Tipos lΓ³gicos, uniones, alias de tipos simples o cuando necesitas manipular tipos (Pick, Omit, etc.).
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## 11. β Antipatrones
|
|
273
|
+
|
|
274
|
+
- **LΓ³gica en componentes**
|
|
275
|
+
- **Stores gigantes**
|
|
276
|
+
- **Estilos inline**
|
|
277
|
+
- **Componentes dependientes de API**
|
|
278
|
+
- **Uso excesivo de Quasar**
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 12. β
Checklist antes de entregar
|
|
283
|
+
|
|
284
|
+
- **ΒΏLa lΓ³gica estΓ‘ en un composable?**
|
|
285
|
+
- **ΒΏEl componente es reutilizable?**
|
|
286
|
+
- **ΒΏTodo estΓ‘ tipado?**
|
|
287
|
+
- **ΒΏPinia solo cuando aplica?**
|
|
288
|
+
- **ΒΏUI consistente con Tailwind / Flowbite / DaisyUI?**
|
|
289
|
+
- **ΒΏUI cubre todos los requisitos?**
|
|
290
|
+
- **Interfaces estilo apple concistente**
|
|
291
|
+
- **ΒΏUI consistente similares visualmente a las de apple?**
|
|
292
|
+
- **ΒΏAsync y await consistentes ?**
|
|
293
|
+
- **ΒΏSeparacion entre componentes sea optima y la mas adecuada?**
|
|
294
|
+
- **ΒΏEl idioma siempre es el portugues de Brasil?**
|
|
295
|
+
- **Evita el errores de Linter como:**.
|
|
296
|
+
1. """Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.eslint@typescript-eslint/no-floating-promises""".
|
|
297
|
+
2. """var x is defined but never used.eslint@typescript-eslint/no-unused-vars"""
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 13. π Fuente de Verdad
|
|
301
|
+
|
|
302
|
+
Este documento define cΓ³mo se escribe frontend en este proyecto.
|
|
303
|
+
Cualquier excepciΓ³n debe estar justificada y documentada.
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@quasar/extras": "^1.17.0",
|
|
12
12
|
"@tailwindcss/vite": "^4.1.13",
|
|
13
|
+
"flowbite": "^4.0.1",
|
|
13
14
|
"pinia": "^3.0.3",
|
|
14
15
|
"quasar": "^2.18.5",
|
|
15
16
|
"tailwindcss": "^4.1.13",
|
|
@@ -38,6 +39,18 @@
|
|
|
38
39
|
"vue-tsc": "^3.0.7"
|
|
39
40
|
}
|
|
40
41
|
},
|
|
42
|
+
"node_modules/@alloc/quick-lru": {
|
|
43
|
+
"version": "5.2.0",
|
|
44
|
+
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
|
|
45
|
+
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=10"
|
|
49
|
+
},
|
|
50
|
+
"funding": {
|
|
51
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
41
54
|
"node_modules/@babel/code-frame": {
|
|
42
55
|
"version": "7.28.6",
|
|
43
56
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz",
|
|
@@ -1823,6 +1836,16 @@
|
|
|
1823
1836
|
"dev": true,
|
|
1824
1837
|
"license": "MIT"
|
|
1825
1838
|
},
|
|
1839
|
+
"node_modules/@popperjs/core": {
|
|
1840
|
+
"version": "2.11.8",
|
|
1841
|
+
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
|
1842
|
+
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
|
1843
|
+
"license": "MIT",
|
|
1844
|
+
"funding": {
|
|
1845
|
+
"type": "opencollective",
|
|
1846
|
+
"url": "https://opencollective.com/popperjs"
|
|
1847
|
+
}
|
|
1848
|
+
},
|
|
1826
1849
|
"node_modules/@quasar/app-vite": {
|
|
1827
1850
|
"version": "2.4.0",
|
|
1828
1851
|
"resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-2.4.0.tgz",
|
|
@@ -1983,6 +2006,64 @@
|
|
|
1983
2006
|
"dev": true,
|
|
1984
2007
|
"license": "MIT"
|
|
1985
2008
|
},
|
|
2009
|
+
"node_modules/@rollup/plugin-node-resolve": {
|
|
2010
|
+
"version": "15.3.1",
|
|
2011
|
+
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz",
|
|
2012
|
+
"integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==",
|
|
2013
|
+
"license": "MIT",
|
|
2014
|
+
"dependencies": {
|
|
2015
|
+
"@rollup/pluginutils": "^5.0.1",
|
|
2016
|
+
"@types/resolve": "1.20.2",
|
|
2017
|
+
"deepmerge": "^4.2.2",
|
|
2018
|
+
"is-module": "^1.0.0",
|
|
2019
|
+
"resolve": "^1.22.1"
|
|
2020
|
+
},
|
|
2021
|
+
"engines": {
|
|
2022
|
+
"node": ">=14.0.0"
|
|
2023
|
+
},
|
|
2024
|
+
"peerDependencies": {
|
|
2025
|
+
"rollup": "^2.78.0||^3.0.0||^4.0.0"
|
|
2026
|
+
},
|
|
2027
|
+
"peerDependenciesMeta": {
|
|
2028
|
+
"rollup": {
|
|
2029
|
+
"optional": true
|
|
2030
|
+
}
|
|
2031
|
+
}
|
|
2032
|
+
},
|
|
2033
|
+
"node_modules/@rollup/pluginutils": {
|
|
2034
|
+
"version": "5.3.0",
|
|
2035
|
+
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
|
|
2036
|
+
"integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
|
|
2037
|
+
"license": "MIT",
|
|
2038
|
+
"dependencies": {
|
|
2039
|
+
"@types/estree": "^1.0.0",
|
|
2040
|
+
"estree-walker": "^2.0.2",
|
|
2041
|
+
"picomatch": "^4.0.2"
|
|
2042
|
+
},
|
|
2043
|
+
"engines": {
|
|
2044
|
+
"node": ">=14.0.0"
|
|
2045
|
+
},
|
|
2046
|
+
"peerDependencies": {
|
|
2047
|
+
"rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
|
|
2048
|
+
},
|
|
2049
|
+
"peerDependenciesMeta": {
|
|
2050
|
+
"rollup": {
|
|
2051
|
+
"optional": true
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2054
|
+
},
|
|
2055
|
+
"node_modules/@rollup/pluginutils/node_modules/picomatch": {
|
|
2056
|
+
"version": "4.0.3",
|
|
2057
|
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
|
|
2058
|
+
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
2059
|
+
"license": "MIT",
|
|
2060
|
+
"engines": {
|
|
2061
|
+
"node": ">=12"
|
|
2062
|
+
},
|
|
2063
|
+
"funding": {
|
|
2064
|
+
"url": "https://github.com/sponsors/jonschlinkert"
|
|
2065
|
+
}
|
|
2066
|
+
},
|
|
1986
2067
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
|
1987
2068
|
"version": "4.55.1",
|
|
1988
2069
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz",
|
|
@@ -2551,6 +2632,19 @@
|
|
|
2551
2632
|
"node": ">= 10"
|
|
2552
2633
|
}
|
|
2553
2634
|
},
|
|
2635
|
+
"node_modules/@tailwindcss/postcss": {
|
|
2636
|
+
"version": "4.1.18",
|
|
2637
|
+
"resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz",
|
|
2638
|
+
"integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==",
|
|
2639
|
+
"license": "MIT",
|
|
2640
|
+
"dependencies": {
|
|
2641
|
+
"@alloc/quick-lru": "^5.2.0",
|
|
2642
|
+
"@tailwindcss/node": "4.1.18",
|
|
2643
|
+
"@tailwindcss/oxide": "4.1.18",
|
|
2644
|
+
"postcss": "^8.4.41",
|
|
2645
|
+
"tailwindcss": "4.1.18"
|
|
2646
|
+
}
|
|
2647
|
+
},
|
|
2554
2648
|
"node_modules/@tailwindcss/vite": {
|
|
2555
2649
|
"version": "4.1.18",
|
|
2556
2650
|
"resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz",
|
|
@@ -2726,6 +2820,12 @@
|
|
|
2726
2820
|
"dev": true,
|
|
2727
2821
|
"license": "MIT"
|
|
2728
2822
|
},
|
|
2823
|
+
"node_modules/@types/resolve": {
|
|
2824
|
+
"version": "1.20.2",
|
|
2825
|
+
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
|
|
2826
|
+
"integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
|
|
2827
|
+
"license": "MIT"
|
|
2828
|
+
},
|
|
2729
2829
|
"node_modules/@types/send": {
|
|
2730
2830
|
"version": "1.2.1",
|
|
2731
2831
|
"resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
|
|
@@ -4436,6 +4536,15 @@
|
|
|
4436
4536
|
"dev": true,
|
|
4437
4537
|
"license": "MIT"
|
|
4438
4538
|
},
|
|
4539
|
+
"node_modules/deepmerge": {
|
|
4540
|
+
"version": "4.3.1",
|
|
4541
|
+
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
|
|
4542
|
+
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
|
4543
|
+
"license": "MIT",
|
|
4544
|
+
"engines": {
|
|
4545
|
+
"node": ">=0.10.0"
|
|
4546
|
+
}
|
|
4547
|
+
},
|
|
4439
4548
|
"node_modules/default-browser": {
|
|
4440
4549
|
"version": "5.4.0",
|
|
4441
4550
|
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
|
|
@@ -5376,6 +5485,29 @@
|
|
|
5376
5485
|
"dev": true,
|
|
5377
5486
|
"license": "ISC"
|
|
5378
5487
|
},
|
|
5488
|
+
"node_modules/flowbite": {
|
|
5489
|
+
"version": "4.0.1",
|
|
5490
|
+
"resolved": "https://registry.npmjs.org/flowbite/-/flowbite-4.0.1.tgz",
|
|
5491
|
+
"integrity": "sha512-UwUjvnqrQTiFm3uMJ0WWnzKXKoDyNyfyEzoNnxmZo6KyDzCedjqZw1UW0Oqdn+E0iYVdPu0fizydJN6e4pP9Rw==",
|
|
5492
|
+
"license": "MIT",
|
|
5493
|
+
"dependencies": {
|
|
5494
|
+
"@popperjs/core": "^2.9.3",
|
|
5495
|
+
"flowbite-datepicker": "^2.0.0",
|
|
5496
|
+
"mini-svg-data-uri": "^1.4.3",
|
|
5497
|
+
"postcss": "^8.5.1",
|
|
5498
|
+
"tailwindcss": "^4.1.12"
|
|
5499
|
+
}
|
|
5500
|
+
},
|
|
5501
|
+
"node_modules/flowbite-datepicker": {
|
|
5502
|
+
"version": "2.0.0",
|
|
5503
|
+
"resolved": "https://registry.npmjs.org/flowbite-datepicker/-/flowbite-datepicker-2.0.0.tgz",
|
|
5504
|
+
"integrity": "sha512-m81hl0Bimq45MUg4maJLOnXrX+C9lZ0AkjMb9uotuVUSr729k/YiymWDfVAm63AYDH7g7y3rI3ke3XaBzWWqLw==",
|
|
5505
|
+
"license": "MIT",
|
|
5506
|
+
"dependencies": {
|
|
5507
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
5508
|
+
"@tailwindcss/postcss": "^4.1.17"
|
|
5509
|
+
}
|
|
5510
|
+
},
|
|
5379
5511
|
"node_modules/foreground-child": {
|
|
5380
5512
|
"version": "3.3.1",
|
|
5381
5513
|
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
|
@@ -5446,7 +5578,6 @@
|
|
|
5446
5578
|
"version": "1.1.2",
|
|
5447
5579
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
5448
5580
|
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
5449
|
-
"dev": true,
|
|
5450
5581
|
"license": "MIT",
|
|
5451
5582
|
"funding": {
|
|
5452
5583
|
"url": "https://github.com/sponsors/ljharb"
|
|
@@ -5604,7 +5735,6 @@
|
|
|
5604
5735
|
"version": "2.0.2",
|
|
5605
5736
|
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
|
5606
5737
|
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
|
5607
|
-
"dev": true,
|
|
5608
5738
|
"license": "MIT",
|
|
5609
5739
|
"dependencies": {
|
|
5610
5740
|
"function-bind": "^1.1.2"
|
|
@@ -5794,6 +5924,21 @@
|
|
|
5794
5924
|
"node": ">=8"
|
|
5795
5925
|
}
|
|
5796
5926
|
},
|
|
5927
|
+
"node_modules/is-core-module": {
|
|
5928
|
+
"version": "2.16.1",
|
|
5929
|
+
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
|
|
5930
|
+
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
|
|
5931
|
+
"license": "MIT",
|
|
5932
|
+
"dependencies": {
|
|
5933
|
+
"hasown": "^2.0.2"
|
|
5934
|
+
},
|
|
5935
|
+
"engines": {
|
|
5936
|
+
"node": ">= 0.4"
|
|
5937
|
+
},
|
|
5938
|
+
"funding": {
|
|
5939
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
5940
|
+
}
|
|
5941
|
+
},
|
|
5797
5942
|
"node_modules/is-docker": {
|
|
5798
5943
|
"version": "3.0.0",
|
|
5799
5944
|
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
|
|
@@ -5872,6 +6017,12 @@
|
|
|
5872
6017
|
"node": ">=8"
|
|
5873
6018
|
}
|
|
5874
6019
|
},
|
|
6020
|
+
"node_modules/is-module": {
|
|
6021
|
+
"version": "1.0.0",
|
|
6022
|
+
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
|
|
6023
|
+
"integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
|
|
6024
|
+
"license": "MIT"
|
|
6025
|
+
},
|
|
5875
6026
|
"node_modules/is-number": {
|
|
5876
6027
|
"version": "7.0.0",
|
|
5877
6028
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
|
@@ -6620,6 +6771,15 @@
|
|
|
6620
6771
|
"node": ">=6"
|
|
6621
6772
|
}
|
|
6622
6773
|
},
|
|
6774
|
+
"node_modules/mini-svg-data-uri": {
|
|
6775
|
+
"version": "1.4.4",
|
|
6776
|
+
"resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
|
|
6777
|
+
"integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
|
|
6778
|
+
"license": "MIT",
|
|
6779
|
+
"bin": {
|
|
6780
|
+
"mini-svg-data-uri": "cli.js"
|
|
6781
|
+
}
|
|
6782
|
+
},
|
|
6623
6783
|
"node_modules/minimatch": {
|
|
6624
6784
|
"version": "9.0.5",
|
|
6625
6785
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
|
@@ -7033,6 +7193,12 @@
|
|
|
7033
7193
|
"node": ">=8"
|
|
7034
7194
|
}
|
|
7035
7195
|
},
|
|
7196
|
+
"node_modules/path-parse": {
|
|
7197
|
+
"version": "1.0.7",
|
|
7198
|
+
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
|
7199
|
+
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
|
7200
|
+
"license": "MIT"
|
|
7201
|
+
},
|
|
7036
7202
|
"node_modules/path-scurry": {
|
|
7037
7203
|
"version": "1.11.1",
|
|
7038
7204
|
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
|
@@ -7433,6 +7599,26 @@
|
|
|
7433
7599
|
"node": ">=0.10.0"
|
|
7434
7600
|
}
|
|
7435
7601
|
},
|
|
7602
|
+
"node_modules/resolve": {
|
|
7603
|
+
"version": "1.22.11",
|
|
7604
|
+
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
|
|
7605
|
+
"integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
|
|
7606
|
+
"license": "MIT",
|
|
7607
|
+
"dependencies": {
|
|
7608
|
+
"is-core-module": "^2.16.1",
|
|
7609
|
+
"path-parse": "^1.0.7",
|
|
7610
|
+
"supports-preserve-symlinks-flag": "^1.0.0"
|
|
7611
|
+
},
|
|
7612
|
+
"bin": {
|
|
7613
|
+
"resolve": "bin/resolve"
|
|
7614
|
+
},
|
|
7615
|
+
"engines": {
|
|
7616
|
+
"node": ">= 0.4"
|
|
7617
|
+
},
|
|
7618
|
+
"funding": {
|
|
7619
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
7620
|
+
}
|
|
7621
|
+
},
|
|
7436
7622
|
"node_modules/resolve-from": {
|
|
7437
7623
|
"version": "4.0.0",
|
|
7438
7624
|
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
|
@@ -8546,6 +8732,18 @@
|
|
|
8546
8732
|
"node": ">=8"
|
|
8547
8733
|
}
|
|
8548
8734
|
},
|
|
8735
|
+
"node_modules/supports-preserve-symlinks-flag": {
|
|
8736
|
+
"version": "1.0.0",
|
|
8737
|
+
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
|
8738
|
+
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
|
8739
|
+
"license": "MIT",
|
|
8740
|
+
"engines": {
|
|
8741
|
+
"node": ">= 0.4"
|
|
8742
|
+
},
|
|
8743
|
+
"funding": {
|
|
8744
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
8745
|
+
}
|
|
8746
|
+
},
|
|
8549
8747
|
"node_modules/sync-child-process": {
|
|
8550
8748
|
"version": "1.0.2",
|
|
8551
8749
|
"resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
|
|
2
|
+
|
|
3
|
+
@import url('https://fonts.googleapis.com/css2?family=Playwrite+GB+J+Guides:ital@0;1&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
|
|
4
|
+
|
|
5
|
+
@import url('https://fonts.googleapis.com/css2?family=Gravitas+One&display=swap');
|
package/filesProject/src/main.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
// Import Quasar css
|
|
2
|
+
import 'quasar/src/css/index.sass'
|
|
4
3
|
// Import icon libraries
|
|
5
4
|
import '@quasar/extras/roboto-font/roboto-font.css'
|
|
6
5
|
import '@quasar/extras/material-icons/material-icons.css'
|
|
@@ -18,12 +17,14 @@ import '@quasar/extras/eva-icons/eva-icons.css'
|
|
|
18
17
|
import '@quasar/extras/themify/themify.css'
|
|
19
18
|
import '@quasar/extras/line-awesome/line-awesome.css'
|
|
20
19
|
import '@quasar/extras/bootstrap-icons/bootstrap-icons.css'
|
|
20
|
+
|
|
21
21
|
import './css/app.css'
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
import 'quasar/src/css/index.sass'
|
|
23
|
+
|
|
25
24
|
// Assumes your root component is App.vue
|
|
26
25
|
// and placed in same folder as main.js
|
|
26
|
+
import { createApp } from 'vue'
|
|
27
|
+
import { Quasar } from 'quasar'
|
|
27
28
|
import App from './App.vue'
|
|
28
29
|
import { router } from './router'
|
|
29
30
|
import { createPinia } from 'pinia'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quasarwind",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for generating custom project vite with Quasar and Tailwind",
|
|
6
6
|
"bin": {
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"router",
|
|
16
16
|
"typescript",
|
|
17
17
|
"eslint",
|
|
18
|
-
"prettier"
|
|
18
|
+
"prettier",
|
|
19
|
+
"flowbite"
|
|
19
20
|
],
|
|
20
21
|
"author": "Edilberto Coello Savigne",
|
|
21
22
|
"license": "MIT",
|