Repository Analysis

vbenjs/vue-vben-admin

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

0.5 Likely human-written View on GitHub
0.5
Adjusted Score
0.5
Raw Score
100%
Time Factor
2026-05-29
Last Push
32,491
Stars
Vue
Language
149,797
Lines of Code
1678
Files
67
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 2LOW 65

Pattern Findings

67 matches across 4 categories. Click a row to expand file-level details.

Fake / Example Data25 hits · 34 pts
SeverityFileLineSnippet
LOWpackages/stores/src/modules/user.test.ts13 const userInfo: any = { name: 'Jane Doe', roles: [{ value: 'user' }] };
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts32 await storageManager.setItem('user', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts39 await storageManager.setItem('user1', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts40 await storageManager.setItem('user2', { age: 25, name: 'Jane Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts47 await storageManager.setItem('user', { age: 30, name: 'John Doe' }, 1000); // 1秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts55 await storageManager.setItem('user', { age: 30, name: 'John Doe' }, 10_000); // 10秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts59 expect(user).toEqual({ age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts68 await storageManager.setItem('user', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts69 await storageManager.setItem('user', { age: 25, name: 'Jane Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts71 expect(user).toEqual({ age: 25, name: 'Jane Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts75 await storageManager.setItem('user', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts78 expect(user).toEqual({ age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts82 await storageManager.setItem('user', { age: 30, name: 'John Doe' }, 1000); // 1秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts89 await storageManager.setItem('user', { age: 30, name: 'John Doe' }, 10_000); // 10秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts92 expect(user).toEqual({ age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts96 await storageManager.setItem('user1', { age: 30, name: 'John Doe' }, 1000); // 1秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts97 await storageManager.setItem('user2', { age: 25, name: 'Jane Doe' }, 2000); // 2秒过期
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts103 expect(user2).toEqual({ age: 25, name: 'Jane Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts107 await storageManager.setItem('user', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts111 expect(user).toEqual({ age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts115 await storageManager.setItem('user1', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts116 await storageManager.setItem('user2', { age: 25, name: 'Jane Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts18 await storageManager.setItem('user', { age: 30, name: 'John Doe' });
LOW…ase/shared/src/cache/__tests__/storage-manager.test.ts20 expect(user).toEqual({ age: 30, name: 'John Doe' });
LOWapps/backend-mock/api/demo/bigint.ts17 "name": "John Doe",
Over-Commented Block20 hits · 20 pts
SeverityFileLineSnippet
LOWlefthook.yml1# EXAMPLE USAGE:
LOWlefthook.yml21# parallel: true
LOWplayground/playwright.config.ts41 // name: 'webkit',
LOWplayground/playwright.config.ts61 /* Test against branded browsers. */
LOWplayground/src/bootstrap.ts21async function bootstrap(namespace: string) {
LOWplayground/src/views/_core/authentication/login.vue41 // if (findItem) {
LOWinternal/lint-configs/eslint-config/src/configs/vue.ts21 {
LOWdocs/src/demos/vben-vxe-table/tree/index.vue21// {
LOWdocs/src/demos/vben-vxe-table/remote/index.vue21// 数据实例
LOWscripts/turbo-run/src/run.ts61// const appPackages = packages.filter((pkg) => {
LOWpackages/effects/plugins/src/vxe-table/use-vxe-grid.ts61 'table-title': undefined;
LOWpackages/@core/ui-kit/popup-ui/src/modal/modal.vue141 : `translate(${offsetX}px, ${offsetY}px)`;
LOWpackages/@core/ui-kit/menu-ui/src/components/menu.vue641 // }
LOWpackages/@core/base/shared/src/cache/README.md41//new StorageManager({ driver: new IndexedDBDriver(), prefix: 'app' });
LOWpackages/@core/base/shared/src/utils/diff.ts21// 深度对比两个值
LOWpackages/@core/base/shared/src/utils/diff.ts41// ignoreFields: (keyof T)[] = [],
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply need
LOW.github/workflows/codeql.yml61
LOWapps/web-tdesign/src/bootstrap.ts21
LOWapps/web-ele/src/bootstrap.ts21 // 初始化组件适配器
Hyper-Verbose Identifiers20 hits · 20 pts
SeverityFileLineSnippet
LOWinternal/vite-config/src/plugins/inject-metadata.ts29async function resolveMonorepoDependencies() {
LOWinternal/vite-config/src/plugins/tailwind-reference.ts14export function viteTailwindReferencePlugin(): Plugin {
LOWinternal/vite-config/src/plugins/vxe-table.ts5async function viteVxeTableImportsPlugin(): Promise<PluginOption> {
LOW…al/vite-config/src/plugins/inject-app-loading/index.ts14async function viteInjectAppLoadingPlugin(
LOW…al/vite-config/src/plugins/inject-app-loading/index.ts54async function getLoadingRawByHtmlTemplate(loadingTemplate: string) {
LOWscripts/vsh/src/code-workspace/index.ts65function defineCodeWorkspaceCommand(cac: CAC) {
LOWscripts/vsh/src/check-circular/index.ts49async function detectCircularDependencies({
LOWscripts/vsh/src/check-circular/index.ts193function defineCheckCircularCommand(cac: CAC): void {
LOWpackages/preferences/src/index.ts15function defineOverridesPreferences(preferences: DeepPartial<Preferences>) {
LOWpackages/utils/src/helpers/generate-routes-backend.ts14function menuHasVisibleWithForbidden(route: RouteRecordRaw): boolean {
LOWpackages/utils/src/helpers/generate-routes-frontend.ts50function menuHasVisibleWithForbidden(route: RouteRecordRaw) {
LOWpackages/effects/plugins/src/tiptap/extensions.ts403export function createDefaultTiptapExtensions(
LOWpackages/effects/layouts/src/basic/layout.vue166function clearPreferencesAndLogout() {
LOWpackages/effects/layouts/src/basic/layout.vue174function autoCollapseMenuByRouteMeta(route: RouteLocationNormalizedLoaded) {
LOWpackages/effects/layouts/src/basic/header/header.vue147function clearPreferencesAndLogout() {
LOW…layouts/src/widgets/preferences/preferences-button.vue12function clearPreferencesAndLogout() {
LOW…layouts/src/widgets/preferences/preferences-drawer.vue303function handleCustomPreferencesUpdate(updates: CustomPreferencesRecord) {
LOWpackages/effects/hooks/src/use-design-tokens.ts163export function useElementPlusDesignTokens() {
LOWpackages/@core/ui-kit/form-ui/src/form-render/helper.ts32export function getDefaultValueInZodStack(schema: ZodTypeAny): any {
LOWapps/backend-mock/utils/cookie-utils.ts25export function getRefreshTokenFromCookie(event: H3Event<EventHandlerRequest>) {
Slop Phrases2 hits · 5 pts
SeverityFileLineSnippet
MEDIUMplayground/src/views/examples/json-viewer/data.ts8 additionalNotes: 'This JSON is used for demonstration purposes',
MEDIUM.github/workflows/codeql.yml56 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how