fix: optimize the dependency detection script prompt and fix the loop dependency problem
parent
a765d3bbc0
commit
25a1e93ab2
|
@ -27,7 +27,7 @@
|
|||
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 turbo build",
|
||||
"build:docker": "./build-local-docker-image.sh",
|
||||
"changeset": "pnpm exec changeset",
|
||||
"check": "pnpm run check:dep && pnpm run check:circular && pnpm run check:type && pnpm run check:spell",
|
||||
"check": "pnpm run check:dep && pnpm run check:circular && pnpm run check:type && pnpm run check:cspell",
|
||||
"check:circular": "vsh check-circular",
|
||||
"check:dep": "vsh check-dep",
|
||||
"check:cspell": "cspell lint \"**/*.ts\" \"**/README.md\" \".changeset/*.md\" --no-progress",
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@vben-core/toolkit": "workspace:*",
|
||||
"@vben-core/typings": "workspace:*",
|
||||
"vue-router": "^4.4.0"
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ async function setupI18n(app: App, options: LocaleSetupOptions = {}) {
|
|||
}
|
||||
|
||||
export { $t, i18n, loadLocaleMessages, loadLocalesMap, setupI18n };
|
||||
export type { CompileError } from '@intlify/core-base';
|
||||
export { useI18n } from 'vue-i18n';
|
||||
export type { Locale } from 'vue-i18n';
|
||||
export type { ImportLocaleFn };
|
||||
export type { Locale } from 'vue-i18n';
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
useForwardPropsEmits,
|
||||
} from 'radix-vue';
|
||||
|
||||
import { type ToastProps, toastVariants } from '.';
|
||||
import { type ToastProps, toastVariants } from './toast';
|
||||
|
||||
const props = defineProps<ToastProps>();
|
||||
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
<script setup lang="ts">
|
||||
import { isVNode } from 'vue';
|
||||
|
||||
import {
|
||||
Toast,
|
||||
ToastClose,
|
||||
ToastDescription,
|
||||
ToastProvider,
|
||||
ToastTitle,
|
||||
ToastViewport,
|
||||
} from '.';
|
||||
import Toast from './Toast.vue';
|
||||
import ToastClose from './ToastClose.vue';
|
||||
import ToastDescription from './ToastDescription.vue';
|
||||
import ToastProvider from './ToastProvider.vue';
|
||||
import ToastTitle from './ToastTitle.vue';
|
||||
import ToastViewport from './ToastViewport.vue';
|
||||
import { useToast } from './use-toast';
|
||||
|
||||
const { toasts } = useToast();
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
import type { ToastRootProps } from 'radix-vue';
|
||||
|
||||
import type { HTMLAttributes } from 'vue';
|
||||
|
||||
import { type VariantProps, cva } from 'class-variance-authority';
|
||||
|
||||
export { default as Toast } from './Toast.vue';
|
||||
export { default as ToastAction } from './ToastAction.vue';
|
||||
export { default as ToastClose } from './ToastClose.vue';
|
||||
|
@ -12,28 +6,6 @@ export { default as ToastProvider } from './ToastProvider.vue';
|
|||
export { default as ToastTitle } from './ToastTitle.vue';
|
||||
export { default as ToastViewport } from './ToastViewport.vue';
|
||||
export { default as Toaster } from './Toaster.vue';
|
||||
export * from './toast';
|
||||
|
||||
export { toast, useToast } from './use-toast';
|
||||
|
||||
export const toastVariants = cva(
|
||||
'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',
|
||||
{
|
||||
defaultVariants: {
|
||||
variant: 'default',
|
||||
},
|
||||
variants: {
|
||||
variant: {
|
||||
default: 'border bg-background border-border text-foreground',
|
||||
destructive:
|
||||
'destructive group border-destructive bg-destructive text-destructive-foreground',
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
type ToastVariants = VariantProps<typeof toastVariants>;
|
||||
|
||||
export interface ToastProps extends ToastRootProps {
|
||||
class?: HTMLAttributes['class'];
|
||||
onOpenChange?: ((value: boolean) => void) | undefined;
|
||||
variant?: ToastVariants['variant'];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
import type { ToastRootProps } from 'radix-vue';
|
||||
|
||||
import type { HTMLAttributes } from 'vue';
|
||||
|
||||
import { type VariantProps, cva } from 'class-variance-authority';
|
||||
|
||||
export const toastVariants = cva(
|
||||
'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',
|
||||
{
|
||||
defaultVariants: {
|
||||
variant: 'default',
|
||||
},
|
||||
variants: {
|
||||
variant: {
|
||||
default: 'border bg-background border-border text-foreground',
|
||||
destructive:
|
||||
'destructive group border-destructive bg-destructive text-destructive-foreground',
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
type ToastVariants = VariantProps<typeof toastVariants>;
|
||||
|
||||
export interface ToastProps extends ToastRootProps {
|
||||
class?: HTMLAttributes['class'];
|
||||
onOpenChange?: ((value: boolean) => void) | undefined;
|
||||
variant?: ToastVariants['variant'];
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
import type { ToastProps } from '.';
|
||||
import type { ToastProps } from './toast';
|
||||
|
||||
import { computed, ref } from 'vue';
|
||||
import type { Component, VNode } from 'vue';
|
||||
|
|
|
@ -4,4 +4,5 @@ export default defineBuildConfig({
|
|||
clean: true,
|
||||
declaration: true,
|
||||
entries: ['src/index'],
|
||||
externals: ['vue'],
|
||||
});
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@vben-core/iconify": "workspace:*",
|
||||
"vue": "^3.4.31"
|
||||
"@vben-core/iconify": "workspace:*"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -559,9 +559,6 @@ importers:
|
|||
|
||||
packages/@core/forward/helpers:
|
||||
dependencies:
|
||||
'@vben-core/toolkit':
|
||||
specifier: workspace:*
|
||||
version: link:../../shared/toolkit
|
||||
'@vben-core/typings':
|
||||
specifier: workspace:*
|
||||
version: link:../../shared/typings
|
||||
|
@ -939,9 +936,6 @@ importers:
|
|||
'@vben-core/iconify':
|
||||
specifier: workspace:*
|
||||
version: link:../@core/shared/iconify
|
||||
vue:
|
||||
specifier: ^3.4.31
|
||||
version: 3.4.31(typescript@5.5.3)
|
||||
|
||||
packages/styles:
|
||||
dependencies:
|
||||
|
|
|
@ -10,6 +10,7 @@ async function runDepcheck() {
|
|||
packages.map(async (pkg) => {
|
||||
if (
|
||||
[
|
||||
'@vben/backend-mock',
|
||||
'@vben/commitlint-config',
|
||||
'@vben/eslint-config',
|
||||
'@vben/lint-staged-config',
|
||||
|
@ -40,6 +41,17 @@ async function runDepcheck() {
|
|||
ignorePatterns: ['dist', 'node_modules', 'public'],
|
||||
});
|
||||
|
||||
// 删除file:前缀的依赖提示,该依赖是本地依赖
|
||||
Reflect.deleteProperty(unused.missing, 'file:');
|
||||
Object.keys(unused.missing).forEach((key) => {
|
||||
unused.missing[key] = unused.missing[key].filter(
|
||||
(item: string) => !item.startsWith('/'),
|
||||
);
|
||||
if (unused.missing[key].length === 0) {
|
||||
Reflect.deleteProperty(unused.missing, key);
|
||||
}
|
||||
});
|
||||
|
||||
if (
|
||||
Object.keys(unused.missing).length === 0 &&
|
||||
unused.dependencies.length === 0 &&
|
||||
|
|
Loading…
Reference in New Issue