create-nexwire 4.2.4 → 4.2.5

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 (35) hide show
  1. package/express/.vscode/extensions.json +6 -0
  2. package/express/.vscode/settings.json +37 -26
  3. package/express/biome.json +99 -66
  4. package/express/package.json +30 -28
  5. package/express/src/database/schema.ts +2 -2
  6. package/express/src/resources/src/components/Checkbox.vue +32 -29
  7. package/express/src/resources/src/components/Input.vue +243 -223
  8. package/express/src/resources/src/components/InputGroup.vue +147 -145
  9. package/express/src/resources/src/components/InputPasswordToggle.vue +229 -213
  10. package/express/src/resources/src/components/Modal.vue +71 -55
  11. package/express/src/resources/src/components/Refresh.vue +19 -0
  12. package/express/src/resources/src/helpers/assets.ts +51 -0
  13. package/express/src/resources/src/main.ts +3 -1
  14. package/express/src/resources/src/plugins/gum.ts +1 -1
  15. package/express/src/resources/src/stores/auth.ts +184 -164
  16. package/express/src/resources/vite.config.ts +9 -2
  17. package/express/src/storage/database/nexwire.sqlite +0 -0
  18. package/hono/.vscode/extensions.json +6 -0
  19. package/hono/.vscode/settings.json +37 -26
  20. package/hono/biome.json +25 -2
  21. package/hono/package.json +24 -22
  22. package/hono/src/database/schema.ts +2 -2
  23. package/hono/src/resources/src/components/Checkbox.vue +32 -29
  24. package/hono/src/resources/src/components/Input.vue +243 -234
  25. package/hono/src/resources/src/components/InputGroup.vue +147 -149
  26. package/hono/src/resources/src/components/InputPasswordToggle.vue +229 -222
  27. package/hono/src/resources/src/components/Modal.vue +71 -55
  28. package/hono/src/resources/src/components/Refresh.vue +19 -0
  29. package/hono/src/resources/src/helpers/assets.ts +51 -0
  30. package/hono/src/resources/src/main.ts +3 -1
  31. package/hono/src/resources/src/plugins/gum.ts +1 -1
  32. package/hono/src/resources/src/stores/auth.ts +184 -164
  33. package/hono/src/resources/vite.config.ts +9 -2
  34. package/hono/src/storage/database/nexwire.sqlite +0 -0
  35. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ {
2
+ "recommendations": [
3
+ "biomejs.biome",
4
+ "editorconfig.editorconfig"
5
+ ]
6
+ }
@@ -1,26 +1,37 @@
1
- {
2
- "editor.defaultFormatter": "biomejs.biome",
3
- "[typescript]": {
4
- "editor.defaultFormatter": "biomejs.biome"
5
- },
6
- "[typescriptreact]": {
7
- "editor.defaultFormatter": "biomejs.biome"
8
- },
9
- "[javascript]": {
10
- "editor.defaultFormatter": "biomejs.biome"
11
- },
12
- "[javascriptreact]": {
13
- "editor.defaultFormatter": "biomejs.biome"
14
- },
15
- "[json]": {
16
- "editor.defaultFormatter": "biomejs.biome"
17
- },
18
- "[jsonc]": {
19
- "editor.defaultFormatter": "biomejs.biome"
20
- },
21
- "editor.codeActionsOnSave": {
22
- "source.organizeImports.biome": "explicit",
23
- "source.fixAll.biome": "explicit"
24
- },
25
- "files.eol": "\n"
26
- }
1
+ {
2
+ "editor.defaultFormatter": "biomejs.biome",
3
+ "[typescript]": {
4
+ "editor.defaultFormatter": "biomejs.biome"
5
+ },
6
+ "[typescriptreact]": {
7
+ "editor.defaultFormatter": "biomejs.biome"
8
+ },
9
+ "[javascript]": {
10
+ "editor.defaultFormatter": "biomejs.biome"
11
+ },
12
+ "[javascriptreact]": {
13
+ "editor.defaultFormatter": "biomejs.biome"
14
+ },
15
+ "[json]": {
16
+ "editor.defaultFormatter": "biomejs.biome"
17
+ },
18
+ "[jsonc]": {
19
+ "editor.defaultFormatter": "biomejs.biome"
20
+ },
21
+ "[vue]": {
22
+ "editor.defaultFormatter": "biomejs.biome"
23
+ },
24
+ "[css]": {
25
+ "editor.defaultFormatter": "biomejs.biome"
26
+ },
27
+ "[scss]": {
28
+ "editor.defaultFormatter": "biomejs.biome"
29
+ },
30
+ "editor.codeActionsOnSave": {
31
+ "source.organizeImports.biome": "explicit",
32
+ "source.fixAll.biome": "explicit"
33
+ },
34
+ "files.eol": "\n",
35
+ "files.trimTrailingWhitespace": true,
36
+ "files.insertFinalNewline": true
37
+ }
@@ -1,66 +1,99 @@
1
- {
2
- "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3
- "vcs": {
4
- "enabled": true,
5
- "clientKind": "git",
6
- "useIgnoreFile": true
7
- },
8
- "formatter": {
9
- "indentStyle": "space",
10
- "indentWidth": 2,
11
- "lineWidth": 140,
12
- "bracketSameLine": true
13
- },
14
- "linter": {
15
- "rules": {
16
- "preset": "recommended",
17
- "correctness": {
18
- "noUnusedVariables": "off",
19
- "useVueValidTemplateRoot": "off",
20
- "noUnusedImports": "off"
21
- },
22
- "complexity": {
23
- "noUselessEscapeInRegex": "off"
24
- },
25
- "style": {
26
- "noNonNullAssertion": "off",
27
- "useVueMultiWordComponentNames": "off",
28
- "useImportType": "off"
29
- },
30
- "suspicious": {
31
- "noEmptyBlockStatements": "off",
32
- "noExplicitAny": "off",
33
- "noRedeclare": "off",
34
- "noAssignInExpressions": "off",
35
- "useIterableCallbackReturn": "off"
36
- }
37
- }
38
- },
39
- "javascript": {
40
- "formatter": {
41
- "quoteStyle": "double",
42
- "semicolons": "always",
43
- "trailingCommas": "none"
44
- }
45
- },
46
- "overrides": [
47
- {
48
- "includes": ["**/*.{js,mjs,cjs,ts,tsx,vue}"],
49
- "javascript": {
50
- "globals": ["exports", "location"]
51
- }
52
- }
53
- ],
54
- "assist": {
55
- "actions": {
56
- "source": {
57
- "organizeImports": {
58
- "level": "on",
59
- "options": {
60
- "groups": [":NODE:", ":PACKAGE:", ":ALIAS:", ":PATH:"]
61
- }
62
- }
63
- }
64
- }
65
- }
66
- }
1
+ {
2
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3
+ "vcs": {
4
+ "enabled": true,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": true
7
+ },
8
+ "html": {
9
+ "experimentalFullSupportEnabled": true,
10
+ "formatter": {
11
+ "enabled": true
12
+ }
13
+ },
14
+ "formatter": {
15
+ "indentStyle": "space",
16
+ "indentWidth": 2,
17
+ "lineWidth": 140,
18
+ "bracketSameLine": false
19
+ },
20
+ "files": {
21
+ "includes": [
22
+ "**",
23
+ "!**/node_modules"
24
+ ]
25
+ },
26
+ "linter": {
27
+ "rules": {
28
+ "preset": "recommended",
29
+ "a11y": {
30
+ "noLabelWithoutControl": "off",
31
+ "useButtonType": "off",
32
+ "useSemanticElements": "off",
33
+ "noStaticElementInteractions": "off",
34
+ "useKeyWithClickEvents": "off",
35
+ "useValidAnchor": "off",
36
+ "useAnchorContent": "off",
37
+ "noDistractingElements": "off"
38
+ },
39
+ "correctness": {
40
+ "noUnusedVariables": "off",
41
+ "useVueValidTemplateRoot": "off",
42
+ "noUnusedImports": "off"
43
+ },
44
+ "complexity": {
45
+ "noUselessEscapeInRegex": "off",
46
+ "noImportantStyles": "off"
47
+ },
48
+ "style": {
49
+ "noNonNullAssertion": "off",
50
+ "useVueMultiWordComponentNames": "off",
51
+ "useImportType": "off"
52
+ },
53
+ "suspicious": {
54
+ "noEmptyBlockStatements": "off",
55
+ "noExplicitAny": "off",
56
+ "noRedeclare": "off",
57
+ "noAssignInExpressions": "off",
58
+ "useIterableCallbackReturn": "off"
59
+ }
60
+ }
61
+ },
62
+ "javascript": {
63
+ "formatter": {
64
+ "quoteStyle": "double",
65
+ "semicolons": "always",
66
+ "trailingCommas": "none"
67
+ }
68
+ },
69
+ "overrides": [
70
+ {
71
+ "includes": [
72
+ "**/*.{js,mjs,cjs,ts,tsx,vue}"
73
+ ],
74
+ "javascript": {
75
+ "globals": [
76
+ "exports",
77
+ "location"
78
+ ]
79
+ }
80
+ }
81
+ ],
82
+ "assist": {
83
+ "actions": {
84
+ "source": {
85
+ "organizeImports": {
86
+ "level": "on",
87
+ "options": {
88
+ "groups": [
89
+ ":NODE:",
90
+ ":PACKAGE:",
91
+ ":ALIAS:",
92
+ ":PATH:"
93
+ ]
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "nexwire-express",
3
- "private": true,
4
- "type": "module",
5
3
  "version": "1.0.0",
4
+ "private": true,
6
5
  "bin": {
7
6
  "maker": "./src/framework/maker-cli/index.mjs"
8
7
  },
8
+ "type": "module",
9
9
  "scripts": {
10
10
  "build": "npm run build:all",
11
11
  "build:all": "npm run build:backend && npm run build:ui",
12
12
  "build:backend": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
13
- "build:ui": "node src/framework/maker-cli/runtime/build-ui.mjs",
13
+ "build:ui": "npm run typecheck:ui && node src/framework/maker-cli/runtime/build-ui.mjs",
14
+ "typecheck:ui": "vue-tsc --noEmit -p src/resources/tsconfig.json",
14
15
  "dev": "node src/framework/maker-cli/index.mjs dev",
15
16
  "backend": "node src/framework/maker-cli/index.mjs serve --src",
16
17
  "ui": "node src/framework/maker-cli/index.mjs ui:dev",
@@ -37,8 +38,8 @@
37
38
  "@scalar/express-api-reference": "^0.10.19",
38
39
  "@socket.io/admin-ui": "^0.5.1",
39
40
  "@socket.io/redis-adapter": "^8.3.0",
40
- "@unhead/vue": "^3.4.3",
41
41
  "@types/multer": "^2.2.0",
42
+ "@unhead/vue": "^3.4.3",
42
43
  "@vitejs/plugin-vue": "^6.0.10",
43
44
  "@vuepic/vue-datepicker": "^14.0.0",
44
45
  "@vueuse/core": "^14.4.0",
@@ -82,6 +83,24 @@
82
83
  "vue-select": "^4.0.0-beta.6",
83
84
  "zod": "^4.6.7"
84
85
  },
86
+ "devDependencies": {
87
+ "@biomejs/biome": "^2.5.7",
88
+ "@types/bootstrap": "^5.2.11",
89
+ "@types/cookie-parser": "^1.4.7",
90
+ "@types/cors": "^2.8.17",
91
+ "@types/express": "^5.0.6",
92
+ "@types/jsonwebtoken": "^9.0.7",
93
+ "@types/lodash-es": "^4.17.12",
94
+ "@types/morgan": "^1.9.9",
95
+ "@types/node": "^25.9.9",
96
+ "@vitest/coverage-v8": "^5.0.5",
97
+ "drizzle-kit": "^0.31.11",
98
+ "tsc-alias": "^1.9.9",
99
+ "tsx": "^4.23.15",
100
+ "typescript": "^6.0.3",
101
+ "vitest": "^5.0.5",
102
+ "vue-tsc": "^3.3.13"
103
+ },
85
104
  "overrides": {
86
105
  "@esbuild-kit/core-utils": {
87
106
  "esbuild": "^0.25.12"
@@ -100,34 +119,17 @@
100
119
  "bcryptjs": "^3.0.3"
101
120
  }
102
121
  },
122
+ "engines": {
123
+ "bun": ">=1.3",
124
+ "node": ">=22.12.0",
125
+ "pnpm": ">=11",
126
+ "yarn": ">=4"
127
+ },
103
128
  "allowScripts": {
104
129
  "@parcel/watcher": true,
105
130
  "esbuild": true,
106
131
  "msgpackr-extract": true,
107
132
  "redis-commander": true,
108
133
  "vue-demi": true
109
- },
110
- "devDependencies": {
111
- "@biomejs/biome": "^2.5.7",
112
- "@types/bootstrap": "^5.2.11",
113
- "@types/cookie-parser": "^1.4.7",
114
- "@types/cors": "^2.8.17",
115
- "@types/express": "^5.0.6",
116
- "@types/jsonwebtoken": "^9.0.7",
117
- "@types/lodash-es": "^4.17.12",
118
- "@types/morgan": "^1.9.9",
119
- "@types/node": "^25.9.9",
120
- "@vitest/coverage-v8": "^5.0.5",
121
- "drizzle-kit": "^0.31.11",
122
- "tsc-alias": "^1.9.9",
123
- "tsx": "^4.23.15",
124
- "typescript": "^6.0.3",
125
- "vitest": "^5.0.5"
126
- },
127
- "engines": {
128
- "node": ">=22.12.0",
129
- "bun": ">=1.3",
130
- "pnpm": ">=11",
131
- "yarn": ">=4"
132
134
  }
133
- }
135
+ }
@@ -1,2 +1,2 @@
1
- export * from "../modules/auth/database/models/role.js";
2
- export * from "../modules/auth/database/models/user.js";
1
+ export * from "../modules/auth/database/models/role.js";
2
+ export * from "../modules/auth/database/models/user.js";
@@ -1,29 +1,32 @@
1
- <template>
2
- <div class="form-check mb-0" :class="props.topclass">
3
- <input
4
- :id="String(props.id)"
5
- v-model="model"
6
- class="form-check-input shadow-none border-secondary"
7
- type="checkbox"
8
- v-bind="$attrs" />
9
- <label v-if="props.label" class="form-check-label" :for="String(props.id)">{{ props.label }}</label>
10
- </div>
11
- </template>
12
-
13
- <script setup lang="ts">
14
- defineOptions({ name: "Checkbox", inheritAttrs: false });
15
-
16
- interface CheckboxProps {
17
- id?: string | number;
18
- label?: string;
19
- topclass?: string;
20
- }
21
-
22
- const props = defineProps<CheckboxProps>();
23
-
24
- type CheckboxModel = boolean | Array<string | number>;
25
-
26
- const model = defineModel<CheckboxModel>({ default: false });
27
- </script>
28
-
29
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div class="form-check mb-0" :class="props.topclass">
3
+ <input
4
+ :id="String(props.id)"
5
+ v-model="model"
6
+ class="form-check-input shadow-none"
7
+ type="checkbox"
8
+ v-bind="$attrs"
9
+ />
10
+ <label v-if="props.label" class="form-check-label" :for="String(props.id)">{{
11
+ props.label
12
+ }}</label>
13
+ </div>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ defineOptions({ name: "Checkbox", inheritAttrs: false });
18
+
19
+ interface CheckboxProps {
20
+ id?: string | number;
21
+ label?: string;
22
+ topclass?: string;
23
+ }
24
+
25
+ const props = defineProps<CheckboxProps>();
26
+
27
+ type CheckboxModel = boolean | Array<string | number>;
28
+
29
+ const model = defineModel<CheckboxModel>({ default: false });
30
+ </script>
31
+
32
+ <style lang="scss" scoped></style>