Skip to content

Commit cf0ec05

Browse files
committed
refactor: Integrate the @vben-core/shared package
1 parent e640386 commit cf0ec05

File tree

223 files changed

+324
-322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+324
-322
lines changed

apps/web-antd/src/bootstrap.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { createApp } from 'vue';
22

3+
import { useAccessDirective } from '@vben/access';
34
import '@vben/styles';
45
import '@vben/styles/antd';
56

@@ -15,9 +16,12 @@ async function bootstrap(namespace: string) {
1516
// 国际化 i18n 配置
1617
await setupI18n(app);
1718

18-
// 配置 pinia-store
19+
// 配置 pinia-tore
1920
await setupStore(app, { namespace });
2021

22+
// 安装权限指令
23+
useAccessDirective(app);
24+
2125
// 配置路由及路由守卫
2226
app.use(router);
2327

apps/web-antd/src/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { unmountGlobalLoading } from '@vben/hooks';
21
import { initPreferences } from '@vben/preferences';
2+
import { unmountGlobalLoading } from '@vben/utils';
33

44
import { overridesPreferences } from './preferences';
55

apps/web-antd/src/views/demos/access/button-control.vue

+30-4
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,16 @@ async function changeAccount(role: string) {
9898

9999
<div v-if="accessMode === 'frontend'" class="card-box mt-5 p-5">
100100
<div class="mb-3 text-lg font-semibold">组件形式控制 - 用户角色方式</div>
101-
<AccessControl :codes="['super']">
101+
<AccessControl :codes="['super']" type="role">
102102
<Button class="mr-4"> Super 角色可见 </Button>
103103
</AccessControl>
104-
<AccessControl :codes="['admin']">
104+
<AccessControl :codes="['admin']" type="role">
105105
<Button class="mr-4"> Admin 角色可见 </Button>
106106
</AccessControl>
107-
<AccessControl :codes="['user']">
107+
<AccessControl :codes="['user']" type="role">
108108
<Button class="mr-4"> User 角色可见 </Button>
109109
</AccessControl>
110-
<AccessControl :codes="['super', 'admin']">
110+
<AccessControl :codes="['super', 'admin']" type="role">
111111
<Button class="mr-4"> Super & Admin 角色可见 </Button>
112112
</AccessControl>
113113
</div>
@@ -127,5 +127,31 @@ async function changeAccount(role: string) {
127127
Super & Admin 账号可见 ["AC_100100","AC_1000001"]
128128
</Button>
129129
</div>
130+
131+
<div class="card-box mt-5 p-5">
132+
<div class="mb-3 text-lg font-semibold">指令方式 - 权限码</div>
133+
<Button class="mr-4" v-access:code="['AC_100100']">
134+
Super 账号可见 ["AC_1000001"]
135+
</Button>
136+
<Button class="mr-4" v-access:code="['AC_100030']">
137+
Admin 账号可见 ["AC_100010"]
138+
</Button>
139+
<Button class="mr-4" v-access:code="['AC_1000001']">
140+
User 账号可见 ["AC_1000001"]
141+
</Button>
142+
<Button class="mr-4" v-access:code="['AC_100100', 'AC_1000001']">
143+
Super & Admin 账号可见 ["AC_100100","AC_1000001"]
144+
</Button>
145+
</div>
146+
147+
<div v-if="accessMode === 'frontend'" class="card-box mt-5 p-5">
148+
<div class="mb-3 text-lg font-semibold">指令方式 - 角色</div>
149+
<Button class="mr-4" v-access:role="['super']"> Super 角色可见 </Button>
150+
<Button class="mr-4" v-access:role="['admin']"> Admin 角色可见 </Button>
151+
<Button class="mr-4" v-access:role="['user']"> User 角色可见 </Button>
152+
<Button class="mr-4" v-access:role="['super', 'admin']">
153+
Super & Admin 角色可见
154+
</Button>
155+
</div>
130156
</div>
131157
</template>

internal/lint-configs/eslint-config/src/configs/vue.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export async function vue(): Promise<Linter.FlatConfig[]> {
4444
ignore: [],
4545
},
4646
],
47-
'vue/attributes-order': 'error',
47+
'vue/attributes-order': 'off',
4848
'vue/block-order': [
4949
'error',
5050
{

internal/lint-configs/eslint-config/src/custom-config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ const customConfig: Linter.FlatConfig[] = [
6969
},
7070
{
7171
// @core/shared内部组件,不能引入@vben/* 或者 @vben-core/* 里面的包
72-
files: ['packages/@core/shared/**/**'],
72+
files: ['packages/@core/base/**/**'],
7373
ignores: restrictedImportIgnores,
7474
rules: {
7575
'no-restricted-imports': [

packages/@core/base/README.md

+5

packages/@core/shared/design/package.json renamed to packages/@core/base/design/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"repository": {
77
"type": "git",
88
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9-
"directory": "packages/@vben-core/shared/design"
9+
"directory": "packages/@vben-core/base/design"
1010
},
1111
"license": "MIT",
1212
"type": "module",

packages/@core/shared/icons/package.json renamed to packages/@core/base/icons/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"repository": {
77
"type": "git",
88
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9-
"directory": "packages/@vben-core/shared/icons"
9+
"directory": "packages/@vben-core/base/icons"
1010
},
1111
"license": "MIT",
1212
"type": "module",
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { defineBuildConfig } from 'unbuild';
2+
3+
export default defineBuildConfig({
4+
clean: true,
5+
declaration: true,
6+
entries: [
7+
'src/index',
8+
'src/constants/index',
9+
'src/utils/index',
10+
'src/colorful/index',
11+
'src/cache/index',
12+
],
13+
});

packages/@core/shared/toolkit/package.json renamed to packages/@core/base/shared/package.json

+22-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"name": "@vben-core/toolkit",
2+
"name": "@vben-core/shared",
33
"version": "5.0.0",
44
"homepage": "https://github.com/vbenjs/vue-vben-admin",
55
"bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
66
"repository": {
77
"type": "git",
88
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9-
"directory": "packages/@vben-core/shared/toolkit"
9+
"directory": "packages/@vben-core/base/shared"
1010
},
1111
"license": "MIT",
1212
"type": "module",
@@ -24,6 +24,26 @@
2424
"types": "./src/index.ts",
2525
"development": "./src/index.ts",
2626
"default": "./dist/index.mjs"
27+
},
28+
"./constants": {
29+
"types": "./src/constants/index.ts",
30+
"development": "./src/constants/index.ts",
31+
"default": "./dist/constants/index.mjs"
32+
},
33+
"./utils": {
34+
"types": "./src/utils/index.ts",
35+
"development": "./src/utils/index.ts",
36+
"default": "./dist/utils/index.mjs"
37+
},
38+
"./colorful": {
39+
"types": "./src/colorful/index.ts",
40+
"development": "./src/colorful/index.ts",
41+
"default": "./dist/colorful/index.mjs"
42+
},
43+
"./cache": {
44+
"types": "./src/cache/index.ts",
45+
"development": "./src/cache/index.ts",
46+
"default": "./dist/cache/index.mjs"
2747
}
2848
},
2949
"publishConfig": {
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export * from './cache';
2+
export * from './colorful';
3+
export * from './constants';
4+
export * from './utils';

packages/@core/shared/toolkit/src/index.ts renamed to packages/@core/base/shared/src/utils/index.ts

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
export * from './cache';
21
export * from './cn';
3-
export * from './colorful';
42
export * from './diff';
53
export * from './dom';
64
export * from './inference';

packages/@core/shared/typings/package.json renamed to packages/@core/base/typings/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"repository": {
77
"type": "git",
88
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9-
"directory": "packages/@vben-core/shared/typings"
9+
"directory": "packages/@vben-core/base/typings"
1010
},
1111
"license": "MIT",
1212
"type": "module",

packages/@core/hooks/package.json renamed to packages/@core/composables/package.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"name": "@vben-core/hooks",
2+
"name": "@vben-core/composables",
33
"version": "5.0.0",
44
"homepage": "https://github.com/vbenjs/vue-vben-admin",
55
"bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
66
"repository": {
77
"type": "git",
88
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9-
"directory": "packages/@core/hooks"
9+
"directory": "packages/@core/composables"
1010
},
1111
"license": "MIT",
1212
"type": "module",
@@ -35,8 +35,7 @@
3535
}
3636
},
3737
"dependencies": {
38-
"@vben-core/constants": "workspace:*",
39-
"@vben-core/toolkit": "workspace:*",
38+
"@vben-core/shared": "workspace:*",
4039
"@vueuse/core": "^10.11.0",
4140
"radix-vue": "^1.9.2",
4241
"sortablejs": "^1.15.2",

packages/@core/hooks/src/use-content-height.ts renamed to packages/@core/composables/src/use-content-height.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { computed, onMounted, ref, watch } from 'vue';
22

3-
import { CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT } from '@vben-core/constants';
4-
import { getElementVisibleHeight } from '@vben-core/toolkit';
3+
import {
4+
CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT,
5+
getElementVisibleHeight,
6+
} from '@vben-core/shared';
57

68
import { useCssVar, useDebounceFn, useWindowSize } from '@vueuse/core';
79
/**

packages/@core/hooks/src/use-namespace.ts renamed to packages/@core/composables/src/use-namespace.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DEFAULT_NAMESPACE } from '@vben-core/constants';
1+
import { DEFAULT_NAMESPACE } from '@vben-core/shared';
22

33
/**
44
* @see copy https://github.com/element-plus/element-plus/blob/dev/packages/hooks/use-namespace/index.ts

packages/@core/preferences/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
}
3030
},
3131
"dependencies": {
32-
"@vben-core/toolkit": "workspace:*",
32+
"@vben-core/shared": "workspace:*",
3333
"@vben-core/typings": "workspace:*",
3434
"@vueuse/core": "^10.11.0",
3535
"vue": "^3.4.34"

packages/@core/preferences/src/preferences.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { InitialOptions, Preferences } from './types';
44

55
import { markRaw, reactive, readonly, watch } from 'vue';
66

7-
import { isMacOs, merge, StorageManager } from '@vben-core/toolkit';
7+
import { isMacOs, merge, StorageManager } from '@vben-core/shared';
88

99
import {
1010
breakpointsTailwind,

packages/@core/preferences/src/update-css-variables.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { Preferences } from './types';
33
import {
44
updateCSSVariables as executeUpdateCSSVariables,
55
generatorColorVariables,
6-
} from '@vben-core/toolkit';
6+
} from '@vben-core/shared';
77

88
import { BUILT_IN_THEME_PRESETS, type BuiltinThemePreset } from './constants';
99

packages/@core/preferences/src/use-preferences.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { computed } from 'vue';
22

3-
import { diff } from '@vben-core/toolkit';
3+
import { diff } from '@vben-core/shared';
44

55
import { isDarkTheme, preferencesManager } from './preferences';
66

packages/@core/shared/README.md

-6
This file was deleted.

packages/@core/shared/constants/package.json

-37
This file was deleted.

packages/@core/shared/toolkit/build.config.ts

-7
This file was deleted.

packages/@core/shared/typings/build.config.ts

-7
This file was deleted.

packages/@core/shared/typings/tsconfig.json

-6
This file was deleted.

packages/@core/ui-kit/layout-ui/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
}
3838
},
3939
"dependencies": {
40-
"@vben-core/hooks": "workspace:*",
40+
"@vben-core/composables": "workspace:*",
4141
"@vben-core/icons": "workspace:*",
4242
"@vben-core/shadcn-ui": "workspace:*",
4343
"@vben-core/typings": "workspace:*",

packages/@core/ui-kit/layout-ui/src/components/layout-content.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { ContentCompactType } from '@vben-core/typings';
44
import type { CSSProperties } from 'vue';
55
import { computed } from 'vue';
66
7-
import { useContentHeightListener } from '@vben-core/hooks';
7+
import { useContentHeightListener } from '@vben-core/composables';
88
99
interface Props {
1010
/**

packages/@core/ui-kit/menu-ui/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
}
3838
},
3939
"dependencies": {
40-
"@vben-core/hooks": "workspace:*",
40+
"@vben-core/composables": "workspace:*",
4141
"@vben-core/icons": "workspace:*",
4242
"@vben-core/shadcn-ui": "workspace:*",
43-
"@vben-core/toolkit": "workspace:*",
43+
"@vben-core/shared": "workspace:*",
4444
"@vben-core/typings": "workspace:*",
4545
"@vueuse/core": "^10.11.0",
4646
"vue": "^3.4.34"

packages/@core/ui-kit/menu-ui/src/components/menu-item.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { MenuItemProps, MenuItemRegistered } from '../interface';
33
44
import { computed, onBeforeUnmount, onMounted, reactive, useSlots } from 'vue';
55
6-
import { useNamespace } from '@vben-core/hooks';
6+
import { useNamespace } from '@vben-core/composables';
77
import { VbenIcon, VbenMenuBadge, VbenTooltip } from '@vben-core/shadcn-ui';
88
99
import { useMenu, useMenuContext, useSubMenuContext } from '../hooks';

packages/@core/ui-kit/menu-ui/src/components/menu.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import {
1818
watchEffect,
1919
} from 'vue';
2020
21-
import { useNamespace } from '@vben-core/hooks';
21+
import { useNamespace } from '@vben-core/composables';
2222
import { Ellipsis } from '@vben-core/icons';
23-
import { isHttpUrl } from '@vben-core/toolkit';
23+
import { isHttpUrl } from '@vben-core/shared';
2424
2525
import { useResizeObserver, UseResizeObserverReturn } from '@vueuse/core';
2626

0 commit comments

Comments
 (0)