diff --git a/internal/eslint-config/index.js b/internal/eslint-config/index.js index bc7b15e7ef..f7fb08de60 100644 --- a/internal/eslint-config/index.js +++ b/internal/eslint-config/index.js @@ -121,7 +121,6 @@ module.exports = defineConfig({ ], }, }, - { files: ['**/*.md/*.js', '**/*.md/*.ts'], rules: { @@ -130,6 +129,12 @@ module.exports = defineConfig({ '@typescript-eslint/no-unused-vars': 'off', }, }, + { + files: ['!docs/**/*.{js,ts,vue}'], + rules: { + 'import/newline-after-import': ['error', { count: 1 }], + }, + }, ], rules: { // js/ts diff --git a/packages/components/affix/index.ts b/packages/components/affix/index.ts index 8f957a49b8..07fcdf9e93 100644 --- a/packages/components/affix/index.ts +++ b/packages/components/affix/index.ts @@ -1,6 +1,7 @@ import { withInstall } from '@element-plus/utils' import Affix from './src/affix.vue' import type { SFCWithInstall } from '@element-plus/utils' + export const ElAffix: SFCWithInstall = withInstall(Affix) export default ElAffix diff --git a/packages/components/cascader-panel/src/node-content.ts b/packages/components/cascader-panel/src/node-content.ts index 518bce9358..a2abe44892 100644 --- a/packages/components/cascader-panel/src/node-content.ts +++ b/packages/components/cascader-panel/src/node-content.ts @@ -1,6 +1,7 @@ // @ts-nocheck import { defineComponent, h } from 'vue' import { useNamespace } from '@element-plus/hooks' + export default defineComponent({ name: 'NodeContent', setup() { diff --git a/packages/components/pagination/src/components/pager.vue b/packages/components/pagination/src/components/pager.vue index 73b1e643bb..ab24b1f9d1 100644 --- a/packages/components/pagination/src/components/pager.vue +++ b/packages/components/pagination/src/components/pager.vue @@ -75,6 +75,7 @@ import { DArrowLeft, DArrowRight, MoreFilled } from '@element-plus/icons-vue' import { useLocale, useNamespace } from '@element-plus/hooks' import { CHANGE_EVENT } from '@element-plus/constants' import { paginationPagerProps } from './pager' + defineOptions({ name: 'ElPaginationPager', }) diff --git a/packages/components/radio/src/use-radio.ts b/packages/components/radio/src/use-radio.ts index f048370daf..1d6580fd1f 100644 --- a/packages/components/radio/src/use-radio.ts +++ b/packages/components/radio/src/use-radio.ts @@ -8,6 +8,7 @@ import { radioGroupKey } from './constants' import type { RadioButtonProps } from './radio-button' import type { SetupContext } from 'vue' import type { RadioEmits, RadioProps } from './radio' + export const useRadio = ( props: RadioProps | RadioButtonProps, emit?: SetupContext['emit'] diff --git a/packages/components/roving-focus-group/__tests__/roving-focus-item.test.ts b/packages/components/roving-focus-group/__tests__/roving-focus-item.test.ts index 26f7ad8f6c..149e552615 100644 --- a/packages/components/roving-focus-group/__tests__/roving-focus-item.test.ts +++ b/packages/components/roving-focus-group/__tests__/roving-focus-item.test.ts @@ -13,6 +13,7 @@ import { ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, } from '../src/tokens' import ElRovingFocusItem from '../src/roving-focus-item.vue' + const AXIOM = 'rem is the best girl' const focusItemKls = 'item-kls' diff --git a/packages/components/select/src/type.ts b/packages/components/select/src/type.ts index 37dfc4b9b3..164d120d25 100644 --- a/packages/components/select/src/type.ts +++ b/packages/components/select/src/type.ts @@ -7,6 +7,7 @@ import type { } from 'vue' import type { ISelectProps } from './select' import type { optionProps } from './option' + export interface SelectGroupContext { disabled: boolean } diff --git a/packages/components/table/src/table-footer/index.ts b/packages/components/table/src/table-footer/index.ts index 0a1ba86e42..6b8dedbf27 100644 --- a/packages/components/table/src/table-footer/index.ts +++ b/packages/components/table/src/table-footer/index.ts @@ -8,6 +8,7 @@ import type { Store } from '../store' import type { PropType } from 'vue' import type { DefaultRow, Sort, SummaryMethod } from '../table/defaults' + export interface TableFooter { fixed: string store: Store diff --git a/packages/components/table/src/table-header/index.ts b/packages/components/table/src/table-header/index.ts index 5ac938c38d..3aff051f23 100644 --- a/packages/components/table/src/table-header/index.ts +++ b/packages/components/table/src/table-header/index.ts @@ -21,6 +21,7 @@ import useUtils from './utils-helper' import type { ComponentInternalInstance, PropType, Ref } from 'vue' import type { DefaultRow, Sort } from '../table/defaults' import type { Store } from '../store' + export interface TableHeader extends ComponentInternalInstance { state: { onColumnsChange diff --git a/packages/components/table/src/table-layout.ts b/packages/components/table/src/table-layout.ts index 7beeaced83..55fd884ea6 100644 --- a/packages/components/table/src/table-layout.ts +++ b/packages/components/table/src/table-layout.ts @@ -9,6 +9,7 @@ import type { TableColumnCtx } from './table-column/defaults' import type { TableHeader } from './table-header' import type { Table } from './table/defaults' import type { Store } from './store' + class TableLayout { observers: TableHeader[] table: Table diff --git a/packages/components/time-picker/src/time-picker.tsx b/packages/components/time-picker/src/time-picker.tsx index 7cd26a1efa..23029b06d6 100644 --- a/packages/components/time-picker/src/time-picker.tsx +++ b/packages/components/time-picker/src/time-picker.tsx @@ -7,6 +7,7 @@ import Picker from './common/picker.vue' import TimePickPanel from './time-picker-com/panel-time-pick.vue' import TimeRangePanel from './time-picker-com/panel-time-range.vue' import { timePickerDefaultProps } from './common/props' + dayjs.extend(customParseFormat) export default defineComponent({ diff --git a/packages/components/time-picker/src/utils.ts b/packages/components/time-picker/src/utils.ts index 0bffcf3e13..65d1a9e0a8 100644 --- a/packages/components/time-picker/src/utils.ts +++ b/packages/components/time-picker/src/utils.ts @@ -3,6 +3,7 @@ import { isArray, isDate, isEmpty } from '@element-plus/utils' import type { Dayjs } from 'dayjs' import type { DateOrDates, DayOrDays } from './common/props' + export type TimeList = [number | undefined, number, undefined | number] export const buildTimeList = (value: number, bound: number): TimeList => { diff --git a/packages/components/time-select/__tests__/time-select.test.tsx b/packages/components/time-select/__tests__/time-select.test.tsx index a3fb2b6a6f..36dac4a3e6 100644 --- a/packages/components/time-select/__tests__/time-select.test.tsx +++ b/packages/components/time-select/__tests__/time-select.test.tsx @@ -6,6 +6,7 @@ import customParseFormat from 'dayjs/plugin/customParseFormat.js' import Select from '@element-plus/components/select' import { ElFormItem } from '@element-plus/components/form' import TimeSelect from '../src/time-select.vue' + dayjs.extend(customParseFormat) const { Option } = Select diff --git a/packages/components/virtual-list/__tests__/dynamic-size-list.test.ts b/packages/components/virtual-list/__tests__/dynamic-size-list.test.ts index f9b7af41fe..ed99840638 100644 --- a/packages/components/virtual-list/__tests__/dynamic-size-list.test.ts +++ b/packages/components/virtual-list/__tests__/dynamic-size-list.test.ts @@ -12,6 +12,7 @@ import { DynamicSizeList } from '..' import setupMock from './setup-mock' import type { ListExposes } from '../src/types' + type ListRef = ListExposes const onItemRendered = vi.fn() diff --git a/packages/components/virtual-list/__tests__/fixed-size-list.test.ts b/packages/components/virtual-list/__tests__/fixed-size-list.test.ts index 0f77d6db22..41ec42cf1e 100644 --- a/packages/components/virtual-list/__tests__/fixed-size-list.test.ts +++ b/packages/components/virtual-list/__tests__/fixed-size-list.test.ts @@ -16,6 +16,7 @@ import setupMock from './setup-mock' import type { SpyInstance } from 'vitest' import type { ListExposes } from '../src/types' + type ListRef = ListExposes const onItemRendered = vi.fn() diff --git a/packages/components/virtual-list/src/components/scrollbar.ts b/packages/components/virtual-list/src/components/scrollbar.ts index 09d02ccc6d..15a17c4fe9 100644 --- a/packages/components/virtual-list/src/components/scrollbar.ts +++ b/packages/components/virtual-list/src/components/scrollbar.ts @@ -18,6 +18,7 @@ import { virtualizedScrollbarProps } from '../props' import { renderThumbStyle } from '../utils' import type { CSSProperties } from 'vue' + interface ScrollState { isDragging: boolean traveled: number diff --git a/packages/components/visual-hidden/src/visual-hidden.vue b/packages/components/visual-hidden/src/visual-hidden.vue index b3e6963a2f..b058048e6c 100644 --- a/packages/components/visual-hidden/src/visual-hidden.vue +++ b/packages/components/visual-hidden/src/visual-hidden.vue @@ -8,6 +8,7 @@ import { computed } from 'vue' import { visualHiddenProps } from './visual-hidden' import type { StyleValue } from 'vue' + const props = defineProps(visualHiddenProps) defineOptions({ diff --git a/packages/element-plus/index.ts b/packages/element-plus/index.ts index 397d293c6a..87bfdfff84 100644 --- a/packages/element-plus/index.ts +++ b/packages/element-plus/index.ts @@ -1,4 +1,5 @@ import installer from './defaults' + export * from '@element-plus/components' export * from '@element-plus/constants' export * from '@element-plus/directives' diff --git a/packages/utils/strings.ts b/packages/utils/strings.ts index 61c7700967..d0edad7e0e 100644 --- a/packages/utils/strings.ts +++ b/packages/utils/strings.ts @@ -1,4 +1,5 @@ import { capitalize as toCapitalize } from '@vue/shared' + export { camelize, hyphenate,