diff --git a/.eslintrc.js b/.eslintrc.js
index c269b346e0..62d531c696 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -34,6 +34,7 @@ const config = {
'simple-import-sort',
'import',
'unused-imports',
+ 'unicorn',
],
rules: {
'no-undef': 'off',
@@ -74,6 +75,13 @@ const config = {
],
},
],
+ 'unicorn/filename-case': [
+ 'error',
+ {
+ case: 'kebabCase',
+ ignore: ['^\\[[a-zA-Z0-9-_]+\\]\\.tsx$'],
+ },
+ ],
},
overrides: [
{
diff --git a/.gitignore b/.gitignore
index 8b5acf4b1f..463422dc44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,7 +57,7 @@ Thumbs.db
.next
out/
storybook-static
-i18n_generated.ts
+i18n-generated.ts
/test-results/
/playwright-report/
diff --git a/.i18n-codegen.json b/.i18n-codegen.json
index a22858e0ee..8fe2188738 100644
--- a/.i18n-codegen.json
+++ b/.i18n-codegen.json
@@ -4,7 +4,7 @@
"list": [
{
"input": "./packages/i18n/src/resources/en.json",
- "output": "./packages/i18n/src/i18n_generated",
+ "output": "./packages/i18n/src/i18n-generated",
"parser": {
"type": "i18next",
"contextSeparator": "$",
diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs
index ef4808f3e1..fccd4b8a5b 100644
--- a/apps/web/next.config.mjs
+++ b/apps/web/next.config.mjs
@@ -10,7 +10,7 @@ import debugLocal from 'next-debug-local';
import { fileURLToPath } from 'url';
import { blockSuiteFeatureFlags, buildFlags } from './preset.config.mjs';
-import { getCommitHash, getGitVersion } from './scripts/gitInfo.mjs';
+import { getCommitHash, getGitVersion } from './scripts/git-info.mjs';
const require = createRequire(import.meta.url);
const { createVanillaExtractPlugin } = require('@vanilla-extract/next-plugin');
diff --git a/apps/web/package.json b/apps/web/package.json
index 68dbe97bf6..f17f10e829 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -67,6 +67,7 @@
"dotenv": "^16.0.3",
"eslint": "^8.40.0",
"eslint-config-next": "^13.4.1",
+ "eslint-plugin-unicorn": "^47.0.0",
"next": "^13.4.1",
"next-debug-local": "^0.1.5",
"next-router-mock": "^0.9.3",
diff --git a/apps/web/scripts/gitInfo.mjs b/apps/web/scripts/git-info.mjs
similarity index 100%
rename from apps/web/scripts/gitInfo.mjs
rename to apps/web/scripts/git-info.mjs
diff --git a/apps/web/src/components/__debug__/client/Editor.tsx b/apps/web/src/components/__debug__/client/editor.tsx
similarity index 100%
rename from apps/web/src/components/__debug__/client/Editor.tsx
rename to apps/web/src/components/__debug__/client/editor.tsx
diff --git a/apps/web/src/components/__tests__/ProviderComposer.spec.tsx b/apps/web/src/components/__tests__/provider-composer.spec.tsx
similarity index 100%
rename from apps/web/src/components/__tests__/ProviderComposer.spec.tsx
rename to apps/web/src/components/__tests__/provider-composer.spec.tsx
diff --git a/apps/web/src/components/affine/pinboard/pinboard-menu/index.tsx b/apps/web/src/components/affine/pinboard/pinboard-menu/index.tsx
index 7a0832cfa9..3c0d220214 100644
--- a/apps/web/src/components/affine/pinboard/pinboard-menu/index.tsx
+++ b/apps/web/src/components/affine/pinboard/pinboard-menu/index.tsx
@@ -18,7 +18,7 @@ import {
StyledPinboard,
StyledSearchContainer,
} from '../styles';
-import { SearchContent } from './SearchContent';
+import { SearchContent } from './search-content';
export interface PinboardMenuProps extends PureMenuProps {
metas: PageMeta[];
diff --git a/apps/web/src/components/affine/pinboard/pinboard-menu/SearchContent.tsx b/apps/web/src/components/affine/pinboard/pinboard-menu/search-content.tsx
similarity index 100%
rename from apps/web/src/components/affine/pinboard/pinboard-menu/SearchContent.tsx
rename to apps/web/src/components/affine/pinboard/pinboard-menu/search-content.tsx
diff --git a/apps/web/src/components/affine/pinboard/pinboard-render/AddButton.tsx b/apps/web/src/components/affine/pinboard/pinboard-render/add-button.tsx
similarity index 86%
rename from apps/web/src/components/affine/pinboard/pinboard-render/AddButton.tsx
rename to apps/web/src/components/affine/pinboard/pinboard-render/add-button.tsx
index 45d6fa1b06..b3354a2ca3 100644
--- a/apps/web/src/components/affine/pinboard/pinboard-render/AddButton.tsx
+++ b/apps/web/src/components/affine/pinboard/pinboard-render/add-button.tsx
@@ -1,7 +1,7 @@
import { PlusIcon } from '@blocksuite/icons';
import { StyledOperationButton } from '../styles';
-import type { OperationButtonProps } from './OperationButton';
+import type { OperationButtonProps } from './operation-button';
export const AddButton = ({
onAdd,
diff --git a/apps/web/src/components/affine/pinboard/pinboard-render/EmptyItem.tsx b/apps/web/src/components/affine/pinboard/pinboard-render/empty-item.tsx
similarity index 100%
rename from apps/web/src/components/affine/pinboard/pinboard-render/EmptyItem.tsx
rename to apps/web/src/components/affine/pinboard/pinboard-render/empty-item.tsx
diff --git a/apps/web/src/components/affine/pinboard/pinboard-render/index.tsx b/apps/web/src/components/affine/pinboard/pinboard-render/index.tsx
index 1c5495a2bb..34ae2e2dee 100644
--- a/apps/web/src/components/affine/pinboard/pinboard-render/index.tsx
+++ b/apps/web/src/components/affine/pinboard/pinboard-render/index.tsx
@@ -14,9 +14,9 @@ import { useMemo, useState } from 'react';
import { workspacePreferredModeAtom } from '../../../../atoms';
import type { PinboardNode } from '../../../../hooks/use-pinboard-data';
import { StyledCollapsedButton, StyledPinboard } from '../styles';
-import { AddButton } from './AddButton';
-import EmptyItem from './EmptyItem';
-import { OperationButton } from './OperationButton';
+import { AddButton } from './add-button';
+import EmptyItem from './empty-item';
+import { OperationButton } from './operation-button';
const getIcon = (type: 'root' | 'edgeless' | 'page') => {
switch (type) {
diff --git a/apps/web/src/components/affine/pinboard/pinboard-render/OperationButton.tsx b/apps/web/src/components/affine/pinboard/pinboard-render/operation-button.tsx
similarity index 100%
rename from apps/web/src/components/affine/pinboard/pinboard-render/OperationButton.tsx
rename to apps/web/src/components/affine/pinboard/pinboard-render/operation-button.tsx
diff --git a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/apps/web/src/components/blocksuite/workspace-header/header-right-items/EditPage.tsx b/apps/web/src/components/blocksuite/workspace-header/header-right-items/edit-page.tsx
similarity index 100%
rename from apps/web/src/components/blocksuite/workspace-header/header-right-items/EditPage.tsx
rename to apps/web/src/components/blocksuite/workspace-header/header-right-items/edit-page.tsx
diff --git a/apps/web/src/components/blocksuite/workspace-header/header-right-items/EditorOptionMenu.tsx b/apps/web/src/components/blocksuite/workspace-header/header-right-items/editor-option-menu.tsx
similarity index 99%
rename from apps/web/src/components/blocksuite/workspace-header/header-right-items/EditorOptionMenu.tsx
rename to apps/web/src/components/blocksuite/workspace-header/header-right-items/editor-option-menu.tsx
index ce362f2ef6..1cd358d739 100644
--- a/apps/web/src/components/blocksuite/workspace-header/header-right-items/EditorOptionMenu.tsx
+++ b/apps/web/src/components/blocksuite/workspace-header/header-right-items/editor-option-menu.tsx
@@ -28,7 +28,7 @@ import {
StyledHorizontalDivider,
StyledHorizontalDividerContainer,
} from '../styles';
-import { LanguageMenu } from './LanguageMenu';
+import { LanguageMenu } from './language-menu';
const CommonMenu = () => {
const content = (
- import('../../components/__debug__/client/Editor').then(module => ({
+ import('../../components/__debug__/client/editor').then(module => ({
default: module.default,
}))
);
diff --git a/apps/web/src/pages/invite/[invite_code].tsx b/apps/web/src/pages/invite/[invite-code].tsx
similarity index 100%
rename from apps/web/src/pages/invite/[invite_code].tsx
rename to apps/web/src/pages/invite/[invite-code].tsx
diff --git a/apps/web/src/providers/AffineSWRConfigProvider.tsx b/apps/web/src/providers/affine-swr-config-provider.tsx
similarity index 85%
rename from apps/web/src/providers/AffineSWRConfigProvider.tsx
rename to apps/web/src/providers/affine-swr-config-provider.tsx
index 1f79304086..eeef5cc24b 100644
--- a/apps/web/src/providers/AffineSWRConfigProvider.tsx
+++ b/apps/web/src/providers/affine-swr-config-provider.tsx
@@ -10,7 +10,7 @@ const config: SWRConfiguration = {
fetcher,
};
-export const AffineSWRConfigProvider = memo
(
+export const AffineSwrConfigProvider = memo(
function AffineSWRConfigProvider({ children }) {
return {children};
}
diff --git a/apps/web/src/providers/ModalProvider.tsx b/apps/web/src/providers/modal-provider.tsx
similarity index 98%
rename from apps/web/src/providers/ModalProvider.tsx
rename to apps/web/src/providers/modal-provider.tsx
index 31a276ba0c..778c630446 100644
--- a/apps/web/src/providers/ModalProvider.tsx
+++ b/apps/web/src/providers/modal-provider.tsx
@@ -40,7 +40,7 @@ const TmpDisableAffineCloudModal = lazy(() =>
)
);
const OnboardingModalAtom = lazy(() =>
- import('../components/pure/OnboardingModal').then(module => ({
+ import('../components/pure/onboarding-modal').then(module => ({
default: module.OnboardingModal,
}))
);
diff --git a/apps/web/src/providers/ThemeProvider.tsx b/apps/web/src/providers/theme-provider.tsx
similarity index 100%
rename from apps/web/src/providers/ThemeProvider.tsx
rename to apps/web/src/providers/theme-provider.tsx
diff --git a/package.json b/package.json
index 6567efae4f..3ef9939fbc 100644
--- a/package.json
+++ b/package.json
@@ -63,6 +63,7 @@
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-simple-import-sort": "^10.0.0",
+ "eslint-plugin-unicorn": "^47.0.0",
"eslint-plugin-unused-imports": "^2.0.0",
"fake-indexeddb": "4.0.1",
"got": "^12.6.0",
diff --git a/packages/component/src/components/app-sidebar/index.tsx b/packages/component/src/components/app-sidebar/index.tsx
index ac33e2e7a9..bcefc6db01 100644
--- a/packages/component/src/components/app-sidebar/index.tsx
+++ b/packages/component/src/components/app-sidebar/index.tsx
@@ -13,7 +13,7 @@ import type { PropsWithChildren, ReactElement } from 'react';
import type { ReactNode } from 'react';
import { forwardRef, useCallback, useEffect } from 'react';
-import { IconButton } from '../../ui/button/IconButton';
+import { IconButton } from '../../ui/button/icon-button';
import {
floatingMaxWidth,
haloStyle,
diff --git a/packages/component/src/components/contact-modal/Icons.tsx b/packages/component/src/components/contact-modal/icons.tsx
similarity index 100%
rename from packages/component/src/components/contact-modal/Icons.tsx
rename to packages/component/src/components/contact-modal/icons.tsx
diff --git a/packages/component/src/components/contact-modal/index.tsx b/packages/component/src/components/contact-modal/index.tsx
index cc2035d706..26b31ef97a 100644
--- a/packages/component/src/components/contact-modal/index.tsx
+++ b/packages/component/src/components/contact-modal/index.tsx
@@ -15,7 +15,7 @@ import {
RedditIcon,
TelegramIcon,
TwitterIcon,
-} from './Icons';
+} from './icons';
import {
StyledBigLink,
StyledLogo,
diff --git a/packages/component/src/components/ListSkeleton.tsx b/packages/component/src/components/list-skeleton.tsx
similarity index 100%
rename from packages/component/src/components/ListSkeleton.tsx
rename to packages/component/src/components/list-skeleton.tsx
diff --git a/packages/component/src/components/page-list/operation-menu-items/CopyLink.tsx b/packages/component/src/components/page-list/operation-menu-items/copy-link.tsx
similarity index 100%
rename from packages/component/src/components/page-list/operation-menu-items/CopyLink.tsx
rename to packages/component/src/components/page-list/operation-menu-items/copy-link.tsx
diff --git a/packages/component/src/components/page-list/operation-menu-items/DisablePublicSharing.tsx b/packages/component/src/components/page-list/operation-menu-items/disable-public-sharing.tsx
similarity index 100%
rename from packages/component/src/components/page-list/operation-menu-items/DisablePublicSharing.tsx
rename to packages/component/src/components/page-list/operation-menu-items/disable-public-sharing.tsx
diff --git a/packages/component/src/components/page-list/operation-menu-items/Export.tsx b/packages/component/src/components/page-list/operation-menu-items/export.tsx
similarity index 100%
rename from packages/component/src/components/page-list/operation-menu-items/Export.tsx
rename to packages/component/src/components/page-list/operation-menu-items/export.tsx
diff --git a/packages/component/src/components/page-list/operation-menu-items/index.ts b/packages/component/src/components/page-list/operation-menu-items/index.ts
index b44d84f0d3..6669204a19 100644
--- a/packages/component/src/components/page-list/operation-menu-items/index.ts
+++ b/packages/component/src/components/page-list/operation-menu-items/index.ts
@@ -1,5 +1,5 @@
-export * from './CopyLink';
-export * from './DisablePublicSharing';
-export * from './Export';
+export * from './copy-link';
+export * from './disable-public-sharing';
+export * from './export';
// export * from './MoveTo';
-export * from './MoveToTrash';
+export * from './move-to-trash';
diff --git a/packages/component/src/components/page-list/operation-menu-items/MoveToTrash.tsx b/packages/component/src/components/page-list/operation-menu-items/move-to-trash.tsx
similarity index 100%
rename from packages/component/src/components/page-list/operation-menu-items/MoveToTrash.tsx
rename to packages/component/src/components/page-list/operation-menu-items/move-to-trash.tsx
diff --git a/packages/component/src/components/share-menu/Export.tsx b/packages/component/src/components/share-menu/export.tsx
similarity index 96%
rename from packages/component/src/components/share-menu/Export.tsx
rename to packages/component/src/components/share-menu/export.tsx
index 77158c4058..6813773382 100644
--- a/packages/component/src/components/share-menu/Export.tsx
+++ b/packages/component/src/components/share-menu/export.tsx
@@ -12,7 +12,7 @@ import {
menuItemStyle,
svgStyle,
} from './index.css';
-import type { ShareMenuProps } from './ShareMenu';
+import type { ShareMenuProps } from './share-menu';
export const Export: FC = props => {
const contentParserRef = useRef();
diff --git a/packages/component/src/components/share-menu/index.tsx b/packages/component/src/components/share-menu/index.tsx
index 8fb4740352..a7fceb7c46 100644
--- a/packages/component/src/components/share-menu/index.tsx
+++ b/packages/component/src/components/share-menu/index.tsx
@@ -1,2 +1,2 @@
export * from './disable-public-link';
-export * from './ShareMenu';
+export * from './share-menu';
diff --git a/packages/component/src/components/share-menu/ShareMenu.tsx b/packages/component/src/components/share-menu/share-menu.tsx
similarity index 97%
rename from packages/component/src/components/share-menu/ShareMenu.tsx
rename to packages/component/src/components/share-menu/share-menu.tsx
index fa9c962b44..dbd38e531a 100644
--- a/packages/component/src/components/share-menu/ShareMenu.tsx
+++ b/packages/component/src/components/share-menu/share-menu.tsx
@@ -7,10 +7,10 @@ import { useRef } from 'react';
import { useCallback, useState } from 'react';
import { Menu } from '../..';
-import { Export } from './Export';
+import { Export } from './export';
import { containerStyle, indicatorContainerStyle, tabStyle } from './index.css';
-import { SharePage } from './SharePage';
-import { ShareWorkspace } from './ShareWorkspace';
+import { SharePage } from './share-page';
+import { ShareWorkspace } from './share-workspace';
import { StyledIndicator, StyledShareButton, TabItem } from './styles';
type SharePanel = 'SharePage' | 'Export' | 'ShareWorkspace';
const MenuItems: Record> = {
diff --git a/packages/component/src/components/share-menu/SharePage.tsx b/packages/component/src/components/share-menu/share-page.tsx
similarity index 98%
rename from packages/component/src/components/share-menu/SharePage.tsx
rename to packages/component/src/components/share-menu/share-page.tsx
index 72522ee6be..ee62b86f19 100644
--- a/packages/component/src/components/share-menu/SharePage.tsx
+++ b/packages/component/src/components/share-menu/share-page.tsx
@@ -15,7 +15,7 @@ import {
inputButtonRowStyle,
menuItemStyle,
} from './index.css';
-import type { ShareMenuProps } from './ShareMenu';
+import type { ShareMenuProps } from './share-menu';
import {
StyledButton,
StyledDisableButton,
diff --git a/packages/component/src/components/share-menu/ShareWorkspace.tsx b/packages/component/src/components/share-menu/share-workspace.tsx
similarity index 97%
rename from packages/component/src/components/share-menu/ShareWorkspace.tsx
rename to packages/component/src/components/share-menu/share-workspace.tsx
index 6ee6c561f0..0244b0cf7c 100644
--- a/packages/component/src/components/share-menu/ShareWorkspace.tsx
+++ b/packages/component/src/components/share-menu/share-workspace.tsx
@@ -4,7 +4,7 @@ import { WorkspaceFlavour } from '@affine/workspace/type';
import type { FC } from 'react';
import { descriptionStyle, menuItemStyle } from './index.css';
-import type { ShareMenuProps } from './ShareMenu';
+import type { ShareMenuProps } from './share-menu';
import { StyledButton } from './styles';
const ShareLocalWorkspace: FC> = props => {
diff --git a/packages/component/src/components/tour-modal/index.ts b/packages/component/src/components/tour-modal/index.ts
index fd3c9c318d..dd7a09ecc7 100644
--- a/packages/component/src/components/tour-modal/index.ts
+++ b/packages/component/src/components/tour-modal/index.ts
@@ -1 +1 @@
-export * from './TourModal';
+export * from './tour-modal';
diff --git a/packages/component/src/components/tour-modal/TourModal.tsx b/packages/component/src/components/tour-modal/tour-modal.tsx
similarity index 100%
rename from packages/component/src/components/tour-modal/TourModal.tsx
rename to packages/component/src/components/tour-modal/tour-modal.tsx
diff --git a/packages/component/src/components/workspace-avatar/DefaultAvatar.tsx b/packages/component/src/components/workspace-avatar/default-avatar.tsx
similarity index 100%
rename from packages/component/src/components/workspace-avatar/DefaultAvatar.tsx
rename to packages/component/src/components/workspace-avatar/default-avatar.tsx
diff --git a/packages/component/src/components/workspace-avatar/index.tsx b/packages/component/src/components/workspace-avatar/index.tsx
index f8e5c50160..71c0e40b5e 100644
--- a/packages/component/src/components/workspace-avatar/index.tsx
+++ b/packages/component/src/components/workspace-avatar/index.tsx
@@ -10,7 +10,7 @@ import { useBlockSuiteWorkspaceName } from '@toeverything/hooks/use-block-suite-
import clsx from 'clsx';
import type React from 'react';
-import { DefaultAvatar } from './DefaultAvatar';
+import { DefaultAvatar } from './default-avatar';
import { avatarImageStyle, avatarStyle } from './index.css';
export type WorkspaceAvatarProps = {
diff --git a/packages/component/src/index.ts b/packages/component/src/index.ts
index e8b9abf57a..c639b16950 100644
--- a/packages/component/src/index.ts
+++ b/packages/component/src/index.ts
@@ -1,4 +1,4 @@
-export * from './components/ListSkeleton';
+export * from './components/list-skeleton';
export * from './styles';
export * from './ui/breadcrumbs';
export * from './ui/button';
@@ -11,7 +11,7 @@ export * from './ui/menu';
export * from './ui/modal';
export * from './ui/mui';
export * from './ui/popper';
-export * from './ui/shared/Container';
+export * from './ui/shared/container';
export * from './ui/switch';
export * from './ui/table';
export * from './ui/toast';
diff --git a/packages/component/src/stories/AffineLoading.stories.tsx b/packages/component/src/stories/affine-loading.stories.tsx
similarity index 100%
rename from packages/component/src/stories/AffineLoading.stories.tsx
rename to packages/component/src/stories/affine-loading.stories.tsx
diff --git a/packages/component/src/stories/Breadcrumbs.stories.tsx b/packages/component/src/stories/breadcrumbs.stories.tsx
similarity index 100%
rename from packages/component/src/stories/Breadcrumbs.stories.tsx
rename to packages/component/src/stories/breadcrumbs.stories.tsx
diff --git a/packages/component/src/stories/Button.stories.tsx b/packages/component/src/stories/button.stories.tsx
similarity index 100%
rename from packages/component/src/stories/Button.stories.tsx
rename to packages/component/src/stories/button.stories.tsx
diff --git a/packages/component/src/stories/ChangeLog.stories.tsx b/packages/component/src/stories/change-log.stories.tsx
similarity index 100%
rename from packages/component/src/stories/ChangeLog.stories.tsx
rename to packages/component/src/stories/change-log.stories.tsx
diff --git a/packages/component/src/stories/ContactModal.stories.tsx b/packages/component/src/stories/contact-modal.stories.tsx
similarity index 100%
rename from packages/component/src/stories/ContactModal.stories.tsx
rename to packages/component/src/stories/contact-modal.stories.tsx
diff --git a/packages/component/src/stories/OnboardingModal.stories.tsx b/packages/component/src/stories/onboarding-modal.stories.tsx
similarity index 100%
rename from packages/component/src/stories/OnboardingModal.stories.tsx
rename to packages/component/src/stories/onboarding-modal.stories.tsx
diff --git a/packages/component/src/stories/PageList.stories.tsx b/packages/component/src/stories/page-list.stories.tsx
similarity index 100%
rename from packages/component/src/stories/PageList.stories.tsx
rename to packages/component/src/stories/page-list.stories.tsx
diff --git a/packages/component/src/stories/ShareMenu.stories.tsx b/packages/component/src/stories/share-menu.stories.tsx
similarity index 98%
rename from packages/component/src/stories/ShareMenu.stories.tsx
rename to packages/component/src/stories/share-menu.stories.tsx
index cfafd9750f..05b97122fe 100644
--- a/packages/component/src/stories/ShareMenu.stories.tsx
+++ b/packages/component/src/stories/share-menu.stories.tsx
@@ -8,7 +8,7 @@ import type { StoryFn } from '@storybook/react';
import { useState } from 'react';
import { PublicLinkDisableModal } from '../components/share-menu/disable-public-link';
-import { ShareMenu } from '../components/share-menu/ShareMenu';
+import { ShareMenu } from '../components/share-menu/share-menu';
import { StyledDisableButton } from '../components/share-menu/styles';
import toast from '../ui/toast/toast';
diff --git a/packages/component/src/stories/Switch.stories.tsx b/packages/component/src/stories/switch.stories.tsx
similarity index 100%
rename from packages/component/src/stories/Switch.stories.tsx
rename to packages/component/src/stories/switch.stories.tsx
diff --git a/packages/component/src/stories/WorkspaceAvatar.stories.tsx b/packages/component/src/stories/workspace-avatar.stories.tsx
similarity index 100%
rename from packages/component/src/stories/WorkspaceAvatar.stories.tsx
rename to packages/component/src/stories/workspace-avatar.stories.tsx
diff --git a/packages/component/src/stories/WorkspaceCard.stories.tsx b/packages/component/src/stories/workspace-card.stories.tsx
similarity index 100%
rename from packages/component/src/stories/WorkspaceCard.stories.tsx
rename to packages/component/src/stories/workspace-card.stories.tsx
diff --git a/packages/component/src/styles/index.ts b/packages/component/src/styles/index.ts
index 9b192ad897..dfeaa6fb37 100644
--- a/packages/component/src/styles/index.ts
+++ b/packages/component/src/styles/index.ts
@@ -1,5 +1,5 @@
export * from './helper';
export * from './mui-theme';
-export * from './MuiThemeProvider';
+export * from './mui-theme-provider';
export * from './types';
export * from './utils';
diff --git a/packages/component/src/styles/MuiThemeProvider.tsx b/packages/component/src/styles/mui-theme-provider.tsx
similarity index 100%
rename from packages/component/src/styles/MuiThemeProvider.tsx
rename to packages/component/src/styles/mui-theme-provider.tsx
diff --git a/packages/component/src/styles/utils/index.ts b/packages/component/src/styles/utils/index.ts
index d306f2d3e4..6e5300c818 100644
--- a/packages/component/src/styles/utils/index.ts
+++ b/packages/component/src/styles/utils/index.ts
@@ -1,2 +1,2 @@
-export * from './localStorageThemeHelper';
-export * from './systemThemeHelper';
+export * from './local-storage-theme-helper';
+export * from './system-theme-helper';
diff --git a/packages/component/src/styles/utils/localStorageThemeHelper.ts b/packages/component/src/styles/utils/local-storage-theme-helper.ts
similarity index 100%
rename from packages/component/src/styles/utils/localStorageThemeHelper.ts
rename to packages/component/src/styles/utils/local-storage-theme-helper.ts
diff --git a/packages/component/src/styles/utils/systemThemeHelper.ts b/packages/component/src/styles/utils/system-theme-helper.ts
similarity index 100%
rename from packages/component/src/styles/utils/systemThemeHelper.ts
rename to packages/component/src/styles/utils/system-theme-helper.ts
diff --git a/packages/component/src/ui/button/Button.tsx b/packages/component/src/ui/button/button.tsx
similarity index 97%
rename from packages/component/src/ui/button/Button.tsx
rename to packages/component/src/ui/button/button.tsx
index 0378651cb5..509323a9a9 100644
--- a/packages/component/src/ui/button/Button.tsx
+++ b/packages/component/src/ui/button/button.tsx
@@ -1,7 +1,7 @@
import { Children, cloneElement, forwardRef } from 'react';
import type { ButtonProps } from './interface';
-import { Loading } from './Loading';
+import { Loading } from './loading';
import { StyledButton } from './styles';
import { getSize } from './utils';
export const Button = forwardRef(
diff --git a/packages/component/src/ui/button/IconButton.tsx b/packages/component/src/ui/button/icon-button.tsx
similarity index 100%
rename from packages/component/src/ui/button/IconButton.tsx
rename to packages/component/src/ui/button/icon-button.tsx
diff --git a/packages/component/src/ui/button/index.ts b/packages/component/src/ui/button/index.ts
index feefc1188d..92efd3a917 100644
--- a/packages/component/src/ui/button/index.ts
+++ b/packages/component/src/ui/button/index.ts
@@ -1,3 +1,3 @@
-export * from './Button';
-export * from './IconButton';
-export * from './TextButton';
+export * from './button';
+export * from './icon-button';
+export * from './text-button';
diff --git a/packages/component/src/ui/button/Loading.tsx b/packages/component/src/ui/button/loading.tsx
similarity index 100%
rename from packages/component/src/ui/button/Loading.tsx
rename to packages/component/src/ui/button/loading.tsx
diff --git a/packages/component/src/ui/button/TextButton.tsx b/packages/component/src/ui/button/text-button.tsx
similarity index 100%
rename from packages/component/src/ui/button/TextButton.tsx
rename to packages/component/src/ui/button/text-button.tsx
diff --git a/packages/component/src/ui/confirm/Confirm.tsx b/packages/component/src/ui/confirm/confirm.tsx
similarity index 100%
rename from packages/component/src/ui/confirm/Confirm.tsx
rename to packages/component/src/ui/confirm/confirm.tsx
diff --git a/packages/component/src/ui/confirm/index.ts b/packages/component/src/ui/confirm/index.ts
index d8e1c97b8c..5d2064b5f1 100644
--- a/packages/component/src/ui/confirm/index.ts
+++ b/packages/component/src/ui/confirm/index.ts
@@ -1 +1 @@
-export * from './Confirm';
+export * from './confirm';
diff --git a/packages/component/src/ui/empty/EmptySVG.tsx b/packages/component/src/ui/empty/empty-svg.tsx
similarity index 99%
rename from packages/component/src/ui/empty/EmptySVG.tsx
rename to packages/component/src/ui/empty/empty-svg.tsx
index 548b443542..b18ad5624e 100644
--- a/packages/component/src/ui/empty/EmptySVG.tsx
+++ b/packages/component/src/ui/empty/empty-svg.tsx
@@ -1,7 +1,7 @@
import type { SvgIconProps } from '@mui/material/SvgIcon';
import SvgIcon from '@mui/material/SvgIcon';
-export const EmptySVG = (_props: SvgIconProps) => {
+export const EmptySvg = (_props: SvgIconProps) => {
return (
{
return (
-
+
{description}
);
diff --git a/packages/component/src/ui/empty/index.ts b/packages/component/src/ui/empty/index.ts
index 47dea78504..b0a7bdc7cc 100644
--- a/packages/component/src/ui/empty/index.ts
+++ b/packages/component/src/ui/empty/index.ts
@@ -1 +1 @@
-export * from './Empty';
+export * from './empty';
diff --git a/packages/component/src/ui/input/index.ts b/packages/component/src/ui/input/index.ts
index 4b9f57f786..faaa2f016e 100644
--- a/packages/component/src/ui/input/index.ts
+++ b/packages/component/src/ui/input/index.ts
@@ -1,3 +1,3 @@
-export * from './Input';
-import { Input } from './Input';
+export * from './input';
+import { Input } from './input';
export default Input;
diff --git a/packages/component/src/ui/input/Input.tsx b/packages/component/src/ui/input/input.tsx
similarity index 100%
rename from packages/component/src/ui/input/Input.tsx
rename to packages/component/src/ui/input/input.tsx
diff --git a/packages/component/src/ui/layout/Content.tsx b/packages/component/src/ui/layout/content.tsx
similarity index 100%
rename from packages/component/src/ui/layout/Content.tsx
rename to packages/component/src/ui/layout/content.tsx
diff --git a/packages/component/src/ui/layout/index.ts b/packages/component/src/ui/layout/index.ts
index f74f6b36be..f34ca13192 100644
--- a/packages/component/src/ui/layout/index.ts
+++ b/packages/component/src/ui/layout/index.ts
@@ -1,2 +1,2 @@
-export * from './Content';
-export * from './Wrapper';
+export * from './content';
+export * from './wrapper';
diff --git a/packages/component/src/ui/layout/Wrapper.tsx b/packages/component/src/ui/layout/wrapper.tsx
similarity index 100%
rename from packages/component/src/ui/layout/Wrapper.tsx
rename to packages/component/src/ui/layout/wrapper.tsx
diff --git a/packages/component/src/ui/menu/index.ts b/packages/component/src/ui/menu/index.ts
index ecbe2eee6c..bfbb694286 100644
--- a/packages/component/src/ui/menu/index.ts
+++ b/packages/component/src/ui/menu/index.ts
@@ -1,4 +1,4 @@
-export * from './Menu';
+export * from './menu';
// export { StyledMenuItem as MenuItem } from './styles';
-export * from './MenuItem';
-export * from './PureMenu';
+export * from './menu-item';
+export * from './pure-menu';
diff --git a/packages/component/src/ui/menu/MenuItem.tsx b/packages/component/src/ui/menu/menu-item.tsx
similarity index 100%
rename from packages/component/src/ui/menu/MenuItem.tsx
rename to packages/component/src/ui/menu/menu-item.tsx
diff --git a/packages/component/src/ui/menu/Menu.tsx b/packages/component/src/ui/menu/menu.tsx
similarity index 100%
rename from packages/component/src/ui/menu/Menu.tsx
rename to packages/component/src/ui/menu/menu.tsx
diff --git a/packages/component/src/ui/menu/PureMenu.tsx b/packages/component/src/ui/menu/pure-menu.tsx
similarity index 100%
rename from packages/component/src/ui/menu/PureMenu.tsx
rename to packages/component/src/ui/menu/pure-menu.tsx
diff --git a/packages/component/src/ui/menu/styles.ts b/packages/component/src/ui/menu/styles.ts
index 4068b5b64a..f1279c8142 100644
--- a/packages/component/src/ui/menu/styles.ts
+++ b/packages/component/src/ui/menu/styles.ts
@@ -1,7 +1,7 @@
import type { CSSProperties } from 'react';
import { displayFlex, styled, textEllipsis } from '../../styles';
-import StyledPopperContainer from '../shared/Container';
+import StyledPopperContainer from '../shared/container';
export const StyledMenuWrapper = styled(StyledPopperContainer)<{
width?: CSSProperties['width'];
diff --git a/packages/component/src/ui/modal/index.tsx b/packages/component/src/ui/modal/index.tsx
index 102855e162..a0eb993d99 100644
--- a/packages/component/src/ui/modal/index.tsx
+++ b/packages/component/src/ui/modal/index.tsx
@@ -1,7 +1,7 @@
-import Modal from './Modal';
+import Modal from './modal';
-export * from './Modal';
-export * from './ModalCloseButton';
-export * from './ModalWrapper';
+export * from './modal';
+export * from './modal-close-button';
+export * from './modal-wrapper';
export default Modal;
diff --git a/packages/component/src/ui/modal/ModalCloseButton.tsx b/packages/component/src/ui/modal/modal-close-button.tsx
similarity index 87%
rename from packages/component/src/ui/modal/ModalCloseButton.tsx
rename to packages/component/src/ui/modal/modal-close-button.tsx
index 58ed64a1a5..03a0bb176a 100644
--- a/packages/component/src/ui/modal/ModalCloseButton.tsx
+++ b/packages/component/src/ui/modal/modal-close-button.tsx
@@ -2,8 +2,8 @@ import { CloseIcon } from '@blocksuite/icons';
import type { HTMLAttributes } from 'react';
import { styled } from '../../styles';
-import type { IconButtonProps } from '../button/IconButton';
-import { IconButton } from '../button/IconButton';
+import type { IconButtonProps } from '../button/icon-button';
+import { IconButton } from '../button/icon-button';
export type ModalCloseButtonProps = {
top?: number;
right?: number;
diff --git a/packages/component/src/ui/modal/ModalWrapper.tsx b/packages/component/src/ui/modal/modal-wrapper.tsx
similarity index 100%
rename from packages/component/src/ui/modal/ModalWrapper.tsx
rename to packages/component/src/ui/modal/modal-wrapper.tsx
diff --git a/packages/component/src/ui/modal/Modal.tsx b/packages/component/src/ui/modal/modal.tsx
similarity index 100%
rename from packages/component/src/ui/modal/Modal.tsx
rename to packages/component/src/ui/modal/modal.tsx
diff --git a/packages/component/src/ui/popper/index.ts b/packages/component/src/ui/popper/index.ts
index 908fb1627e..997f45f466 100644
--- a/packages/component/src/ui/popper/index.ts
+++ b/packages/component/src/ui/popper/index.ts
@@ -1,3 +1,3 @@
export * from './interface';
-export * from './Popper';
-export * from './PurePopper';
+export * from './popper';
+export * from './pure-popper';
diff --git a/packages/component/src/ui/popper/PopoverArrow.tsx b/packages/component/src/ui/popper/popover-arrow.tsx
similarity index 100%
rename from packages/component/src/ui/popper/PopoverArrow.tsx
rename to packages/component/src/ui/popper/popover-arrow.tsx
diff --git a/packages/component/src/ui/popper/Popper.tsx b/packages/component/src/ui/popper/popper.tsx
similarity index 99%
rename from packages/component/src/ui/popper/Popper.tsx
rename to packages/component/src/ui/popper/popper.tsx
index 923231fbc9..3ce60c67fd 100644
--- a/packages/component/src/ui/popper/Popper.tsx
+++ b/packages/component/src/ui/popper/popper.tsx
@@ -13,7 +13,7 @@ import {
import { styled } from '../../styles';
import type { PopperProps, VirtualElement } from './interface';
-import { PopperArrow } from './PopoverArrow';
+import { PopperArrow } from './popover-arrow';
export const Popper = ({
children,
content,
diff --git a/packages/component/src/ui/popper/PurePopper.tsx b/packages/component/src/ui/popper/pure-popper.tsx
similarity index 93%
rename from packages/component/src/ui/popper/PurePopper.tsx
rename to packages/component/src/ui/popper/pure-popper.tsx
index aa9fca76e8..2679c2f106 100644
--- a/packages/component/src/ui/popper/PurePopper.tsx
+++ b/packages/component/src/ui/popper/pure-popper.tsx
@@ -3,8 +3,8 @@ import Grow from '@mui/material/Grow';
import type { CSSProperties, PropsWithChildren } from 'react';
import { useState } from 'react';
-import { PopperArrow } from './PopoverArrow';
-import { BasicStyledPopper } from './Popper';
+import { PopperArrow } from './popover-arrow';
+import { BasicStyledPopper } from './popper';
import { PopperWrapper } from './styles';
export type PurePopperProps = {
diff --git a/packages/component/src/ui/shared/Container.tsx b/packages/component/src/ui/shared/container.tsx
similarity index 100%
rename from packages/component/src/ui/shared/Container.tsx
rename to packages/component/src/ui/shared/container.tsx
diff --git a/packages/component/src/ui/switch/index.ts b/packages/component/src/ui/switch/index.ts
index 1b19c1d39c..4dd22567c6 100644
--- a/packages/component/src/ui/switch/index.ts
+++ b/packages/component/src/ui/switch/index.ts
@@ -1 +1 @@
-export * from './Switch';
+export * from './switch';
diff --git a/packages/component/src/ui/switch/Switch.tsx b/packages/component/src/ui/switch/switch.tsx
similarity index 98%
rename from packages/component/src/ui/switch/Switch.tsx
rename to packages/component/src/ui/switch/switch.tsx
index afae9d422e..fc123dc70c 100644
--- a/packages/component/src/ui/switch/Switch.tsx
+++ b/packages/component/src/ui/switch/switch.tsx
@@ -1,4 +1,4 @@
-// components/Switch.tsx
+// components/switch.tsx
import { useState } from 'react';
import { styled } from '../../styles';
diff --git a/packages/component/src/ui/table/index.ts b/packages/component/src/ui/table/index.ts
index e2803cc55a..c919389f22 100644
--- a/packages/component/src/ui/table/index.ts
+++ b/packages/component/src/ui/table/index.ts
@@ -6,8 +6,8 @@
//
export * from './interface';
-export * from './Table';
-export * from './TableBody';
-export * from './TableCell';
-export * from './TableHead';
-export * from './TableRow';
+export * from './table';
+export * from './table-body';
+export * from './table-cell';
+export * from './table-head';
+export * from './table-row';
diff --git a/packages/component/src/ui/table/TableBody.tsx b/packages/component/src/ui/table/table-body.tsx
similarity index 100%
rename from packages/component/src/ui/table/TableBody.tsx
rename to packages/component/src/ui/table/table-body.tsx
diff --git a/packages/component/src/ui/table/TableCell.tsx b/packages/component/src/ui/table/table-cell.tsx
similarity index 100%
rename from packages/component/src/ui/table/TableCell.tsx
rename to packages/component/src/ui/table/table-cell.tsx
diff --git a/packages/component/src/ui/table/TableHead.tsx b/packages/component/src/ui/table/table-head.tsx
similarity index 100%
rename from packages/component/src/ui/table/TableHead.tsx
rename to packages/component/src/ui/table/table-head.tsx
diff --git a/packages/component/src/ui/table/TableRow.tsx b/packages/component/src/ui/table/table-row.tsx
similarity index 100%
rename from packages/component/src/ui/table/TableRow.tsx
rename to packages/component/src/ui/table/table-row.tsx
diff --git a/packages/component/src/ui/table/Table.tsx b/packages/component/src/ui/table/table.tsx
similarity index 100%
rename from packages/component/src/ui/table/Table.tsx
rename to packages/component/src/ui/table/table.tsx
diff --git a/packages/component/src/ui/tooltip/index.tsx b/packages/component/src/ui/tooltip/index.tsx
index 8c2b3834ea..8f957abc2d 100644
--- a/packages/component/src/ui/tooltip/index.tsx
+++ b/packages/component/src/ui/tooltip/index.tsx
@@ -1,2 +1,2 @@
-export * from './QuickSearch-tips';
-export * from './Tooltip';
+export * from './quick-search-tips';
+export * from './tooltip';
diff --git a/packages/component/src/ui/tooltip/QuickSearch-tips.tsx b/packages/component/src/ui/tooltip/quick-search-tips.tsx
similarity index 97%
rename from packages/component/src/ui/tooltip/QuickSearch-tips.tsx
rename to packages/component/src/ui/tooltip/quick-search-tips.tsx
index 03f34f0b42..dd6c54872f 100644
--- a/packages/component/src/ui/tooltip/QuickSearch-tips.tsx
+++ b/packages/component/src/ui/tooltip/quick-search-tips.tsx
@@ -2,7 +2,7 @@ import type { TooltipProps } from '@mui/material';
import { css, displayFlex, styled } from '../../styles';
import { Popper, type PopperProps } from '../popper';
-import StyledPopperContainer from '../shared/Container';
+import StyledPopperContainer from '../shared/container';
const StyledTooltip = styled(StyledPopperContainer)(() => {
return {
width: '390px',
diff --git a/packages/component/src/ui/tooltip/Tooltip.tsx b/packages/component/src/ui/tooltip/tooltip.tsx
similarity index 92%
rename from packages/component/src/ui/tooltip/Tooltip.tsx
rename to packages/component/src/ui/tooltip/tooltip.tsx
index 152cbb4d8f..eb1ca9cf44 100644
--- a/packages/component/src/ui/tooltip/Tooltip.tsx
+++ b/packages/component/src/ui/tooltip/tooltip.tsx
@@ -2,7 +2,7 @@ import type { TooltipProps } from '@mui/material';
import { styled } from '../../styles';
import { Popper, type PopperProps } from '../popper';
-import StyledPopperContainer from '../shared/Container';
+import StyledPopperContainer from '../shared/container';
const StyledTooltip = styled(StyledPopperContainer)(() => {
return {
maxWidth: '320px',
diff --git a/packages/component/src/ui/tree-view/hooks/useCollapsed.ts b/packages/component/src/ui/tree-view/hooks/use-collapsed.ts
similarity index 100%
rename from packages/component/src/ui/tree-view/hooks/useCollapsed.ts
rename to packages/component/src/ui/tree-view/hooks/use-collapsed.ts
diff --git a/packages/component/src/ui/tree-view/hooks/useSelectWithKeyboard.ts b/packages/component/src/ui/tree-view/hooks/use-select-with-keyboard.ts
similarity index 100%
rename from packages/component/src/ui/tree-view/hooks/useSelectWithKeyboard.ts
rename to packages/component/src/ui/tree-view/hooks/use-select-with-keyboard.ts
diff --git a/packages/component/src/ui/tree-view/index.ts b/packages/component/src/ui/tree-view/index.ts
index 240ac00762..caad1c7efc 100644
--- a/packages/component/src/ui/tree-view/index.ts
+++ b/packages/component/src/ui/tree-view/index.ts
@@ -1,3 +1,3 @@
-export * from './TreeNode';
-export * from './TreeView';
+export * from './tree-node';
+export * from './tree-view';
export * from './types';
diff --git a/packages/component/src/ui/tree-view/TreeNodeInner.tsx b/packages/component/src/ui/tree-view/tree-node-inner.tsx
similarity index 100%
rename from packages/component/src/ui/tree-view/TreeNodeInner.tsx
rename to packages/component/src/ui/tree-view/tree-node-inner.tsx
diff --git a/packages/component/src/ui/tree-view/TreeNode.tsx b/packages/component/src/ui/tree-view/tree-node.tsx
similarity index 97%
rename from packages/component/src/ui/tree-view/TreeNode.tsx
rename to packages/component/src/ui/tree-view/tree-node.tsx
index 26db3a2def..80d9727474 100644
--- a/packages/component/src/ui/tree-view/TreeNode.tsx
+++ b/packages/component/src/ui/tree-view/tree-node.tsx
@@ -6,7 +6,7 @@ import {
StyledTreeNodeContainer,
StyledTreeNodeWrapper,
} from './styles';
-import { NodeLine, TreeNodeItem, TreeNodeItemWithDnd } from './TreeNodeInner';
+import { NodeLine, TreeNodeItem, TreeNodeItemWithDnd } from './tree-node-inner';
import type { TreeNodeProps } from './types';
export const TreeNodeWithDnd = (
props: TreeNodeProps
diff --git a/packages/component/src/ui/tree-view/TreeView.tsx b/packages/component/src/ui/tree-view/tree-view.tsx
similarity index 93%
rename from packages/component/src/ui/tree-view/TreeView.tsx
rename to packages/component/src/ui/tree-view/tree-view.tsx
index 500cf1d079..8137f15d0d 100644
--- a/packages/component/src/ui/tree-view/TreeView.tsx
+++ b/packages/component/src/ui/tree-view/tree-view.tsx
@@ -9,9 +9,9 @@ import {
} from '@dnd-kit/core';
import { useCallback, useState } from 'react';
-import useCollapsed from './hooks/useCollapsed';
-import useSelectWithKeyboard from './hooks/useSelectWithKeyboard';
-import { TreeNode, TreeNodeWithDnd } from './TreeNode';
+import useCollapsed from './hooks/use-collapsed';
+import useSelectWithKeyboard from './hooks/use-select-with-keyboard';
+import { TreeNode, TreeNodeWithDnd } from './tree-node';
import type { TreeViewProps } from './types';
import { findNode } from './utils';
export const TreeView = ({
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 7031813922..2c9ad3725c 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -5,7 +5,7 @@
"main": "src/index.ts",
"exports": {
".": "./src/index.ts",
- "./hooks": "./src/i18n_generated"
+ "./hooks": "./src/i18n-generated"
},
"publishConfig": {
"main": "dist/src/index.js",
diff --git a/tsconfig.json b/tsconfig.json
index 0dea95dc91..aa8f430981 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -22,7 +22,7 @@
"@affine/component/*": ["./packages/component/src/components/*/index"],
"@affine/templates/*": ["./packages/templates/src/*"],
"@affine/i18n": ["./packages/i18n/src"],
- "@affine/i18n/hooks": ["./packages/i18n/src/i18n_generated"],
+ "@affine/i18n/hooks": ["./packages/i18n/src/i18n-generated"],
"@affine/debug": ["./packages/debug"],
"@affine/jotai": ["./packages/jotai"],
"@affine/env": ["./packages/env"],
diff --git a/yarn.lock b/yarn.lock
index 2237c3c798..652a298639 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -328,6 +328,7 @@ __metadata:
dotenv: ^16.0.3
eslint: ^8.40.0
eslint-config-next: ^13.4.1
+ eslint-plugin-unicorn: ^47.0.0
graphql: ^16.6.0
jotai: ^2.1.0
jotai-devtools: ^0.5.2
@@ -3339,7 +3340,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/eslint-utils@npm:^4.2.0":
+"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
version: 4.4.0
resolution: "@eslint-community/eslint-utils@npm:4.4.0"
dependencies:
@@ -9476,6 +9477,7 @@ __metadata:
eslint-plugin-react: ^7.32.2
eslint-plugin-react-hooks: ^4.6.0
eslint-plugin-simple-import-sort: ^10.0.0
+ eslint-plugin-unicorn: ^47.0.0
eslint-plugin-unused-imports: ^2.0.0
fake-indexeddb: 4.0.1
got: ^12.6.0
@@ -10731,6 +10733,13 @@ __metadata:
languageName: node
linkType: hard
+"builtin-modules@npm:^3.3.0":
+ version: 3.3.0
+ resolution: "builtin-modules@npm:3.3.0"
+ checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d
+ languageName: node
+ linkType: hard
+
"bundle-name@npm:^3.0.0":
version: 3.0.0
resolution: "bundle-name@npm:3.0.0"
@@ -11173,7 +11182,7 @@ __metadata:
languageName: node
linkType: hard
-"ci-info@npm:^3.2.0":
+"ci-info@npm:^3.2.0, ci-info@npm:^3.8.0":
version: 3.8.0
resolution: "ci-info@npm:3.8.0"
checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098
@@ -11187,6 +11196,15 @@ __metadata:
languageName: node
linkType: hard
+"clean-regexp@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "clean-regexp@npm:1.0.0"
+ dependencies:
+ escape-string-regexp: ^1.0.5
+ checksum: 0b1ce281b07da2463c6882ea2e8409119b6cabbd9f687cdbdcee942c45b2b9049a2084f7b5f228c63ef9f21e722963ae0bfe56a735dbdbdd92512867625a7e40
+ languageName: node
+ linkType: hard
+
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@@ -13561,6 +13579,32 @@ __metadata:
languageName: node
linkType: hard
+"eslint-plugin-unicorn@npm:^47.0.0":
+ version: 47.0.0
+ resolution: "eslint-plugin-unicorn@npm:47.0.0"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.19.1
+ "@eslint-community/eslint-utils": ^4.4.0
+ ci-info: ^3.8.0
+ clean-regexp: ^1.0.0
+ esquery: ^1.5.0
+ indent-string: ^4.0.0
+ is-builtin-module: ^3.2.1
+ jsesc: ^3.0.2
+ lodash: ^4.17.21
+ pluralize: ^8.0.0
+ read-pkg-up: ^7.0.1
+ regexp-tree: ^0.1.24
+ regjsparser: ^0.10.0
+ safe-regex: ^2.1.1
+ semver: ^7.3.8
+ strip-indent: ^3.0.0
+ peerDependencies:
+ eslint: ">=8.38.0"
+ checksum: 8d93bd76d54fb44e134c6576e3bda72dbf4c9cb5bae90451ace6acf1c48e6d7329f1e36db1d19266a5da499afeff6bf0c647875d69adc92d546bcc2d8b765cca
+ languageName: node
+ linkType: hard
+
"eslint-plugin-unused-imports@npm:^2.0.0":
version: 2.0.0
resolution: "eslint-plugin-unused-imports@npm:2.0.0"
@@ -13681,7 +13725,7 @@ __metadata:
languageName: node
linkType: hard
-"esquery@npm:^1.4.2":
+"esquery@npm:^1.4.2, esquery@npm:^1.5.0":
version: 1.5.0
resolution: "esquery@npm:1.5.0"
dependencies:
@@ -16123,6 +16167,15 @@ __metadata:
languageName: node
linkType: hard
+"is-builtin-module@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "is-builtin-module@npm:3.2.1"
+ dependencies:
+ builtin-modules: ^3.3.0
+ checksum: e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88
+ languageName: node
+ linkType: hard
+
"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
version: 1.2.7
resolution: "is-callable@npm:1.2.7"
@@ -17632,6 +17685,15 @@ __metadata:
languageName: node
linkType: hard
+"jsesc@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "jsesc@npm:3.0.2"
+ bin:
+ jsesc: bin/jsesc
+ checksum: a36d3ca40574a974d9c2063bf68c2b6141c20da8f2a36bd3279fc802563f35f0527a6c828801295bdfb2803952cf2cf387786c2c90ed564f88d5782475abfe3c
+ languageName: node
+ linkType: hard
+
"jsesc@npm:~0.5.0":
version: 0.5.0
resolution: "jsesc@npm:0.5.0"
@@ -20489,6 +20551,13 @@ __metadata:
languageName: node
linkType: hard
+"pluralize@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "pluralize@npm:8.0.0"
+ checksum: 08931d4a6a4a5561a7f94f67a31c17e6632cb21e459ab3ff4f6f629d9a822984cf8afef2311d2005fbea5d7ef26016ebb090db008e2d8bce39d0a9a9d218736e
+ languageName: node
+ linkType: hard
+
"polished@npm:^4.2.2":
version: 4.2.2
resolution: "polished@npm:4.2.2"
@@ -21626,6 +21695,15 @@ __metadata:
languageName: node
linkType: hard
+"regexp-tree@npm:^0.1.24, regexp-tree@npm:~0.1.1":
+ version: 0.1.27
+ resolution: "regexp-tree@npm:0.1.27"
+ bin:
+ regexp-tree: bin/regexp-tree
+ checksum: 129aebb34dae22d6694ab2ac328be3f99105143737528ab072ef624d599afecbcfae1f5c96a166fa9e5f64fa1ecf30b411c4691e7924c3e11bbaf1712c260c54
+ languageName: node
+ linkType: hard
+
"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.0":
version: 1.5.0
resolution: "regexp.prototype.flags@npm:1.5.0"
@@ -21670,6 +21748,17 @@ __metadata:
languageName: node
linkType: hard
+"regjsparser@npm:^0.10.0":
+ version: 0.10.0
+ resolution: "regjsparser@npm:0.10.0"
+ dependencies:
+ jsesc: ~0.5.0
+ bin:
+ regjsparser: bin/parser
+ checksum: 17550661f43ba792f8365fb95b3dbdb64e25f14e31ef7c2c11876c240a60e87b7bfc28c98589f4e76b7cf49307e45fb24d030f57d68dd0cc41c56b4d378e9254
+ languageName: node
+ linkType: hard
+
"regjsparser@npm:^0.9.1":
version: 0.9.1
resolution: "regjsparser@npm:0.9.1"
@@ -22134,6 +22223,15 @@ __metadata:
languageName: node
linkType: hard
+"safe-regex@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "safe-regex@npm:2.1.1"
+ dependencies:
+ regexp-tree: ~0.1.1
+ checksum: 5d734e2193c63ef0cb00f60c0244e0f8a30ecb31923633cd34636808d6a7c4c206d650017953ae1db8bc33967c2f06af33488dea6f038f4e38212beb7bed77b4
+ languageName: node
+ linkType: hard
+
"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"