adminforth 1.2.39 → 1.2.41

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.
Files changed (45) hide show
  1. package/dataConnectors/mongo.ts +8 -5
  2. package/dist/dataConnectors/mongo.js +5 -1
  3. package/dist/spa/index.html +4 -4
  4. package/dist/spa/package-lock.json +5 -206
  5. package/dist/spa/package.json +2 -8
  6. package/dist/spa/public/favicon.ico +0 -0
  7. package/dist/spa/spa/public/favicon.ico +0 -0
  8. package/dist/spa/spa/src/views/HomeView.vue +8 -0
  9. package/dist/spa/src/App.vue +72 -171
  10. package/dist/spa/src/assets/logo.svg +1 -19
  11. package/dist/spa/src/components/AcceptModal.vue +10 -3
  12. package/dist/spa/src/components/BreadcrumbsWithButtons.vue +1 -1
  13. package/dist/spa/src/components/CustomDatePicker.vue +6 -19
  14. package/dist/spa/src/components/CustomDateRangePicker.vue +5 -14
  15. package/dist/spa/src/components/Dropdown.vue +5 -19
  16. package/dist/spa/src/components/Filters.vue +37 -91
  17. package/dist/spa/src/components/MenuLink.vue +2 -2
  18. package/dist/spa/src/components/ResourceForm.vue +103 -163
  19. package/dist/spa/src/components/ValueRenderer.vue +6 -22
  20. package/dist/spa/src/main.ts +1 -1
  21. package/dist/spa/src/router/index.ts +19 -30
  22. package/dist/spa/src/stores/core.ts +59 -65
  23. package/dist/spa/src/stores/modal.ts +3 -13
  24. package/dist/spa/src/utils.ts +8 -65
  25. package/dist/spa/src/views/CreateView.vue +16 -76
  26. package/dist/spa/src/views/EditView.vue +14 -76
  27. package/dist/spa/src/views/HomeView.vue +8 -0
  28. package/dist/spa/src/views/ListView.vue +360 -88
  29. package/dist/spa/src/views/LoginView.vue +5 -17
  30. package/dist/spa/src/views/ResourceParent.vue +1 -1
  31. package/dist/spa/src/views/ShowView.vue +19 -114
  32. package/dist/spa/tailwind.config.js +2 -5
  33. package/dist/spa/vite.config.ts +0 -6
  34. package/dist/types.js +30 -0
  35. package/package.json +1 -1
  36. package/dist/spa/public/assets/favicon.png +0 -0
  37. package/dist/spa/src/components/CustomRangePicker.vue +0 -148
  38. package/dist/spa/src/components/ResourceListTable.vue +0 -419
  39. package/dist/spa/src/components/Toast.vue +0 -66
  40. package/dist/spa/src/composables/useFrontendApi.ts +0 -26
  41. package/dist/spa/src/composables/useStores.ts +0 -113
  42. package/dist/spa/src/spa_types/core.ts +0 -51
  43. package/dist/spa/src/stores/filters.ts +0 -22
  44. package/dist/spa/src/stores/toast.ts +0 -15
  45. package/dist/spa/src/stores/user.ts +0 -54
@@ -43,7 +43,7 @@ class MongoConnector extends AdminForthBaseConnector implements IAdminForthDataS
43
43
  async discoverFields(resource) {
44
44
  return resource.columns.reduce((acc, col) => {
45
45
  if (!col.type) {
46
- throw new Error(`Type is not defined for column ${col.name}`);
46
+ throw new Error(`Type is not defined for column ${col.name} in resource ${resource.table}`);
47
47
  }
48
48
 
49
49
  acc[col.name] = {
@@ -67,10 +67,10 @@ class MongoConnector extends AdminForthBaseConnector implements IAdminForthDataS
67
67
 
68
68
  getFieldValue(field, value) {
69
69
  if (field.type == AdminForthDataTypes.DATETIME) {
70
- if (!value) {
71
- return null;
72
- }
73
- return dayjs(Date.parse(value)).toISOString();
70
+ if (!value) {
71
+ return null;
72
+ }
73
+ return dayjs(Date.parse(value)).toISOString();
74
74
 
75
75
  } else if (field.type == AdminForthDataTypes.DATE) {
76
76
  if (!value) {
@@ -80,6 +80,9 @@ class MongoConnector extends AdminForthBaseConnector implements IAdminForthDataS
80
80
 
81
81
  } else if (field.type == AdminForthDataTypes.BOOLEAN) {
82
82
  return !!value;
83
+ } else if (field.type == AdminForthDataTypes.DECIMAL) {
84
+ console.log(value)
85
+ return value
83
86
  }
84
87
 
85
88
  return value;
@@ -48,7 +48,7 @@ class MongoConnector extends AdminForthBaseConnector {
48
48
  return __awaiter(this, void 0, void 0, function* () {
49
49
  return resource.columns.reduce((acc, col) => {
50
50
  if (!col.type) {
51
- throw new Error(`Type is not defined for column ${col.name}`);
51
+ throw new Error(`Type is not defined for column ${col.name} in resource ${resource.table}`);
52
52
  }
53
53
  acc[col.name] = {
54
54
  name: col.name,
@@ -84,6 +84,10 @@ class MongoConnector extends AdminForthBaseConnector {
84
84
  else if (field.type == AdminForthDataTypes.BOOLEAN) {
85
85
  return !!value;
86
86
  }
87
+ else if (field.type == AdminForthDataTypes.DECIMAL) {
88
+ console.log(value);
89
+ return value;
90
+ }
87
91
  return value;
88
92
  }
89
93
  setFieldValue(field, value) {
@@ -2,9 +2,9 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
- <link rel="icon" href="/* IMPORTANT:ADMINFORTH FAVICON */">
5
+ <link rel="icon" href="/favicon.ico">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>/* IMPORTANT:ADMINFORTH TITLE */</title>
7
+ <title>Vite App</title>
8
8
  <!--
9
9
  <script>
10
10
  // On page load or when changing themes, best to add inline in `head` to avoid FOUC
@@ -16,8 +16,8 @@
16
16
  </script> -->
17
17
 
18
18
  </head>
19
- <body class=" ">
20
- <div id="app" class="min-h-screen bg-html-bg dark:bg-gray-800"></div>
19
+ <body>
20
+ <div id="app" class="min-h-screen dark:bg-gray-800"></div>
21
21
  <script type="module" src="/src/main.ts"></script>
22
22
  </body>
23
23
  </html>
@@ -9,18 +9,12 @@
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
11
  "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
12
- "@unhead/vue": "^1.9.12",
13
- "@vueuse/core": "^10.10.0",
14
12
  "dayjs": "^1.11.11",
15
- "debounce": "^2.1.0",
16
13
  "flowbite": "^2.3.0",
17
14
  "flowbite-datepicker": "^1.2.6",
18
15
  "pinia": "^2.1.7",
19
- "unhead": "^1.9.12",
20
- "uuid": "^10.0.0",
21
16
  "vue": "^3.4.21",
22
- "vue-router": "^4.3.0",
23
- "vue-slider-component": "^4.1.0-beta.7"
17
+ "vue-router": "^4.3.0"
24
18
  },
25
19
  "devDependencies": {
26
20
  "@rushstack/eslint-patch": "^1.8.0",
@@ -37,7 +31,7 @@
37
31
  "sass": "^1.77.2",
38
32
  "tailwindcss": "^3.4.3",
39
33
  "typescript": "~5.4.0",
40
- "vite": "^5.2.13",
34
+ "vite": "^5.2.12",
41
35
  "vue-tsc": "^2.0.11"
42
36
  }
43
37
  },
@@ -956,11 +950,6 @@
956
950
  "undici-types": "~5.26.4"
957
951
  }
958
952
  },
959
- "node_modules/@types/web-bluetooth": {
960
- "version": "0.0.20",
961
- "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
962
- "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
963
- },
964
953
  "node_modules/@typescript-eslint/eslint-plugin": {
965
954
  "version": "7.9.0",
966
955
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
@@ -1152,58 +1141,6 @@
1152
1141
  "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
1153
1142
  "dev": true
1154
1143
  },
1155
- "node_modules/@unhead/dom": {
1156
- "version": "1.9.12",
1157
- "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.9.12.tgz",
1158
- "integrity": "sha512-3MY1TbZmEjGNZapi3wvJW0vWNS2CLKHt7/m57sScDHCNvNBe1mTwrIOhtZFDgAndhml2EVQ68RMa0Vhum/M+cw==",
1159
- "dependencies": {
1160
- "@unhead/schema": "1.9.12",
1161
- "@unhead/shared": "1.9.12"
1162
- },
1163
- "funding": {
1164
- "url": "https://github.com/sponsors/harlan-zw"
1165
- }
1166
- },
1167
- "node_modules/@unhead/schema": {
1168
- "version": "1.9.12",
1169
- "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.9.12.tgz",
1170
- "integrity": "sha512-ue2FKyIZKsuZDpWJBMlBGwMm4s+vFeU3NUWsNt8Z+2JkOUIqO/VG43LxNgY1M595bOS71Gdxk+G9VtzfKJ5uEA==",
1171
- "dependencies": {
1172
- "hookable": "^5.5.3",
1173
- "zhead": "^2.2.4"
1174
- },
1175
- "funding": {
1176
- "url": "https://github.com/sponsors/harlan-zw"
1177
- }
1178
- },
1179
- "node_modules/@unhead/shared": {
1180
- "version": "1.9.12",
1181
- "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.9.12.tgz",
1182
- "integrity": "sha512-72wlLXG3FP3sXUrwd42Uv8jYpHSg4R6IFJcsl+QisRjKM89JnjOFSw1DqWO4IOftW5xOxS4J5v7SQyJ4NJo7Bw==",
1183
- "dependencies": {
1184
- "@unhead/schema": "1.9.12"
1185
- },
1186
- "funding": {
1187
- "url": "https://github.com/sponsors/harlan-zw"
1188
- }
1189
- },
1190
- "node_modules/@unhead/vue": {
1191
- "version": "1.9.12",
1192
- "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.9.12.tgz",
1193
- "integrity": "sha512-keE4EuswgzCqVU7zmZprU+ToMvNWc3s8NoLreH5AtJd2u0FgBygD8sxRVyEnZw1KwFYOJ2C7yD2TChSKZioPGQ==",
1194
- "dependencies": {
1195
- "@unhead/schema": "1.9.12",
1196
- "@unhead/shared": "1.9.12",
1197
- "hookable": "^5.5.3",
1198
- "unhead": "1.9.12"
1199
- },
1200
- "funding": {
1201
- "url": "https://github.com/sponsors/harlan-zw"
1202
- },
1203
- "peerDependencies": {
1204
- "vue": ">=2.7 || >=3"
1205
- }
1206
- },
1207
1144
  "node_modules/@vitejs/plugin-vue": {
1208
1145
  "version": "5.0.4",
1209
1146
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
@@ -1393,89 +1330,6 @@
1393
1330
  "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
1394
1331
  "dev": true
1395
1332
  },
1396
- "node_modules/@vueuse/core": {
1397
- "version": "10.10.0",
1398
- "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.10.0.tgz",
1399
- "integrity": "sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==",
1400
- "dependencies": {
1401
- "@types/web-bluetooth": "^0.0.20",
1402
- "@vueuse/metadata": "10.10.0",
1403
- "@vueuse/shared": "10.10.0",
1404
- "vue-demi": ">=0.14.7"
1405
- },
1406
- "funding": {
1407
- "url": "https://github.com/sponsors/antfu"
1408
- }
1409
- },
1410
- "node_modules/@vueuse/core/node_modules/vue-demi": {
1411
- "version": "0.14.8",
1412
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
1413
- "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
1414
- "hasInstallScript": true,
1415
- "bin": {
1416
- "vue-demi-fix": "bin/vue-demi-fix.js",
1417
- "vue-demi-switch": "bin/vue-demi-switch.js"
1418
- },
1419
- "engines": {
1420
- "node": ">=12"
1421
- },
1422
- "funding": {
1423
- "url": "https://github.com/sponsors/antfu"
1424
- },
1425
- "peerDependencies": {
1426
- "@vue/composition-api": "^1.0.0-rc.1",
1427
- "vue": "^3.0.0-0 || ^2.6.0"
1428
- },
1429
- "peerDependenciesMeta": {
1430
- "@vue/composition-api": {
1431
- "optional": true
1432
- }
1433
- }
1434
- },
1435
- "node_modules/@vueuse/metadata": {
1436
- "version": "10.10.0",
1437
- "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.10.0.tgz",
1438
- "integrity": "sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==",
1439
- "funding": {
1440
- "url": "https://github.com/sponsors/antfu"
1441
- }
1442
- },
1443
- "node_modules/@vueuse/shared": {
1444
- "version": "10.10.0",
1445
- "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.10.0.tgz",
1446
- "integrity": "sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==",
1447
- "dependencies": {
1448
- "vue-demi": ">=0.14.7"
1449
- },
1450
- "funding": {
1451
- "url": "https://github.com/sponsors/antfu"
1452
- }
1453
- },
1454
- "node_modules/@vueuse/shared/node_modules/vue-demi": {
1455
- "version": "0.14.8",
1456
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
1457
- "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
1458
- "hasInstallScript": true,
1459
- "bin": {
1460
- "vue-demi-fix": "bin/vue-demi-fix.js",
1461
- "vue-demi-switch": "bin/vue-demi-switch.js"
1462
- },
1463
- "engines": {
1464
- "node": ">=12"
1465
- },
1466
- "funding": {
1467
- "url": "https://github.com/sponsors/antfu"
1468
- },
1469
- "peerDependencies": {
1470
- "@vue/composition-api": "^1.0.0-rc.1",
1471
- "vue": "^3.0.0-0 || ^2.6.0"
1472
- },
1473
- "peerDependenciesMeta": {
1474
- "@vue/composition-api": {
1475
- "optional": true
1476
- }
1477
- }
1478
- },
1479
1333
  "node_modules/acorn": {
1480
1334
  "version": "8.11.3",
1481
1335
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
@@ -1862,17 +1716,6 @@
1862
1716
  "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
1863
1717
  "dev": true
1864
1718
  },
1865
- "node_modules/debounce": {
1866
- "version": "2.1.0",
1867
- "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz",
1868
- "integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==",
1869
- "engines": {
1870
- "node": ">=18"
1871
- },
1872
- "funding": {
1873
- "url": "https://github.com/sponsors/sindresorhus"
1874
- }
1875
- },
1876
1719
  "node_modules/debug": {
1877
1720
  "version": "4.3.4",
1878
1721
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -2526,11 +2369,6 @@
2526
2369
  "he": "bin/he"
2527
2370
  }
2528
2371
  },
2529
- "node_modules/hookable": {
2530
- "version": "5.5.3",
2531
- "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
2532
- "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
2533
- },
2534
2372
  "node_modules/ignore": {
2535
2373
  "version": "5.3.1",
2536
2374
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
@@ -3974,20 +3812,6 @@
3974
3812
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
3975
3813
  "dev": true
3976
3814
  },
3977
- "node_modules/unhead": {
3978
- "version": "1.9.12",
3979
- "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.9.12.tgz",
3980
- "integrity": "sha512-s6VxcTV45hy8c/IioKQOonFnAO+kBOSpgDfqEHhnU0YVSQYaRPEp9pzW1qSPf0lx+bg9RKeOQyNNbSGGUP26aQ==",
3981
- "dependencies": {
3982
- "@unhead/dom": "1.9.12",
3983
- "@unhead/schema": "1.9.12",
3984
- "@unhead/shared": "1.9.12",
3985
- "hookable": "^5.5.3"
3986
- },
3987
- "funding": {
3988
- "url": "https://github.com/sponsors/harlan-zw"
3989
- }
3990
- },
3991
3815
  "node_modules/update-browserslist-db": {
3992
3816
  "version": "1.0.16",
3993
3817
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
@@ -4033,22 +3857,10 @@
4033
3857
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
4034
3858
  "dev": true
4035
3859
  },
4036
- "node_modules/uuid": {
4037
- "version": "10.0.0",
4038
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
4039
- "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
4040
- "funding": [
4041
- "https://github.com/sponsors/broofa",
4042
- "https://github.com/sponsors/ctavan"
4043
- ],
4044
- "bin": {
4045
- "uuid": "dist/bin/uuid"
4046
- }
4047
- },
4048
3860
  "node_modules/vite": {
4049
- "version": "5.2.13",
4050
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.13.tgz",
4051
- "integrity": "sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==",
3861
+ "version": "5.2.12",
3862
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz",
3863
+ "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==",
4052
3864
  "dev": true,
4053
3865
  "dependencies": {
4054
3866
  "esbuild": "^0.20.1",
@@ -4158,11 +3970,6 @@
4158
3970
  "vue": "^3.2.0"
4159
3971
  }
4160
3972
  },
4161
- "node_modules/vue-slider-component": {
4162
- "version": "4.1.0-beta.7",
4163
- "resolved": "https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-4.1.0-beta.7.tgz",
4164
- "integrity": "sha512-Qb7K920ZG7PoQswoF6Ias+i3W2rd3k4fpk04JUl82kEUcN86Yg6et7bVSKWt/7VpQe8a5IT3BqCKSCOZ7AJgCA=="
4165
- },
4166
3973
  "node_modules/vue-template-compiler": {
4167
3974
  "version": "2.7.16",
4168
3975
  "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
@@ -4346,14 +4153,6 @@
4346
4153
  "funding": {
4347
4154
  "url": "https://github.com/sponsors/sindresorhus"
4348
4155
  }
4349
- },
4350
- "node_modules/zhead": {
4351
- "version": "2.2.4",
4352
- "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
4353
- "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
4354
- "funding": {
4355
- "url": "https://github.com/sponsors/harlan-zw"
4356
- }
4357
4156
  }
4358
4157
  }
4359
4158
  }
@@ -13,18 +13,12 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
16
- "@unhead/vue": "^1.9.12",
17
- "@vueuse/core": "^10.10.0",
18
16
  "dayjs": "^1.11.11",
19
- "debounce": "^2.1.0",
20
17
  "flowbite": "^2.3.0",
21
18
  "flowbite-datepicker": "^1.2.6",
22
19
  "pinia": "^2.1.7",
23
- "unhead": "^1.9.12",
24
- "uuid": "^10.0.0",
25
20
  "vue": "^3.4.21",
26
- "vue-router": "^4.3.0",
27
- "vue-slider-component": "^4.1.0-beta.7"
21
+ "vue-router": "^4.3.0"
28
22
  },
29
23
  "devDependencies": {
30
24
  "@rushstack/eslint-patch": "^1.8.0",
@@ -41,7 +35,7 @@
41
35
  "sass": "^1.77.2",
42
36
  "tailwindcss": "^3.4.3",
43
37
  "typescript": "~5.4.0",
44
- "vite": "^5.2.13",
38
+ "vite": "^5.2.12",
45
39
  "vue-tsc": "^2.0.11"
46
40
  }
47
41
  }
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <main>
6
+ 123
7
+ </main>
8
+ </template>