@sidekick-coder/zenith-kit 0.1.0 → 0.3.1
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/cli/commands/build.js +8 -2
- package/commands/release.js +1 -1
- package/dist/client/chunk-0Lt9GpW0.mjs +1 -0
- package/dist/client/index.d.mts +698 -52
- package/dist/client/index.mjs +2 -2
- package/dist/components/index.es.js +54764 -53506
- package/dist/components/styles.css +94 -1
- package/dist/server/index.d.mts +441 -191
- package/dist/server/index.mjs +4 -4
- package/dist/shared/index.d.mts +495 -31
- package/dist/shared/index.mjs +2 -2
- package/eslint.config.mts +4 -0
- package/legacy/client/components/AlertButton.vue +1 -1
- package/legacy/client/layouts/AdminLayout.vue +3 -0
- package/package.json +39 -8
- package/tsconfig.client.json +15 -9
- package/tsdown.config.ts +3 -0
- package/vite/createViteConfig.js +5 -0
- package/vite.config.ts +31 -31
- package/vitest.config.ts +35 -0
package/eslint.config.mts
CHANGED
|
@@ -8,6 +8,9 @@ import { defineConfig } from "eslint/config";
|
|
|
8
8
|
|
|
9
9
|
export default defineConfig([
|
|
10
10
|
{ files: ["**/*.{js,mjs,cjs,ts,mts,cts,vue}"], plugins: { js }, extends: ["js/recommended"], languageOptions: { globals: { ...globals.browser, ...globals.node } } },
|
|
11
|
+
{
|
|
12
|
+
ignores: ["src/client/components/ui/*"]
|
|
13
|
+
},
|
|
11
14
|
tseslint.configs.recommended,
|
|
12
15
|
pluginVue.configs["flat/essential"],
|
|
13
16
|
{ files: ["**/*.vue"], languageOptions: { parserOptions: { parser: tseslint.parser } } },
|
|
@@ -16,6 +19,7 @@ export default defineConfig([
|
|
|
16
19
|
eslintConfigPrettier,
|
|
17
20
|
{
|
|
18
21
|
rules: {
|
|
22
|
+
'no-undef': 'off', // let typescript handle this
|
|
19
23
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
20
24
|
'@typescript-eslint/no-empty-object-type': 'off',
|
|
21
25
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sidekick-coder/zenith-kit",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Package to use with zenith framework",
|
|
6
6
|
"author": "Henrique Oliveira <henriqueoliwork@gmail.com>",
|
|
@@ -23,43 +23,69 @@
|
|
|
23
23
|
},
|
|
24
24
|
"exports": {
|
|
25
25
|
"./shared": {
|
|
26
|
+
"development": {
|
|
27
|
+
"types": "./src/shared/index.ts",
|
|
28
|
+
"import": "./src/shared/index.ts"
|
|
29
|
+
},
|
|
26
30
|
"types": "./dist/shared/index.d.mts",
|
|
27
31
|
"import": "./dist/shared/index.mjs",
|
|
28
32
|
"require": "./dist/shared/index.js"
|
|
29
33
|
},
|
|
30
34
|
"./server": {
|
|
35
|
+
"development": {
|
|
36
|
+
"types": "./src/server/index.ts",
|
|
37
|
+
"import": "./src/server/index.ts"
|
|
38
|
+
},
|
|
31
39
|
"types": "./dist/server/index.d.mts",
|
|
32
40
|
"import": "./dist/server/index.mjs",
|
|
33
41
|
"require": "./dist/server/index.js"
|
|
34
42
|
},
|
|
35
43
|
"./client": {
|
|
44
|
+
"development": {
|
|
45
|
+
"types": "./src/client/index.ts",
|
|
46
|
+
"import": "./src/client/index.ts"
|
|
47
|
+
},
|
|
36
48
|
"types": "./dist/client/index.d.mts",
|
|
37
49
|
"import": "./dist/client/index.mjs",
|
|
38
50
|
"require": "./dist/client/index.mjs"
|
|
39
51
|
},
|
|
40
52
|
"./components": {
|
|
41
|
-
"
|
|
53
|
+
"development": {
|
|
54
|
+
"types": "./src/client/components.ts",
|
|
55
|
+
"import": "./src/client/components.ts"
|
|
56
|
+
},
|
|
57
|
+
"types": "./dist/components/src/client/components.d.ts",
|
|
42
58
|
"import": "./dist/components/index.es.js",
|
|
43
59
|
"require": "./dist/components/index.es.js"
|
|
44
60
|
},
|
|
45
61
|
"./vite": {
|
|
46
62
|
"import": "./vite/plugins/vite.js",
|
|
47
63
|
"require": "./vite/plugins/vite.js"
|
|
48
|
-
},
|
|
49
|
-
"./styles": "./dist/components/styles.css",
|
|
50
|
-
"./client-globals": {
|
|
51
|
-
"types": "./src/client/zenith-env.d.ts"
|
|
52
64
|
}
|
|
53
65
|
},
|
|
54
66
|
"scripts": {
|
|
55
|
-
"build": "npm run build:tsdown && npm run build:vite",
|
|
56
67
|
"build:tsdown": "tsdown",
|
|
57
68
|
"build:vite": "vite build",
|
|
69
|
+
"build": "npm-run-all -p build:*",
|
|
70
|
+
"test:unit": "vitest --project unit",
|
|
71
|
+
"test:int": "vitest -p integration",
|
|
72
|
+
"test": "npm-run-all -p test:*",
|
|
58
73
|
"release": "node artisan.js release"
|
|
59
74
|
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"vue": "^3.5.31"
|
|
77
|
+
},
|
|
60
78
|
"devDependencies": {
|
|
61
79
|
"@eslint/js": "^9.39.4",
|
|
62
|
-
"@eslint/json": "^0.14.0"
|
|
80
|
+
"@eslint/json": "^0.14.0",
|
|
81
|
+
"@faker-js/faker": "^10.4.0",
|
|
82
|
+
"@microsoft/api-extractor": "^7.58.7",
|
|
83
|
+
"@types/bcrypt": "^6.0.0",
|
|
84
|
+
"@types/cookie-parser": "^1.4.10",
|
|
85
|
+
"@types/cors": "^2.8.19",
|
|
86
|
+
"@types/supertest": "^7.2.0",
|
|
87
|
+
"better-sqlite3": "^12.10.0",
|
|
88
|
+
"npm-run-all": "^4.1.5"
|
|
63
89
|
},
|
|
64
90
|
"dependencies": {
|
|
65
91
|
"@aws-sdk/client-s3": "^3.1039.0",
|
|
@@ -83,10 +109,13 @@
|
|
|
83
109
|
"@vue/language-core": "^3.1.8",
|
|
84
110
|
"@vue/tsconfig": "^0.9.1",
|
|
85
111
|
"@vueuse/router": "^14.3.0",
|
|
112
|
+
"bcrypt": "^6.0.0",
|
|
86
113
|
"class-variance-authority": "^0.7.1",
|
|
87
114
|
"cli-table3": "^0.6.5",
|
|
88
115
|
"clsx": "^2.1.1",
|
|
89
116
|
"commander": "^14.0.3",
|
|
117
|
+
"cookie-parser": "^1.4.7",
|
|
118
|
+
"cors": "^2.8.6",
|
|
90
119
|
"cosmiconfig": "^9.0.1",
|
|
91
120
|
"date-fns": "^4.1.0",
|
|
92
121
|
"dotenv": "^17.4.2",
|
|
@@ -94,6 +123,7 @@
|
|
|
94
123
|
"eslint": "^9.39.4",
|
|
95
124
|
"eslint-config-prettier": "^10.1.8",
|
|
96
125
|
"eslint-plugin-vue": "^10.8.0",
|
|
126
|
+
"express": "^5.2.1",
|
|
97
127
|
"fast-glob": "^3.3.3",
|
|
98
128
|
"globals": "^17.5.0",
|
|
99
129
|
"js-yaml": "^4.1.1",
|
|
@@ -107,6 +137,7 @@
|
|
|
107
137
|
"pg": "^8.20.0",
|
|
108
138
|
"qs": "^6.15.1",
|
|
109
139
|
"reka-ui": "^2.9.6",
|
|
140
|
+
"supertest": "^7.2.2",
|
|
110
141
|
"tailwind-merge": "^3.5.0",
|
|
111
142
|
"tsdown": "^0.21.9",
|
|
112
143
|
"tw-animate-css": "^1.4.0",
|
package/tsconfig.client.json
CHANGED
|
@@ -4,22 +4,28 @@
|
|
|
4
4
|
],
|
|
5
5
|
"compilerOptions": {
|
|
6
6
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
7
|
+
"types": [
|
|
8
|
+
"vite/client"
|
|
9
|
+
],
|
|
7
10
|
"strict": true,
|
|
8
11
|
"noUnusedLocals": false,
|
|
9
12
|
"noUnusedParameters": true,
|
|
10
13
|
"noFallthroughCasesInSwitch": true,
|
|
11
14
|
"noUncheckedSideEffectImports": true,
|
|
12
15
|
"strictPropertyInitialization": false,
|
|
13
|
-
"baseUrl": "
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
"baseUrl": "src",
|
|
17
|
+
"paths": {
|
|
18
|
+
"#client/*": [
|
|
19
|
+
"client/*"
|
|
20
|
+
],
|
|
21
|
+
"#shared/*": [
|
|
22
|
+
"shared/*"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
19
25
|
},
|
|
20
26
|
"include": [
|
|
21
|
-
"src/client
|
|
22
|
-
"src/client
|
|
23
|
-
"src/shared
|
|
27
|
+
"src/client/**/*.ts",
|
|
28
|
+
"src/client/**/*.vue",
|
|
29
|
+
"src/shared/**/*.ts"
|
|
24
30
|
]
|
|
25
31
|
}
|
package/tsdown.config.ts
CHANGED
|
@@ -57,6 +57,7 @@ export default defineConfig([
|
|
|
57
57
|
'src/server/loaders',
|
|
58
58
|
'src/server/entities',
|
|
59
59
|
'src/server/queries',
|
|
60
|
+
'src/server/relations',
|
|
60
61
|
'src/server/middlewares',
|
|
61
62
|
'src/server/utils',
|
|
62
63
|
],
|
|
@@ -86,6 +87,7 @@ export default defineConfig([
|
|
|
86
87
|
generateIndexFile({
|
|
87
88
|
folders: [
|
|
88
89
|
'src/client/services',
|
|
90
|
+
'src/client/composables',
|
|
89
91
|
'src/client/repositories',
|
|
90
92
|
'src/client/mixins',
|
|
91
93
|
'src/client/facades',
|
|
@@ -93,6 +95,7 @@ export default defineConfig([
|
|
|
93
95
|
'src/client/entities',
|
|
94
96
|
'src/client/utils',
|
|
95
97
|
'src/client/guards',
|
|
98
|
+
'src/client/registry',
|
|
96
99
|
],
|
|
97
100
|
filename: 'src/client/index.ts'
|
|
98
101
|
})
|
package/vite/createViteConfig.js
CHANGED
|
@@ -9,6 +9,7 @@ import zenith from './plugins/zenith.js'
|
|
|
9
9
|
* @property {string} [name] - Library name (default: `server`)
|
|
10
10
|
* @property {string} [entry] - Entry file or directory (default: `src/server/index.ts`)
|
|
11
11
|
* @property {string} [outDir] - Output directory (default: `dist/server`)
|
|
12
|
+
* @property {Object} [env] - Environment variables to replace in the code (default: `{}`)
|
|
12
13
|
* @property {boolean} [ssr] - Whether to build for SSR (default: `false`). If `true`, external dependencies will be treated as CommonJS modules. If `false`, they will be treated as ES modules.
|
|
13
14
|
*/
|
|
14
15
|
|
|
@@ -20,6 +21,9 @@ import zenith from './plugins/zenith.js'
|
|
|
20
21
|
*/
|
|
21
22
|
export default function(options) {
|
|
22
23
|
return defineConfig({
|
|
24
|
+
define: {
|
|
25
|
+
'process.env': options.env || {}
|
|
26
|
+
},
|
|
23
27
|
plugins: [
|
|
24
28
|
vue({
|
|
25
29
|
template: {
|
|
@@ -35,6 +39,7 @@ export default function(options) {
|
|
|
35
39
|
imports: [
|
|
36
40
|
'vue',
|
|
37
41
|
'vue-router',
|
|
42
|
+
'vee-validate'
|
|
38
43
|
],
|
|
39
44
|
})
|
|
40
45
|
],
|
package/vite.config.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { createLogger, defineConfig } from 'vite'
|
|
1
|
+
import { createLogger, defineConfig, UserConfig } from 'vite'
|
|
2
2
|
import vue from '@vitejs/plugin-vue'
|
|
3
3
|
import tailwindcss from '@tailwindcss/vite'
|
|
4
|
+
import dts from 'vite-plugin-dts'
|
|
4
5
|
import { generateIndexFile } from '#server/utils/generateIndexFile.ts'
|
|
5
6
|
|
|
6
7
|
const logger = createLogger()
|
|
@@ -9,18 +10,14 @@ const prebuild = () => ({
|
|
|
9
10
|
name: 'prebuild',
|
|
10
11
|
buildStart() {
|
|
11
12
|
generateIndexFile({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'src/client/composables',
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'src/client/
|
|
18
|
-
'src/client/
|
|
19
|
-
|
|
20
|
-
// 'src/client/guards',
|
|
21
|
-
'src/client/css',
|
|
22
|
-
],
|
|
23
|
-
filename: 'src/client/components.ts'
|
|
13
|
+
filename: 'src/client/components.ts',
|
|
14
|
+
patterns: [
|
|
15
|
+
'src/client/composables/*.ts',
|
|
16
|
+
'src/client/components/ui/**/index.ts',
|
|
17
|
+
'src/client/components/*.vue',
|
|
18
|
+
'src/client/layouts/*.vue',
|
|
19
|
+
'src/client/css/*.css',
|
|
20
|
+
]
|
|
24
21
|
})
|
|
25
22
|
|
|
26
23
|
logger.info('Generated index.ts for client')
|
|
@@ -33,26 +30,29 @@ const externals = [
|
|
|
33
30
|
'vee-validate',
|
|
34
31
|
]
|
|
35
32
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
isCustomElement: (tag) => {
|
|
43
|
-
return ['iconify-icon'].includes(tag)
|
|
44
|
-
}
|
|
33
|
+
const plugins: UserConfig['plugins'] = [
|
|
34
|
+
vue({
|
|
35
|
+
template: {
|
|
36
|
+
compilerOptions: {
|
|
37
|
+
isCustomElement: (tag) => {
|
|
38
|
+
return ['iconify-icon'].includes(tag)
|
|
45
39
|
}
|
|
46
40
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
}
|
|
42
|
+
}),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
plugins.push(dts({
|
|
46
|
+
// entryRoot: 'src/client/components.ts',
|
|
47
|
+
tsconfigPath: './tsconfig.client.json',
|
|
48
|
+
staticImport: true
|
|
49
|
+
}))
|
|
50
|
+
|
|
51
|
+
plugins.push(tailwindcss(), prebuild())
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
customLogger: logger,
|
|
55
|
+
plugins: plugins,
|
|
56
56
|
build: {
|
|
57
57
|
outDir: 'dist/components',
|
|
58
58
|
minify: false,
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// eslint-disable-next-line import/extensions
|
|
2
|
+
import { defineConfig } from 'vitest/config'
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
test: {
|
|
6
|
+
watch: false,
|
|
7
|
+
exclude: [
|
|
8
|
+
'**/node_modules/**',
|
|
9
|
+
'**/dist/**',
|
|
10
|
+
'**/build/**',
|
|
11
|
+
'**/coverage/**',
|
|
12
|
+
'**/logs/**',
|
|
13
|
+
'**/root/**'
|
|
14
|
+
],
|
|
15
|
+
projects: [
|
|
16
|
+
{
|
|
17
|
+
test: {
|
|
18
|
+
name: 'unit',
|
|
19
|
+
include: ['**/*.unit.test.ts'],
|
|
20
|
+
exclude: ['**/modules/**'],
|
|
21
|
+
setupFiles: ['src/server/__tests__/setup.ts'],
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
test: {
|
|
26
|
+
name: 'integration',
|
|
27
|
+
include: ['**/*.int.test.ts'],
|
|
28
|
+
exclude: ['**/modules/**'],
|
|
29
|
+
testTimeout: 60000, // Increase timeout for integration tests
|
|
30
|
+
hookTimeout: 60000, // Increase hook timeout for integration tests
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
})
|