UNPKG

@slcy/eslint-config

Version:

ESLint config for @slcy

389 lines (388 loc) 8.31 kB
const e = { curly: ["error", "all"], // 强制所有控制语句使用大括号 "no-console": "off", "prefer-const": "error" }, r = { // 用于检查导入的模块是否能被解析(即是否存在这个模块路径 "import/no-unresolved": "off", // 导入后强制换行 "import/newline-after-import": "error", // 防止重复导入同一模块 "import/no-duplicates": "error", // 导入排序规则(核心功能) "import/order": [ "error", { // 每个分组之间强制空一行,提高可读性 "newlines-between": "always", alphabetize: { // 同一组内模块名按字母升序排列 order: "asc", // 忽略大小写 caseInsensitive: !0 }, groups: [ // Node.js 的内建模块,如 fs, path "builtin", // 第三方模块 "external", // 项目中内部定义的模块,如别名路径(如 @/utils) "internal", // 父级路径模块,如 ../utils "parent", // 当前目录兄弟模块,如 ./Button "sibling", // 当前目录的 index.js/ts "index" ] } ], // import 语句内部成员排序 "sort-imports": [ "error", { // 排序时忽略大小写。 ignoreCase: !0, // 不强制排序 import 声明之间的顺序 ignoreDeclarationSort: !0, // 强制排序 import 中的成员 ignoreMemberSort: !1 } ] }, t = { "no-this-alias": "off", "no-unused-vars": [ "error", { args: "all", // 检查所有函数参数 vars: "all", // 检查所有未使用的变量 caughtErrors: "none", // 忽略捕获的错误 argsIgnorePattern: "^_" // 忽略以 _ 开头的函数参数 } ] }, u = { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-this-alias": "off", // TypeScript 中禁止未使用的变量 "@typescript-eslint/no-unused-vars": [ "error", { args: "all", // 检查所有函数参数 vars: "all", // 检查所有未使用的变量 caughtErrors: "none", // 忽略捕获的错误 argsIgnorePattern: "^_" // 忽略以 _ 开头的函数参数 } ] }, s = { "vue/multi-word-component-names": "off", "vue/no-multiple-template-root": "off", "vue/no-v-html": "off" }, o = { EffectScope: !0, ElForm: !0, ElMessage: !0, ElMessageBox: !0, ElTree: !0, asyncComputed: !0, autoResetRef: !0, computed: !0, computedAsync: !0, computedEager: !0, computedInject: !0, computedWithControl: !0, controlledComputed: !0, controlledRef: !0, createApp: !0, createEventHook: !0, createGlobalState: !0, createInjectionState: !0, createReactiveFn: !0, createSharedComposable: !0, createUnrefFn: !0, customRef: !0, debouncedRef: !0, debouncedWatch: !0, defineAsyncComponent: !0, defineComponent: !0, eagerComputed: !0, effectScope: !0, extendRef: !0, getCurrentInstance: !0, getCurrentScope: !0, h: !0, ignorableWatch: !0, inject: !0, isDefined: !0, isProxy: !0, isReactive: !0, isReadonly: !0, isRef: !0, makeDestructurable: !0, markRaw: !0, nextTick: !0, onActivated: !0, onBeforeMount: !0, onBeforeUnmount: !0, onBeforeUpdate: !0, onClickOutside: !0, onDeactivated: !0, onErrorCaptured: !0, onKeyStroke: !0, onLongPress: !0, onMounted: !0, onRenderTracked: !0, onRenderTriggered: !0, onScopeDispose: !0, onServerPrefetch: !0, onStartTyping: !0, onUnmounted: !0, onUpdated: !0, pausableWatch: !0, provide: !0, reactify: !0, reactifyObject: !0, reactive: !0, reactiveComputed: !0, reactiveOmit: !0, reactivePick: !0, readonly: !0, ref: !0, refAutoReset: !0, refDebounced: !0, refDefault: !0, refThrottled: !0, refWithControl: !0, resolveComponent: !0, resolveDirective: !0, resolveRef: !0, resolveUnref: !0, shallowReactive: !0, shallowReadonly: !0, shallowRef: !0, syncRef: !0, syncRefs: !0, templateRef: !0, throttledRef: !0, throttledWatch: !0, toRaw: !0, toReactive: !0, toRef: !0, toRefs: !0, triggerRef: !0, tryOnBeforeMount: !0, tryOnBeforeUnmount: !0, tryOnMounted: !0, tryOnScopeDispose: !0, tryOnUnmounted: !0, unref: !0, unrefElement: !0, until: !0, useActiveElement: !0, useArrayEvery: !0, useArrayFilter: !0, useArrayFind: !0, useArrayFindIndex: !0, useArrayFindLast: !0, useArrayJoin: !0, useArrayMap: !0, useArrayReduce: !0, useArraySome: !0, useArrayUnique: !0, useAsyncQueue: !0, useAsyncState: !0, useAttrs: !0, useBase64: !0, useBattery: !0, useBluetooth: !0, useBreakpoints: !0, useBroadcastChannel: !0, useBrowserLocation: !0, useCached: !0, useClipboard: !0, useCloned: !0, useColorMode: !0, useConfirmDialog: !0, useCounter: !0, useCssModule: !0, useCssVar: !0, useCssVars: !0, useCurrentElement: !0, useCycleList: !0, useDark: !0, useDateFormat: !0, useDebounce: !0, useDebounceFn: !0, useDebouncedRefHistory: !0, useDeviceMotion: !0, useDeviceOrientation: !0, useDevicePixelRatio: !0, useDevicesList: !0, useDisplayMedia: !0, useDocumentVisibility: !0, useDraggable: !0, useDropZone: !0, useElementBounding: !0, useElementByPoint: !0, useElementHover: !0, useElementSize: !0, useElementVisibility: !0, useEventBus: !0, useEventListener: !0, useEventSource: !0, useEyeDropper: !0, useFavicon: !0, useFetch: !0, useFileDialog: !0, useFileSystemAccess: !0, useFocus: !0, useFocusWithin: !0, useFps: !0, useFullscreen: !0, useGamepad: !0, useGeolocation: !0, useIdle: !0, useImage: !0, useInfiniteScroll: !0, useIntersectionObserver: !0, useInterval: !0, useIntervalFn: !0, useKeyModifier: !0, useLastChanged: !0, useLocalStorage: !0, useMagicKeys: !0, useManualRefHistory: !0, useMediaControls: !0, useMediaQuery: !0, useMemoize: !0, useMemory: !0, useMounted: !0, useMouse: !0, useMouseInElement: !0, useMousePressed: !0, useMutationObserver: !0, useNavigatorLanguage: !0, useNetwork: !0, useNow: !0, useObjectUrl: !0, useOffsetPagination: !0, useOnline: !0, usePageLeave: !0, useParallax: !0, usePermission: !0, usePointer: !0, usePointerLock: !0, usePointerSwipe: !0, usePreferredColorScheme: !0, usePreferredContrast: !0, usePreferredDark: !0, usePreferredLanguages: !0, usePreferredReducedMotion: !0, usePrevious: !0, useRafFn: !0, useRouter: !0, useRoute: !0, useRefHistory: !0, useResizeObserver: !0, useScreenOrientation: !0, useScreenSafeArea: !0, useScriptTag: !0, useScroll: !0, useScrollLock: !0, useSessionStorage: !0, useShare: !0, useSlots: !0, useSorted: !0, useSpeechRecognition: !0, useSpeechSynthesis: !0, useStepper: !0, useStorage: !0, useStorageAsync: !0, useStyleTag: !0, useSupported: !0, useSwipe: !0, useTemplateRefsList: !0, useTextDirection: !0, useTextSelection: !0, useTextareaAutosize: !0, useThrottle: !0, useThrottleFn: !0, useThrottledRefHistory: !0, useTimeAgo: !0, useTimeout: !0, useTimeoutFn: !0, useTimeoutPoll: !0, useTimestamp: !0, useTitle: !0, useToNumber: !0, useToString: !0, useToggle: !0, useTransition: !0, useUrlSearchParams: !0, useUserMedia: !0, useVModel: !0, useVModels: !0, useVibrate: !0, useVirtualList: !0, useWakeLock: !0, useWebNotification: !0, useWebSocket: !0, useWebWorker: !0, useWebWorkerFn: !0, useWindowFocus: !0, useWindowScroll: !0, useWindowSize: !0, watch: !0, watchArray: !0, watchAtMost: !0, watchDebounced: !0, watchEffect: !0, watchIgnorable: !0, watchOnce: !0, watchPausable: !0, watchPostEffect: !0, watchSyncEffect: !0, watchThrottled: !0, watchTriggerable: !0, watchWithFilter: !0, whenever: !0 }, n = { meta: { // name: pkg.name, // version: pkg.version }, rules: {}, configs: { recommended: { rules: {} }, import: { rules: r }, base: { rules: e }, js: { rules: t }, ts: { rules: u }, vue: { rules: s, autoImport: o } }, processors: {} }; export { n as default };