From 0c7b20dc18759dc63adbd93df491eba556baa6fe Mon Sep 17 00:00:00 2001 From: DarkSky <25152247+darkskygit@users.noreply.github.com> Date: Mon, 10 Aug 2026 23:51:28 +0800 Subject: [PATCH] chore: migrate oxlint & oxfmt (#15464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### PR Dependency Tree * **PR #15464** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) ## Summary by CodeRabbit * **Chores** * Replaced the project’s formatting and linting workflow with Oxfmt and Oxlint. * Added shared formatting and linting configuration, editor integration, and updated automated checks. * Updated generated files, scripts, and lint guidance to use the new tooling. * **Style** * Reformatted templates, source code, examples, and configuration files for consistent readability. * No user-facing functionality or rendering behavior changed. --- .devcontainer/devcontainer.json | 6 +- .github/renovate.json | 2 +- .github/workflows/build-test.yml | 6 +- .gitignore | 1 - .oxfmtrc.json | 10 + .oxlintrc.json | 93 +- .prettierignore | 2 +- .prettierrc | 6 - .vscode/extensions.json | 2 +- .vscode/settings.template.json | 10 +- ...orks-i18n-codegen-virtual-25e53a17d6.patch | 26 + .../blocks/callout/src/callout-block.ts | 34 +- .../affine/blocks/code/src/code-block.ts | 8 +- .../src/properties/link/cell-renderer.ts | 52 +- .../embed-linked-doc-block.ts | 50 +- .../components/embed-synced-doc-card.ts | 62 +- .../embed-edgeless-synced-doc-block.ts | 20 +- .../embed-synced-doc-block.ts | 26 +- .../embed-figma-block/embed-figma-block.ts | 12 +- .../embed-github-block/embed-github-block.ts | 108 ++- .../components/embed-iframe-error-card.ts | 22 +- .../embed-iframe-link-input-popup.ts | 16 +- .../embed-iframe-block/embed-iframe-block.ts | 8 +- .../src/embed-loom-block/embed-loom-block.ts | 44 +- .../embed-youtube-block.ts | 88 +- .../src/edgeless-toolbar/frame-tool-button.ts | 14 +- .../edgeless-toolbar/presentation-toolbar.ts | 46 +- .../frame/src/present/frame-order-menu.ts | 18 +- .../src/present/navigator-setting-button.ts | 22 +- .../affine/blocks/list/src/list-block.ts | 36 +- .../blocks/list/src/utils/get-list-icon.ts | 8 +- .../blocks/note/src/note-edgeless-block.ts | 40 +- .../blocks/paragraph/src/paragraph-block.ts | 94 +- .../root/src/edgeless/clipboard/clipboard.ts | 4 +- .../surface-ref/src/components/placeholder.ts | 28 +- blocksuite/affine/blocks/surface/src/index.ts | 2 +- .../blocks/surface/src/tool/default-tool.ts | 2 +- .../affine/blocks/surface/src/utils/a-star.ts | 2 +- .../affine/blocks/table/src/table-block.ts | 14 +- .../affine/blocks/table/src/table-cell.ts | 36 +- .../src/caption/captioned-block-component.ts | 32 +- .../components/src/citation/citation.ts | 20 +- .../components/src/context-menu/button.ts | 8 +- .../components/src/context-menu/group.ts | 12 +- .../src/context-menu/menu-renderer.ts | 82 +- .../components/src/context-menu/menu.ts | 2 +- .../components/src/date-picker/date-picker.ts | 26 +- .../affine/components/src/icons/loading.ts | 7 +- blocksuite/affine/components/src/peek/type.ts | 2 +- .../src/size-dropdown-menu/dropdown-menu.ts | 5 +- .../affine/components/src/slider/slider.ts | 8 +- .../affine/components/src/toolbar/utils.ts | 8 +- .../affine/components/src/tooltip/tooltip.ts | 16 +- .../src/core/common/property-menu.ts | 8 +- .../core/component/tags/multi-tag-select.ts | 64 +- .../data-view/src/core/detail/detail.ts | 20 +- .../src/core/group-by/group-title.ts | 44 +- .../core/group-by/renderer/boolean-group.ts | 8 +- .../data-view/src/core/group-by/setting.ts | 81 +- .../progress/cell-renderer.ts | 20 +- .../src/view-presets/calendar/pc/actions.ts | 36 +- .../src/view-presets/calendar/pc/view.ts | 224 +++-- .../src/view-presets/kanban/mobile/group.ts | 22 +- .../src/view-presets/kanban/pc/group.ts | 22 +- .../src/view-presets/table/mobile/group.ts | 42 +- .../src/view-presets/table/mobile/row.ts | 30 +- .../pc-virtual/group/bottom/group-footer.ts | 30 +- .../group/bottom/stats/column-stats-column.ts | 14 +- .../table/pc-virtual/group/top/group-title.ts | 22 +- .../group/top/header/single-column-header.ts | 18 +- .../table/pc-virtual/row/row-header.ts | 8 +- .../src/view-presets/table/pc/group.ts | 42 +- .../table/pc/header/column-header.ts | 8 +- .../table/pc/header/database-header-column.ts | 18 +- .../table/pc/row/row-select-checkbox.ts | 8 +- .../src/view-presets/table/pc/row/row.ts | 66 +- .../table/pc/table-view-ui-logic.ts | 24 +- .../table/stats/column-stats-column.ts | 14 +- .../filter/group-panel-view.ts | 40 +- .../widget-presets/quick-setting-bar/index.ts | 16 +- .../tools/presets/table-add-row/add-row.ts | 8 +- .../presets/view-options/view-options.ts | 24 +- blocksuite/affine/ext-loader/README.md | 20 +- .../src/body/adapter-panel-body.ts | 16 +- .../fragments/doc-title/src/doc-title.ts | 6 +- .../frame-panel/src/body/frame-panel-body.ts | 34 +- .../frame-panel/src/card/frame-card.ts | 28 +- .../src/header/frame-panel-header.ts | 6 +- .../outline/src/body/outline-panel-body.ts | 12 +- .../outline/src/card/outline-preview.ts | 90 +- .../gfx/connector/src/connector-manager.ts | 2 +- .../text/edgeless-connector-label-editor.ts | 34 +- .../src/toolbar/connector-tool-button.ts | 14 +- .../gfx/mindmap/src/toolbar/mindmap-menu.ts | 66 +- .../src/toolbar/mindmap-tool-button.ts | 26 +- .../note/src/components/note-shadow-panel.ts | 8 +- .../note/src/toolbar/note-senior-button.ts | 14 +- .../gfx/note/src/toolbar/note-tool-button.ts | 14 +- .../gfx/shape/src/components/shape-panel.ts | 6 +- .../shape/src/draggable/shape-draggable.ts | 26 +- .../gfx/shape/src/draggable/shape-menu.ts | 8 +- .../shape/src/draggable/shape-tool-button.ts | 14 +- .../shape/src/draggable/shape-tool-element.ts | 12 +- .../src/text/edgeless-shape-text-editor.ts | 32 +- .../template/src/toolbar/builtin-templates.ts | 2 +- .../template/src/toolbar/template-panel.ts | 144 +-- .../gfx/text/src/edgeless-text-editor.ts | 30 +- .../gfx/text/src/element-renderer/utils.ts | 2 +- .../src/footnote-node/footnote-popup-chip.ts | 8 +- .../src/footnote-node/footnote-popup.ts | 10 +- .../widgets/drag-handle/src/drag-handle.ts | 22 +- .../edgeless-auto-connect/src/index.ts | 8 +- .../edgeless-toolbar/src/edgeless-toolbar.ts | 33 +- .../linked-doc/src/linked-doc-popover.ts | 8 +- .../src/transformers/import-batch.ts | 17 +- .../widgets/page-dragging-area/src/utils.ts | 2 +- .../src/doc/doc-remote-selection.ts | 12 +- .../slash-menu/src/slash-menu-popover.ts | 42 +- .../affine/widgets/toolbar/src/utils.ts | 8 +- blocksuite/docs-site/guide/adapter.md | 24 +- blocksuite/docs-site/guide/command.md | 5 +- blocksuite/docs-site/guide/component-types.md | 7 +- .../docs-site/guide/data-synchronization.md | 6 +- blocksuite/docs-site/guide/inline.md | 4 +- .../guide/working-with-block-tree.md | 6 +- .../framework/global/src/di/container.ts | 8 +- .../framework/global/src/gfx/model/vec.ts | 4 +- .../std/src/inline/utils/range-conversion.ts | 2 +- .../src/__tests__/collection.unit.spec.ts | 2 +- .../framework/store/src/reactive/text/text.ts | 2 +- .../src/editors/editor-container.ts | 16 +- .../components/attachment-viewer-panel.ts | 8 +- .../components/custom-adapter-panel.ts | 12 +- .../_common/components/custom-frame-panel.ts | 10 +- .../components/custom-outline-panel.ts | 12 +- .../apps/_common/components/docs-panel.ts | 12 +- .../scripts/hmr-plugin/fine-tune.ts | 2 +- eslint.config.mjs | 186 ---- nyc.config.js | 2 +- package.json | 33 +- packages/backend/native/dts-header.d.ts | 2 +- packages/backend/native/index.d.ts | 2 +- packages/backend/server/scripts/genconfig.ts | 2 +- .../backend/server/src/core/auth/guard.ts | 2 +- .../backend/server/src/core/auth/service.ts | 2 +- .../server/src/core/doc/storage/lock.ts | 2 +- packages/backend/server/src/core/utils/doc.ts | 2 +- .../server/src/mails/components/template.tsx | 2 +- .../plugins/copilot/transcript/resolver.ts | 2 +- packages/common/graphql/codegen.yml | 2 +- packages/common/graphql/package.json | 2 +- .../infra/src/framework/core/provider.ts | 4 +- .../common/infra/src/livedata/livedata.ts | 4 +- packages/common/infra/src/orm/core/table.ts | 40 +- packages/common/nbstore/README.md | 17 +- .../src/impls/idb/indexer/tokenizer.ts | 4 +- packages/common/nbstore/src/impls/idb/lock.ts | 2 +- packages/common/nbstore/src/storage/lock.ts | 2 +- .../common/nbstore/src/sync/blob/index.ts | 2 +- packages/common/nbstore/src/sync/blob/peer.ts | 4 +- .../delta-to-md/delta-converters.ts | 2 +- .../src/doc-parser/delta-to-md/delta-to-md.ts | 2 +- .../src/doc-parser/delta-to-md/utils/node.ts | 2 +- .../src/components/shared/data-table.tsx | 2 +- .../admin/src/components/ui/command.tsx | 2 +- packages/frontend/admin/src/index.tsx | 2 +- .../components/use-user-management.ts | 2 +- .../apps/electron-renderer/src/app/index.tsx | 2 +- .../frontend/apps/electron/scripts/common.ts | 2 +- .../src/helper/nbstore/v1/ensure-db.ts | 2 +- .../frontend/apps/electron/src/main/index.ts | 2 +- .../apps/electron/src/main/recording/index.ts | 2 +- .../test/main/recording-effect.spec.ts | 2 - packages/frontend/apps/ios/AGENTS.md | 2 +- packages/frontend/apps/ios/src/index.tsx | 2 +- packages/frontend/apps/web/src/index.tsx | 2 +- .../auth-components/onboarding-page.tsx | 2 +- .../lit-react/lit-portal/uni-component.tsx | 1 - .../src/ui/date-picker/calendar/items.tsx | 2 +- .../ui/date-picker/calendar/year-picker.tsx | 2 +- .../frontend/component/src/ui/dnd/types.ts | 14 +- .../src/__tests__/data-view-actions.spec.ts | 1 - .../__tests__/pan-tool-middle-mouse.spec.ts | 2 +- .../core/src/blocksuite/ai/actions/types.ts | 2 +- .../components/ai-chat-messages.ts | 18 +- .../ai-chat-block/components/user-info.ts | 18 +- .../ai/chat-panel/actions/action-wrapper.ts | 66 +- .../ai/chat-panel/actions/image-to-text.ts | 14 +- .../blocksuite/ai/chat-panel/actions/image.ts | 14 +- .../ai/chat-panel/message/action.ts | 6 +- .../ai/chat-panel/message/assistant.ts | 48 +- .../blocksuite/ai/chat-panel/message/user.ts | 34 +- .../ai-chat-add-context.ts | 16 +- .../components/ai-chat-chips/add-popover.ts | 16 +- .../ai-chat-chips/chat-panel-chips.ts | 30 +- .../ai/components/ai-chat-chips/chip.ts | 20 +- .../components/ai-chat-content/split-view.ts | 10 +- .../components/ai-chat-input/ai-chat-input.ts | 102 ++- .../ai-chat-input/preference-popup.ts | 14 +- .../ai-chat-messages/ai-chat-messages.ts | 142 +-- .../ai-chat-toolbar/ai-chat-toolbar.ts | 22 +- .../ai-chat-toolbar/ai-session-history.ts | 8 +- .../ai/components/ai-item/ai-item-list.ts | 12 +- .../ai/components/ai-item/ai-item.ts | 14 +- .../ai-message-content/assistant-avatar.ts | 8 +- .../ai-message-content/stream-objects.ts | 18 +- .../ai/components/ai-tools/artifact-tool.ts | 10 +- .../ai/components/ai-tools/code-artifact.ts | 20 +- .../ai/components/ai-tools/doc-compose.ts | 24 +- .../ai/components/ai-tools/doc-edit.ts | 6 +- .../ai/components/ai-tools/section-edit.ts | 92 +- .../components/ai-tools/tool-result-card.ts | 20 +- .../src/blocksuite/ai/components/copy-more.ts | 136 +-- .../ai/components/playground/chat.ts | 12 +- .../ai/components/playground/content.ts | 9 +- .../core/src/blocksuite/ai/messages/error.ts | 84 +- .../src/blocksuite/ai/messages/wrapper.ts | 6 +- .../ai/mini-mindmap/mindmap-preview.ts | 36 +- .../ai/mini-mindmap/mindmap-service.ts | 1 - .../ai/mini-mindmap/surface-block.ts | 2 +- .../ai/peek-view/chat-block-peek-view.ts | 50 +- .../blocksuite/ai/provider/ai-app-events.ts | 2 - .../src/blocksuite/ai/tool/copilot-tool.ts | 3 +- .../ai/widgets/ai-panel/ai-panel.ts | 28 +- .../widgets/ai-panel/components/finish-tip.ts | 50 +- .../components/generating-placeholder.ts | 8 +- .../ai-panel/components/state/answer.ts | 84 +- .../ai-panel/components/state/error.ts | 54 +- .../ai-panel/components/state/generating.ts | 18 +- .../ai-panel/components/state/input.ts | 8 +- .../block-suite-editor/blocksuite-editor.tsx | 2 +- .../database-block/properties/file/view.tsx | 2 +- .../member/multi-member-select/index.tsx | 2 +- .../database-block/properties/member/view.tsx | 2 +- .../view-extensions/cloud/user-list.ts | 4 - .../blocksuite/view-extensions/cloud/user.ts | 4 - .../code-block-preview/mermaid-preview.ts | 82 +- .../code-block-preview/typst-preview.ts | 11 +- .../editor-config/get-config.ts | 1 - .../mobile/keyboard-toolbar-extension.ts | 4 - .../lottie/edgeless/mouse-track-dark.json | 12 +- .../lottie/edgeless/mouse-track-light.json | 12 +- .../onboarding/steps/edgeless-switch.tsx | 2 +- .../affine/__tests__/use-sign-out.spec.ts | 1 - .../core/src/components/tags/tags-editor.tsx | 2 +- .../workspace-property-types/checkbox.tsx | 2 +- .../editor/edgeless/snapshot.tsx | 2 +- .../integration/mcp-server/setting-panel.tsx | 2 +- .../license/self-host-team-card.tsx | 2 +- .../src/desktop/pages/auth/oauth-login.tsx | 2 +- .../shell-data-projection.spec.ts | 2 - .../src/modules/app-sidebar/views/index.tsx | 2 +- .../core/src/modules/db/entities/table.ts | 3 - .../desktop-api/entities/electron-api.ts | 2 +- .../src/modules/desktop-api/impl/index.ts | 2 +- .../database-properties/cells/select.tsx | 2 - .../docs-search/services/docs-search.spec.ts | 1 - .../modules/feature-flag/entities/flags.ts | 1 - .../modules/import-clipper/services/import.ts | 2 +- .../import-template/services/import.ts | 2 +- .../userspace/entities/user-db-table.ts | 2 - .../modules/workspace/entities/workspace.ts | 1 - .../core/src/modules/workspace/impls/meta.ts | 2 - .../src/modules/workspace/impls/workspace.ts | 2 - .../core/src/utils/navigable-history.ts | 2 +- packages/frontend/electron-api/src/index.ts | 4 +- packages/frontend/i18n/src/i18n.gen.ts | 2 +- packages/frontend/native/index.d.ts | 2 +- packages/frontend/native/index.js | 2 +- .../media_capture/src/windows/README.md | 10 +- packages/frontend/routes/README.md | 6 +- packages/frontend/routes/build.ts | 6 +- packages/frontend/templates/README.md | 11 +- .../frontend/templates/build-stickers.mjs | 2 +- .../templates/stickers-templates.gen.ts | 2 +- packages/frontend/track/package.json | 1 + packages/frontend/track/src/events.ts | 4 +- packages/frontend/track/src/types.ts | 9 +- scripts/setup/polyfill.ts | 2 +- .../e2e/base/base-test.ts | 2 +- .../e2e/utils/chat-panel-utils.ts | 2 +- tests/blocksuite/e2e/code/copy-paste.spec.ts | 2 +- .../inline/inline-editor.spec.ts | 6 +- .../e2e/edgeless/linked-doc.spec.ts | 2 +- tests/blocksuite/e2e/utils/actions/misc.ts | 4 +- tests/kit/src/utils/keyboard.ts | 2 +- tools/cli/package.json | 2 +- tools/cli/src/init.ts | 37 +- tools/cli/src/rspack-shared/error-handler.js | 2 +- tools/utils/package.json | 2 +- tools/utils/src/format.ts | 17 +- yarn.lock | 854 +++++++++--------- 292 files changed, 3372 insertions(+), 2866 deletions(-) create mode 100644 .oxfmtrc.json delete mode 100644 .prettierrc create mode 100644 .yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch delete mode 100644 eslint.config.mjs diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index bccbbf98b8..e59b7a4df5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -17,11 +17,7 @@ // Configure tool-specific properties. "customizations": { "vscode": { - "extensions": [ - "ms-playwright.playwright", - "esbenp.prettier-vscode", - "dbaeumer.vscode-eslint" - ] + "extensions": ["ms-playwright.playwright", "oxc.oxc-vscode"] } }, "updateContentCommand": "bash ./.devcontainer/build.sh", diff --git a/.github/renovate.json b/.github/renovate.json index 3a5722ca33..328d37364f 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -13,7 +13,7 @@ { "rangeStrategy": "replace", "groupName": "linter", - "matchPackageNames": ["/^eslint/", "/^@typescript-eslint/"] + "matchPackageNames": ["/^eslint-plugin/"] }, { "matchDepNames": ["oxlint"], diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 39daf6a060..1266d8f748 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -91,13 +91,11 @@ jobs: run: yarn lint:ox - name: Run i18n codegen run: yarn affine @affine/i18n build - - name: Run ESLint - run: yarn lint:eslint --max-warnings=0 - - name: Run Prettier + - name: Run Oxfmt # Set nmMode in `actions/setup-node` will modify the .yarnrc.yml run: | git checkout .yarnrc.yml - yarn lint:prettier + yarn lint:format - name: Yarn Dedupe run: yarn dedupe --check diff --git a/.gitignore b/.gitignore index 4741fee4f5..db5f8642dc 100644 --- a/.gitignore +++ b/.gitignore @@ -73,7 +73,6 @@ playwright/.cache download # Cache -.eslintcache next-env.d.ts .rollup.cache diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 0000000000..0fd2b803b7 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "printWidth": 80, + "singleQuote": true, + "trailingComma": "es5", + "tabWidth": 2, + "arrowParens": "avoid", + "sortPackageJson": false, + "ignorePatterns": ["**/*.toml"] +} diff --git a/.oxlintrc.json b/.oxlintrc.json index 3b9bd6f53e..ac353dda0a 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -3,9 +3,27 @@ "jsPlugins": [ "eslint-plugin-simple-import-sort", "eslint-plugin-sonarjs", - "eslint-plugin-lit" + "eslint-plugin-lit", + { + "name": "import-x-js", + "specifier": "eslint-plugin-import-x" + }, + { + "name": "react-js", + "specifier": "eslint-plugin-react" + }, + { + "name": "react-hooks-js", + "specifier": "eslint-plugin-react-hooks" + } ], "plugins": ["import", "react", "typescript", "unicorn", "promise"], + "settings": { + "_comment": "TODO: Restore rxjs/finnish when Oxlint JS plugins support type-aware rules.", + "react": { + "version": "19.2.1" + } + }, "categories": { "correctness": "error", "perf": "error" @@ -66,8 +84,19 @@ "no-unused-private-class-members": "error", "no-useless-backreference": "error", "react/display-name": "error", + "react-js/no-deprecated": "error", "react/rules-of-hooks": "error", "react/exhaustive-deps": "warn", + "react-hooks-js/component-hook-factories": "error", + "react-hooks-js/preserve-manual-memoization": "error", + "react-hooks-js/incompatible-library": "warn", + "react-hooks-js/globals": "error", + "react-hooks-js/error-boundaries": "error", + "react-hooks-js/purity": "error", + "react-hooks-js/set-state-in-render": "error", + "react-hooks-js/unsupported-syntax": "warn", + "react-hooks-js/config": "error", + "react-hooks-js/gating": "error", "typescript/prefer-for-of": "error", "typescript/no-unsafe-function-type": "error", "typescript/no-wrapper-object-types": "error", @@ -162,6 +191,7 @@ "no-useless-catch": "error", "no-async-promise-executor": "error", "no-unreachable": "error", + "no-unreachable-loop": "error", "no-duplicate-case": "error", "no-empty-pattern": "error", "no-unused-labels": "error", @@ -399,6 +429,67 @@ "lit/binding-positions": "off", "lit/no-invalid-html": "off" } + }, + { + "files": [ + "packages/**/*.{ts,tsx}", + "tools/**/*.{ts,tsx}", + "blocksuite/**/*.{ts,tsx}" + ], + "rules": { + "import-x-js/no-extraneous-dependencies": [ + "error", + { + "includeInternal": true + } + ] + } + }, + { + "files": ["packages/frontend/admin/**/*"], + "rules": { + "import-x-js/no-extraneous-dependencies": [ + "error", + { + "includeInternal": true, + "whitelist": ["@affine/admin"] + } + ] + } + }, + { + "files": ["packages/frontend/core/**/*"], + "rules": { + "import-x-js/no-extraneous-dependencies": [ + "error", + { + "includeInternal": true, + "whitelist": ["@affine/core"] + } + ] + } + }, + { + "files": ["packages/frontend/component/**/*"], + "rules": { + "import-x-js/no-extraneous-dependencies": [ + "error", + { + "includeInternal": true, + "whitelist": ["@affine/component"] + } + ] + } + }, + { + "files": [ + "packages/frontend/apps/electron/scripts/**/*", + "tests/blocksuite/**/*.{ts,tsx}", + "blocksuite/**/__tests__/**/*.{ts,tsx}" + ], + "rules": { + "import-x-js/no-extraneous-dependencies": "off" + } } ] } diff --git a/.prettierignore b/.prettierignore index 7007de099c..236d7b6b67 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,4 @@ -# we will make this file shared by prettier|eslint|oxlint +# shared by oxfmt|oxlint **/node_modules .yarn .github/helm diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 43aee1a496..0000000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "es5", - "tabWidth": 2, - "arrowParens": "avoid" -} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index bbe3b2cbf8..8e2a29e584 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,7 @@ { "recommendations": [ "ms-playwright.playwright", - "esbenp.prettier-vscode", + "oxc.oxc-vscode", "deepscan.vscode-deepscan", "streetsidesoftware.code-spell-checker" ] diff --git a/.vscode/settings.template.json b/.vscode/settings.template.json index 619d5a9f85..8899bd7261 100644 --- a/.vscode/settings.template.json +++ b/.vscode/settings.template.json @@ -1,6 +1,6 @@ { "prisma.pinToPrisma6": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.defaultFormatter": "oxc.oxc-vscode", "editor.formatOnSave": true, "editor.formatOnSaveMode": "file", "cSpell.words": [ @@ -17,10 +17,10 @@ "explorer.fileNesting.enabled": true, "explorer.fileNesting.patterns": { "*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts, ${capture}.d.ts.map", - "package.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .cz-config.js, .czrc, .dlint.json, .dprint.json, .editorconfig, .eslint*, eslint.*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lighthouserc.*, .lintstagedrc*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .versionrc*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, Procfile, api-extractor.json, apollo.config.*, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, dangerfile*, dlint.json, dprint.json, firebase.json, grunt*, gulp*, histoire.config.*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lighthouserc.*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, package.nls*.json, phpcs.xml, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, pyrightconfig.json, release-tasks.sh, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, unlighthouse*, vercel*, vetur.config.*, vitest.*, webpack*, workspace.json, xo.config.*, yarn*, babel.*, .babelrc, project.json, .oxlintrc.json, oxlint.json, nyc.config.*", + "package.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .cz-config.js, .czrc, .dlint.json, .dprint.json, .editorconfig, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lighthouserc.*, .lintstagedrc*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .versionrc*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, Procfile, api-extractor.json, apollo.config.*, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, dangerfile*, dlint.json, dprint.json, firebase.json, grunt*, gulp*, histoire.config.*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lighthouserc.*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, package.nls*.json, phpcs.xml, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, pyrightconfig.json, release-tasks.sh, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, unlighthouse*, vercel*, vetur.config.*, vitest.*, webpack*, workspace.json, xo.config.*, yarn*, babel.*, .babelrc, project.json, .oxlintrc.json, oxlint.json, nyc.config.*", "Cargo.toml": "Cargo.lock, rust-toolchain*, rustfmt.toml, .taplo.toml", "README.md": "LICENSE*, CHANGELOG.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, README.*", - ".gitignore": ".gitattributes, .dockerignore, .eslintignore, .prettierignore, .stylelintignore, .tslintignore, .yarnignore" + ".gitignore": ".gitattributes, .dockerignore, .prettierignore, .stylelintignore, .tslintignore, .yarnignore" }, "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer" @@ -29,11 +29,9 @@ "editor.defaultFormatter": "tamasfe.even-better-toml" }, "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "vitest.include": ["packages/**/*.spec.ts", "packages/**/*.spec.tsx"], - "eslint.runtime": "node", - "eslint.execArgv": ["--max_old_space_size=16384"], "rust-analyzer.check.extraEnv": { "DATABASE_URL": "sqlite:affine.db" }, diff --git a/.yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch b/.yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch new file mode 100644 index 0000000000..fad2274f11 --- /dev/null +++ b/.yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch @@ -0,0 +1,26 @@ +diff --git a/dist/frameworks/i18next/generator/react-hooks.js b/dist/frameworks/i18next/generator/react-hooks.js +index ae1953ca1baceb09e587eda931567c8d8c5d671e..3bc918f6ff4f378e297d1fe927dcc90cf20c821e 100644 +--- a/dist/frameworks/i18next/generator/react-hooks.js ++++ b/dist/frameworks/i18next/generator/react-hooks.js +@@ -99,7 +99,7 @@ export function i18NextReactHooksGenerator(gen) { + // Codegen + const printedSourceFile = [ + gen.generatorOptions?.emitTS && '// @ts-nocheck', +- '/* eslint-disable */', ++ '/* oxlint-disable */', + printer.printFile(factory.createSourceFile(statements, factory.createToken(SyntaxKind.EndOfFileToken), NodeFlags.Synthesized)), + ] + .filter(Boolean) +diff --git a/src/frameworks/i18next/generator/react-hooks.ts b/src/frameworks/i18next/generator/react-hooks.ts +index bbaf10a2b482e6118e786e634d15abab31c7ba32..a2dfd09ad422cb24c986d1a4ee3458197e70d5c2 100644 +--- a/src/frameworks/i18next/generator/react-hooks.ts ++++ b/src/frameworks/i18next/generator/react-hooks.ts +@@ -203,7 +203,7 @@ export function i18NextReactHooksGenerator(gen: GenType) { + // Codegen + const printedSourceFile = [ + gen.generatorOptions?.emitTS && '// @ts-nocheck', +- '/* eslint-disable */', ++ '/* oxlint-disable */', + printer.printFile( + factory.createSourceFile(statements, factory.createToken(SyntaxKind.EndOfFileToken), NodeFlags.Synthesized), + ), diff --git a/blocksuite/affine/blocks/callout/src/callout-block.ts b/blocksuite/affine/blocks/callout/src/callout-block.ts index b25090bf5e..76f3415f46 100644 --- a/blocksuite/affine/blocks/callout/src/callout-block.ts +++ b/blocksuite/affine/blocks/callout/src/callout-block.ts @@ -234,22 +234,26 @@ export class CalloutBlockComponent extends CaptionedBlockComponent - ${iconContent - ? html` -
- ${iconContent} -
- ` - : ''} + ${iconContent} + + ` + : '' + }
${this.renderChildren(this.model)}
diff --git a/blocksuite/affine/blocks/code/src/code-block.ts b/blocksuite/affine/blocks/code/src/code-block.ts index fc2e3fc24c..ed8be4e45f 100644 --- a/blocksuite/affine/blocks/code/src/code-block.ts +++ b/blocksuite/affine/blocks/code/src/code-block.ts @@ -489,9 +489,11 @@ export class CodeBlockComponent extends CaptionedBlockComponent }} > - ${collapsed - ? html`` - : nothing} + ${ + collapsed + ? html`` + : nothing + }
{ return html`
- ${isDoc - ? html`${docName}` - : isValidUrl(linkText) - ? html`${linkText}${docName}` - : html`${linkText}`} + : isValidUrl(linkText) + ? html`${linkText}` + : html`${linkText}` + }
- ${hasLink - ? html`
-
- ${EditIcon()} -
-
` - : nothing} + ${ + hasLink + ? html`
+
+ ${EditIcon()} +
+
` + : nothing + }
`; } diff --git a/blocksuite/affine/blocks/embed-doc/src/embed-linked-doc-block/embed-linked-doc-block.ts b/blocksuite/affine/blocks/embed-doc/src/embed-linked-doc-block/embed-linked-doc-block.ts index a50dcdae0d..6405bcb076 100644 --- a/blocksuite/affine/blocks/embed-doc/src/embed-linked-doc-block/embed-linked-doc-block.ts +++ b/blocksuite/affine/blocks/embed-doc/src/embed-linked-doc-block/embed-linked-doc-block.ts @@ -427,33 +427,37 @@ export class EmbedLinkedDocBlockComponent extends EmbedBlockComponent -
- ${ResetIcon()} Reload + ${ + isError + ? html` +
+
+ ${ResetIcon()} Reload +
-
- ` - : html` - + ` + }
- ${showDefaultBanner - ? html` -
- ${defaultBanner} -
- ` - : nothing} + ${ + showDefaultBanner + ? html` +
+ ${defaultBanner} +
+ ` + : nothing + } ` ); diff --git a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/components/embed-synced-doc-card.ts b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/components/embed-synced-doc-card.ts index 41260e1c2e..987a809e92 100644 --- a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/components/embed-synced-doc-card.ts +++ b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/components/embed-synced-doc-card.ts @@ -202,42 +202,48 @@ export class EmbedSyncedDocCard extends WithDisposable(ShadowlessElement) { - ${showDefaultNoteContent - ? html`
- ${defaultNoteContent} -
` - : nothing} + ${ + showDefaultNoteContent + ? html`
+ ${defaultNoteContent} +
` + : nothing + }
- ${error - ? html` -
-
this.block.refreshData()} - > - ${ResetIcon()} Reload + ${ + error + ? html` +
+
this.block.refreshData()} + > + ${ResetIcon()} Reload +
-
- ` - : html` - + ` + }
- ${showDefaultBanner - ? html` -
- ${defaultBanner} -
- ` - : nothing} + ${ + showDefaultBanner + ? html` +
+ ${defaultBanner} +
+ ` + : nothing + } `; } diff --git a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-edgeless-synced-doc-block.ts b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-edgeless-synced-doc-block.ts index 55d81238a1..9b97ab4d54 100644 --- a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-edgeless-synced-doc-block.ts +++ b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-edgeless-synced-doc-block.ts @@ -123,15 +123,17 @@ export class EmbedEdgelessSyncedDocBlockComponent extends toEdgelessEmbedBlock( ${header}
- ${this.isPageMode && this._isEmptySyncedDoc - ? html` -
- - This is a linked doc, you can add content here. - -
- ` - : guard([editorMode, syncedDoc], renderEditor)} + ${ + this.isPageMode && this._isEmptySyncedDoc + ? html` +
+ + This is a linked doc, you can add content here. + +
+ ` + : guard([editorMode, syncedDoc], renderEditor) + }
diff --git a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-synced-doc-block.ts b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-synced-doc-block.ts index 7b759429b8..080d42f684 100644 --- a/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-synced-doc-block.ts +++ b/blocksuite/affine/blocks/embed-doc/src/embed-synced-doc-block/embed-synced-doc-block.ts @@ -242,18 +242,20 @@ export class EmbedSyncedDocBlockComponent extends EmbedBlockComponent
- ${isPageMode && this._isEmptySyncedDoc - ? html` -
- - This is a linked doc, you can add content here. - -
- ` - : guard( - [editorMode, syncedDoc, appTheme, edgelessTheme], - renderEditor - )} + ${ + isPageMode && this._isEmptySyncedDoc + ? html` +
+ + This is a linked doc, you can add content here. + +
+ ` + : guard( + [editorMode, syncedDoc, appTheme, edgelessTheme], + renderEditor + ) + }
- ${description - ? html`
- ${description} -
` - : nothing} + ${ + description + ? html`
+ ${description} +
` + : nothing + }
www.figma.com diff --git a/blocksuite/affine/blocks/embed/src/embed-github-block/embed-github-block.ts b/blocksuite/affine/blocks/embed/src/embed-github-block/embed-github-block.ts index f57e25606b..bca543a864 100644 --- a/blocksuite/affine/blocks/embed/src/embed-github-block/embed-github-block.ts +++ b/blocksuite/affine/blocks/embed/src/embed-github-block/embed-github-block.ts @@ -183,21 +183,23 @@ export class EmbedGithubBlockComponent extends EmbedBlockComponent< ${titleIcon}
- ${status && statusText - ? html`
- ${statusIcon} + ${ + status && statusText + ? html`
+ ${statusIcon} - ${statusText} -
` - : nothing} + ${statusText} +
` + : nothing + }
@@ -209,50 +211,56 @@ export class EmbedGithubBlockComponent extends EmbedBlockComponent< ${descriptionText}
- ${githubType === 'issue' && assignees - ? html` -
-
- Assignees -
+ ${ + githubType === 'issue' && assignees + ? html` +
+
+ Assignees +
-
- ${assignees.length === 0 - ? html`No one` - : repeat( - assignees, - assignee => assignee, - (assignee, index) => - html` - this._handleAssigneeClick(assignee)} - >${`@${assignee}`} - ${index === assignees.length - 1 ? '' : `, `}` - )} +
+ ${ + assignees.length === 0 + ? html`No one` + : repeat( + assignees, + assignee => assignee, + (assignee, index) => + html` + this._handleAssigneeClick(assignee)} + >${`@${assignee}`} + ${index === assignees.length - 1 ? '' : `, `}` + ) + } +
-
- ` - : nothing} + ` + : nothing + }
${`${owner}/${repo} |`} - ${createdAt - ? html`` - : nothing} + ${ + createdAt + ? html`` + : nothing + } github.com
diff --git a/blocksuite/affine/blocks/embed/src/embed-iframe-block/components/embed-iframe-error-card.ts b/blocksuite/affine/blocks/embed/src/embed-iframe-block/components/embed-iframe-error-card.ts index c02c889064..b5a328ffee 100644 --- a/blocksuite/affine/blocks/embed/src/embed-iframe-block/components/embed-iframe-error-card.ts +++ b/blocksuite/affine/blocks/embed/src/embed-iframe-block/components/embed-iframe-error-card.ts @@ -252,16 +252,18 @@ export class EmbedIframeErrorCard extends WithDisposable(LitElement) { ${this.error?.message || 'Failed to load embedded content'}
- ${this.readonly - ? nothing - : html` -
- ${EditIcon({ width: '16px', height: '16px' })} - Edit -
- `} + ${ + this.readonly + ? nothing + : html` +
+ ${EditIcon({ width: '16px', height: '16px' })} + Edit +
+ ` + }
${ResetIcon({ width: '16px', height: '16px' })} - ${showCloseButton - ? html` - - ` - : nothing} + ${ + showCloseButton + ? html` + + ` + : nothing + } diff --git a/blocksuite/affine/blocks/surface/src/index.ts b/blocksuite/affine/blocks/surface/src/index.ts index 793c28b9f4..b3271548d1 100644 --- a/blocksuite/affine/blocks/surface/src/index.ts +++ b/blocksuite/affine/blocks/surface/src/index.ts @@ -1,4 +1,4 @@ -// oxlint-disable-next-line @typescript-eslint/triple-slash-reference +// oxlint-disable-next-line typescript/triple-slash-reference /// export * from './consts.js'; export { GRID_GAP_MAX, GRID_GAP_MIN } from './consts.js'; diff --git a/blocksuite/affine/blocks/surface/src/tool/default-tool.ts b/blocksuite/affine/blocks/surface/src/tool/default-tool.ts index 91126a00df..25d2729641 100644 --- a/blocksuite/affine/blocks/surface/src/tool/default-tool.ts +++ b/blocksuite/affine/blocks/surface/src/tool/default-tool.ts @@ -281,7 +281,7 @@ export class DefaultTool extends BaseTool { } } - // oxlint-disable-next-line @typescript-eslint/no-misused-promises + // oxlint-disable-next-line typescript/no-misused-promises override async dragStart(e: PointerEventState) { const { preventDefaultState, handledByView } = this.interactivity?.dispatchEvent('dragstart', e) ?? {}; diff --git a/blocksuite/affine/blocks/surface/src/utils/a-star.ts b/blocksuite/affine/blocks/surface/src/utils/a-star.ts index e74fe9e11d..de4b94224b 100644 --- a/blocksuite/affine/blocks/surface/src/utils/a-star.ts +++ b/blocksuite/affine/blocks/surface/src/utils/a-star.ts @@ -153,7 +153,7 @@ export class AStarRunner { } const neighbors = this._neighbors(current); - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < neighbors.length; i++) { const next = neighbors[i]; const curCosts = this._costSoFar.get(current); diff --git a/blocksuite/affine/blocks/table/src/table-block.ts b/blocksuite/affine/blocks/table/src/table-block.ts index eae7d3cddd..f6c1619b8b 100644 --- a/blocksuite/affine/blocks/table/src/table-block.ts +++ b/blocksuite/affine/blocks/table/src/table-block.ts @@ -268,12 +268,14 @@ export class TableBlockComponent extends CaptionedBlockComponent - ${IS_MOBILE || this.dataManager.readonly$.value - ? nothing - : html``} + ${ + IS_MOBILE || this.dataManager.readonly$.value + ? nothing + : html`` + } ${html` menu.action({ prefix: html`
${TextBackgroundDuotoneIcon}
`, @@ -264,9 +264,9 @@ export class TableCell extends SignalWatcher( ].map(item => menu.action({ prefix: html`
${TextBackgroundDuotoneIcon}
`, @@ -376,9 +376,9 @@ export class TableCell extends SignalWatcher( items: [{ name: 'Default', color: undefined }, ...colorList].map(item => menu.action({ prefix: html`
${TextBackgroundDuotoneIcon}
`, @@ -418,7 +418,7 @@ export class TableCell extends SignalWatcher( name: 'Paste', prefix: PasteIcon(), select: () => { - // oxlint-disable-next-line @typescript-eslint/no-floating-promises + // oxlint-disable-next-line typescript/no-floating-promises navigator.clipboard.readText().then(text => { this.selectionController.doPaste(text, selected); }); @@ -501,12 +501,16 @@ export class TableCell extends SignalWatcher( return nothing; } return html` - ${this.rowIndex === 0 - ? this.renderColumnOptions(this.column, this.columnIndex) - : nothing} - ${this.columnIndex === 0 - ? this.renderRowOptions(this.row, this.rowIndex) - : nothing} + ${ + this.rowIndex === 0 + ? this.renderColumnOptions(this.column, this.columnIndex) + : nothing + } + ${ + this.columnIndex === 0 + ? this.renderRowOptions(this.row, this.rowIndex) + : nothing + } `; } diff --git a/blocksuite/affine/components/src/caption/captioned-block-component.ts b/blocksuite/affine/components/src/caption/captioned-block-component.ts index 3f84b4f000..6f06363d22 100644 --- a/blocksuite/affine/components/src/caption/captioned-block-component.ts +++ b/blocksuite/affine/components/src/caption/captioned-block-component.ts @@ -53,19 +53,25 @@ export class CaptionedBlockComponent< })} > ${content} - ${this.useCaptionEditor - ? html`` - : nothing} - ${this.selectedStyle === SelectedStyle.Background - ? html`` - : null} - ${this.useZeroWidth && !this.store.readonly - ? html`` - : nothing} + ${ + this.useCaptionEditor + ? html`` + : nothing + } + ${ + this.selectedStyle === SelectedStyle.Background + ? html`` + : null + } + ${ + this.useZeroWidth && !this.store.readonly + ? html`` + : nothing + }
`; } diff --git a/blocksuite/affine/components/src/citation/citation.ts b/blocksuite/affine/components/src/citation/citation.ts index 0595f63b92..ebdb4f65b7 100644 --- a/blocksuite/affine/components/src/citation/citation.ts +++ b/blocksuite/affine/components/src/citation/citation.ts @@ -126,19 +126,23 @@ export class CitationCard extends SignalWatcher(WithDisposable(LitElement)) { @dblclick=${this.onDoubleClickCallback} >
- ${this.icon - ? html`
- ${this._IconTemplate(this.icon)} -
` - : nothing} + ${ + this.icon + ? html`
+ ${this._IconTemplate(this.icon)} +
` + : nothing + }
${this.citationTitle}
${this.citationIdentifier}
- ${this.citationContent - ? html`
${this.citationContent}
` - : nothing} + ${ + this.citationContent + ? html`
${this.citationContent}
` + : nothing + }
`; } diff --git a/blocksuite/affine/components/src/context-menu/button.ts b/blocksuite/affine/components/src/context-menu/button.ts index f0342c9fae..434ca25ec6 100644 --- a/blocksuite/affine/components/src/context-menu/button.ts +++ b/blocksuite/affine/components/src/context-menu/button.ts @@ -250,9 +250,11 @@ export const menuButtonItems = { } const data: MenuButtonData = { content: () => html` - ${config.checked.value - ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) - : CheckBoxUnIcon()} + ${ + config.checked.value + ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) + : CheckBoxUnIcon() + }
${config.label?.() ?? config.name}
diff --git a/blocksuite/affine/components/src/context-menu/group.ts b/blocksuite/affine/components/src/context-menu/group.ts index 0fe472c01d..9c7f111b87 100644 --- a/blocksuite/affine/components/src/context-menu/group.ts +++ b/blocksuite/affine/components/src/context-menu/group.ts @@ -24,11 +24,13 @@ export const menuGroupItems = { ${items}
`; } - const result: TemplateResult = html` ${index === 0 - ? '' - : html`
`} + const result: TemplateResult = html` ${ + index === 0 + ? '' + : html`
` + }
${items}
`; return result; }, diff --git a/blocksuite/affine/components/src/context-menu/menu-renderer.ts b/blocksuite/affine/components/src/context-menu/menu-renderer.ts index de4ffbffe3..e49d090491 100644 --- a/blocksuite/affine/components/src/context-menu/menu-renderer.ts +++ b/blocksuite/affine/components/src/context-menu/menu-renderer.ts @@ -165,9 +165,11 @@ export class MenuComponent return html` ${this.renderTitle()} ${this.renderSearch()}
- ${result.length === 0 && this.menu.enableSearch - ? html`
No Results
` - : ''} + ${ + result.length === 0 && this.menu.enableSearch + ? html`
No Results
` + : '' + } ${result}
`; @@ -213,35 +215,39 @@ export class MenuComponent style="display:flex;align-items:center;gap: 4px;padding:3px 4px 3px 2px" @mouseenter="${() => this.menu.closeSubMenu()}" > - ${title.onBack - ? html`
- ${ArrowLeftBigIcon()} -
` - : nothing} + ${ + title.onBack + ? html`
+ ${ArrowLeftBigIcon()} +
` + : nothing + }
${title.text}
${title.postfix?.()} - ${title.onClose - ? html`
- ${CloseIcon()} -
` - : nothing} + ${ + title.onClose + ? html`
+ ${CloseIcon()} +
` + : nothing + }
`; } @@ -323,21 +329,23 @@ export class MobileMenuComponent @mouseenter="${() => this.menu.closeSubMenu()}" >
- ${title?.onBack - ? html`
{ + title.onBack?.(this.menu); + this.menu.close(); + }}" + style=" display:flex; font-size: 24px; align-items:center; " - > - ${ArrowLeftSmallIcon()} -
` - : nothing} + > + ${ArrowLeftSmallIcon()} +
` + : nothing + }
- -
` - : nothing}`; + ${ + this.onClear + ? html`` + : nothing + }`; } /** Week header */ diff --git a/blocksuite/affine/components/src/icons/loading.ts b/blocksuite/affine/components/src/icons/loading.ts index 5b31a629bb..f542a3325b 100644 --- a/blocksuite/affine/components/src/icons/loading.ts +++ b/blocksuite/affine/components/src/icons/loading.ts @@ -40,9 +40,8 @@ export const LoadingIcon = ({ stroke="${strokeColor}" stroke-width="4" stroke-linecap="round" - stroke-dasharray="${2 * Math.PI * 8 * progress} ${2 * - Math.PI * - 8 * - (1 - progress)}" + stroke-dasharray="${2 * Math.PI * 8 * progress} ${ + 2 * Math.PI * 8 * (1 - progress) + }" /> `; diff --git a/blocksuite/affine/components/src/peek/type.ts b/blocksuite/affine/components/src/peek/type.ts index 7effc773a3..019d009c89 100644 --- a/blocksuite/affine/components/src/peek/type.ts +++ b/blocksuite/affine/components/src/peek/type.ts @@ -40,7 +40,7 @@ export interface PeekViewService { * @returns A promise that resolves when the peek view is closed. */ peek( - // oxlint-disable-next-line @typescript-eslint/unified-signatures + // oxlint-disable-next-line typescript/unified-signatures element: { target: HTMLElement; template?: TemplateResult }, options?: PeekOptions ): Promise; diff --git a/blocksuite/affine/components/src/size-dropdown-menu/dropdown-menu.ts b/blocksuite/affine/components/src/size-dropdown-menu/dropdown-menu.ts index f5d34e4f5a..b087acd23d 100644 --- a/blocksuite/affine/components/src/size-dropdown-menu/dropdown-menu.ts +++ b/blocksuite/affine/components/src/size-dropdown-menu/dropdown-menu.ts @@ -161,8 +161,9 @@ export class SizeDropdownMenu extends SignalWatcher( .labelHeight="${'20px'}" .iconContainerWidth="${icon ? 'unset' : '65px'}" > - ${icon ?? - html`${format?.(size) ?? size}`} + ${ + icon ?? html`${format?.(size) ?? size}` + } ${EditorChevronDown} `} diff --git a/blocksuite/affine/components/src/slider/slider.ts b/blocksuite/affine/components/src/slider/slider.ts index fed9865068..1bfe354b8a 100644 --- a/blocksuite/affine/components/src/slider/slider.ts +++ b/blocksuite/affine/components/src/slider/slider.ts @@ -151,9 +151,11 @@ export class Slider extends WithDisposable(LitElement) {
- ${this.tooltip - ? html`${this.tooltip}` - : nothing} + ${ + this.tooltip + ? html`${this.tooltip}` + : nothing + } `; } } diff --git a/blocksuite/affine/components/src/toolbar/utils.ts b/blocksuite/affine/components/src/toolbar/utils.ts index 647b21e057..75264b48de 100644 --- a/blocksuite/affine/components/src/toolbar/utils.ts +++ b/blocksuite/affine/components/src/toolbar/utils.ts @@ -83,9 +83,11 @@ export function renderActions( ?disabled=${item.disabled} @click=${item.action ? item.action : () => action?.(item)} > - ${item.icon}${item.label - ? html`${item.label}` - : nothing} + ${item.icon}${ + item.label + ? html`${item.label}` + : nothing + } ` ) diff --git a/blocksuite/affine/components/src/tooltip/tooltip.ts b/blocksuite/affine/components/src/tooltip/tooltip.ts index 929edc5f2d..9b6396bfef 100644 --- a/blocksuite/affine/components/src/tooltip/tooltip.ts +++ b/blocksuite/affine/components/src/tooltip/tooltip.ts @@ -237,13 +237,15 @@ export class Tooltip extends LitElement { ${unsafeCSS(this.style.cssText)} } - ${this.allowInteractive - ? css`` - : css` - :host { - pointer-events: none; - } - `} + ${ + this.allowInteractive + ? css`` + : css` + :host { + pointer-events: none; + } + ` + } ${this.tooltipStyle} `; diff --git a/blocksuite/affine/data-view/src/core/common/property-menu.ts b/blocksuite/affine/data-view/src/core/common/property-menu.ts index 8c1a65ff5a..8c02fd71e5 100644 --- a/blocksuite/affine/data-view/src/core/common/property-menu.ts +++ b/blocksuite/affine/data-view/src/core/common/property-menu.ts @@ -29,9 +29,11 @@ export const typeConfig = (property: Property) => { style="color: var(--affine-text-secondary-color);gap:4px;font-size: 14px;" > ${renderUniLit(property.icon)} - ${property.view.propertyMetas$.value.find( - v => v.type === property.type$.value - )?.config.name} + ${ + property.view.propertyMetas$.value.find( + v => v.type === property.type$.value + )?.config.name + } `, options: { title: { diff --git a/blocksuite/affine/data-view/src/core/component/tags/multi-tag-select.ts b/blocksuite/affine/data-view/src/core/component/tags/multi-tag-select.ts index 9947b9626b..d54a8e07ea 100644 --- a/blocksuite/affine/data-view/src/core/component/tags/multi-tag-select.ts +++ b/blocksuite/affine/data-view/src/core/component/tags/multi-tag-select.ts @@ -361,11 +361,13 @@ export class MultiTagSelect extends SignalWatcher( }); return html`
${name}
- ${onDelete - ? html`
- ${CloseIcon()} -
` - : nothing} + ${ + onDelete + ? html`
+ ${CloseIcon()} +
` + : nothing + }
`; } @@ -402,27 +404,31 @@ export class MultiTagSelect extends SignalWatcher( @click="${select.select}" >
- ${select.isCreate - ? html`
- Create -
` - : html` -
- `} + ${ + select.isCreate + ? html`
+ Create +
` + : html` +
+ ` + } ${this.renderTag(select.value, select.color)}
- ${!select.isCreate - ? html`
- ${MoreHorizontalIcon()} -
` - : null} + ${ + !select.isCreate + ? html`
+ ${MoreHorizontalIcon()} +
` + : null + } `; } @@ -586,9 +592,13 @@ const popMobileTagSelect = (target: PopupTarget, ops: TagSelectOptions) => { }); return html`
- ${option.isCreate - ? html`
Create
` - : ''} + ${ + option.isCreate + ? html`
+ Create +
` + : '' + }
${option.value}
diff --git a/blocksuite/affine/data-view/src/core/detail/detail.ts b/blocksuite/affine/data-view/src/core/detail/detail.ts index 35d100606f..654870f550 100644 --- a/blocksuite/affine/data-view/src/core/detail/detail.ts +++ b/blocksuite/affine/data-view/src/core/detail/detail.ts @@ -256,15 +256,17 @@ export class RecordDetail extends SignalWatcher( ); } )} - ${!this.readonly - ? html`
-
${PlusIcon()}
- Add Property -
` - : nothing} + ${ + !this.readonly + ? html`
+
${PlusIcon()}
+ Add Property +
` + : nothing + }
${keyed(this.rowId, this.renderNote())} diff --git a/blocksuite/affine/data-view/src/core/group-by/group-title.ts b/blocksuite/affine/data-view/src/core/group-by/group-title.ts index 175980f6d5..77b47d5854 100644 --- a/blocksuite/affine/data-view/src/core/group-by/group-title.ts +++ b/blocksuite/affine/data-view/src/core/group-by/group-title.ts @@ -96,16 +96,18 @@ const GroupTitleMobile = ( ${icon} ${renderUniLit(groupData.view, props)} ${columnName} ${GroupHeaderCount(groupData)} - ${ops.readonly - ? nothing - : html`
-
- ${PlusIcon()} -
-
- ${MoreHorizontalIcon()} -
-
`} + ${ + ops.readonly + ? nothing + : html`
+
+ ${PlusIcon()} +
+
+ ${MoreHorizontalIcon()} +
+
` + } `; }; @@ -211,15 +213,17 @@ export const GroupTitle = ( ${icon} ${renderUniLit(groupData.view, props)} ${columnName} ${GroupHeaderCount(groupData)} - ${ops.readonly - ? nothing - : html`
-
- ${PlusIcon()} -
-
- ${MoreHorizontalIcon()} -
-
`} + ${ + ops.readonly + ? nothing + : html`
+
+ ${PlusIcon()} +
+
+ ${MoreHorizontalIcon()} +
+
` + } `; }; diff --git a/blocksuite/affine/data-view/src/core/group-by/renderer/boolean-group.ts b/blocksuite/affine/data-view/src/core/group-by/renderer/boolean-group.ts index be03adc570..0b18536f2a 100644 --- a/blocksuite/affine/data-view/src/core/group-by/renderer/boolean-group.ts +++ b/blocksuite/affine/data-view/src/core/group-by/renderer/boolean-group.ts @@ -25,9 +25,11 @@ export class BooleanGroupView extends BaseGroup> { } return html`
- ${this.value - ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) - : CheckBoxUnIcon()} + ${ + this.value + ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) + : CheckBoxUnIcon() + }
`; } } diff --git a/blocksuite/affine/data-view/src/core/group-by/setting.ts b/blocksuite/affine/data-view/src/core/group-by/setting.ts index 524af08fa6..95714786af 100644 --- a/blocksuite/affine/data-view/src/core/group-by/setting.ts +++ b/blocksuite/affine/data-view/src/core/group-by/setting.ts @@ -224,9 +224,9 @@ export class GroupSetting extends SignalWatcher(
- menu.action({ - name: label, - label: () => { - const isSelected = - group.groupInfo$.value?.config.name === key; - return html`${label}`; - }, - isSelected: - group.groupInfo$.value?.config.name === key, - select: () => { - group.changeGroupMode(key); - return false; - }, - }) + : 'var(--affine-text-secondary-color)' + }" + >${label}`; + }, + isSelected: + group.groupInfo$.value?.config.name === key, + select: () => { + group.changeGroupMode(key); + return false; + }, + }) ) ), ], @@ -417,10 +418,12 @@ export const buildGroupSettingItems = (
- ${group.groupInfo$.value?.config.name === - 'date-week-mon' - ? 'Monday' - : 'Sunday'} + ${ + group.groupInfo$.value?.config.name === + 'date-week-mon' + ? 'Monday' + : 'Sunday' + }
`, options: { @@ -439,9 +442,11 @@ export const buildGroupSettingItems = ( group.groupInfo$.value?.config.name === key; return html`${label}`; }, @@ -485,9 +490,11 @@ export const buildGroupSettingItems = ( label: () => { const isSelected = group.sortAsc$.value; return html`Oldest first`; }, @@ -502,9 +509,11 @@ export const buildGroupSettingItems = ( label: () => { const isSelected = !group.sortAsc$.value; return html`Newest first`; }, diff --git a/blocksuite/affine/data-view/src/property-presets/progress/cell-renderer.ts b/blocksuite/affine/data-view/src/property-presets/progress/cell-renderer.ts index e54d8f1ba0..836c69725b 100644 --- a/blocksuite/affine/data-view/src/property-presets/progress/cell-renderer.ts +++ b/blocksuite/affine/data-view/src/property-presets/progress/cell-renderer.ts @@ -131,15 +131,17 @@ export class ProgressCell extends BaseCellRenderer { style=${bgStyles} >
- ${this.isEditing$.value - ? html`
` - : ''} + ${ + this.isEditing$.value + ? html`
` + : '' + }
${DateTimeIcon()} ${formatEntryTime(entry)} - ${entry.location - ? html`
- ${PinIcon()} - ${entry.location} -
` - : ''} - ${entry.description - ? html`
- ${TextIcon()} - ${entry.description} -
` - : ''} + ${ + entry.location + ? html`
+ ${PinIcon()} + ${entry.location} +
` + : '' + } + ${ + entry.description + ? html`
+ ${TextIcon()} + ${entry.description} +
` + : '' + } `, ], diff --git a/blocksuite/affine/data-view/src/view-presets/calendar/pc/view.ts b/blocksuite/affine/data-view/src/view-presets/calendar/pc/view.ts index f193dc5179..90916c667d 100644 --- a/blocksuite/affine/data-view/src/view-presets/calendar/pc/view.ts +++ b/blocksuite/affine/data-view/src/view-presets/calendar/pc/view.ts @@ -416,10 +416,12 @@ export class CalendarViewUILogic extends DataViewUILogicBase postfix: html`
- ${this.view.startDateMapping$.value.status === 'ready' - ? this.view.propertyGetOrCreate(selectedStart ?? '').name$ - .value - : ''} + ${ + this.view.startDateMapping$.value.status === 'ready' + ? this.view.propertyGetOrCreate(selectedStart ?? '').name$ + .value + : '' + }
${ArrowRightSmallIcon()}`, select: () => { @@ -448,9 +450,11 @@ export class CalendarViewUILogic extends DataViewUILogicBase postfix: html`
- ${selectedEnd - ? this.view.propertyGetOrCreate(selectedEnd).name$.value - : 'None'} + ${ + selectedEnd + ? this.view.propertyGetOrCreate(selectedEnd).name$.value + : 'None' + }
${ArrowRightSmallIcon()}`, select: () => { @@ -726,10 +730,9 @@ export class CalendarViewUI extends DataViewUIBase { return html`
this.logic.bindEntryDraggable(dndKey, entry, element))} - class="calendar-entry ${entry.kind} ${segmentClass} ${this.logic - .selectedEntryId === entry.id - ? 'selected' - : ''}" + class="calendar-entry ${entry.kind} ${segmentClass} ${ + this.logic.selectedEntryId === entry.id ? 'selected' : '' + }" role="button" tabindex="0" aria-label=${entry.title || 'Untitled'} @@ -744,31 +747,37 @@ export class CalendarViewUI extends DataViewUIBase { this.logic.handleEntryKeydown(entry, event); }} > - ${showLeftHandle - ? html` - this.logic.startResize(entry, 'start', event)} - >` - : nothing} + ${ + showLeftHandle + ? html` + this.logic.startResize(entry, 'start', event)} + >` + : nothing + } ${this.renderEntryTitle(entry)} - ${entry.kind === 'row' && entry.cardProperties.length - ? html` - ${entry.cardProperties.map( - property => - html`${property.value}` - )} - ` - : nothing} - ${showRightHandle - ? html` - this.logic.startResize(entry, 'end', event)} - >` - : nothing} + ${ + entry.kind === 'row' && entry.cardProperties.length + ? html` + ${entry.cardProperties.map( + property => + html`${property.value}` + )} + ` + : nothing + } + ${ + showRightHandle + ? html` + this.logic.startResize(entry, 'end', event)} + >` + : nothing + }
`; } @@ -785,16 +794,18 @@ export class CalendarViewUI extends DataViewUIBase { ${entry.titleSegments.map( segment => html` ${segment.linkedDoc ? LinkedPageIcon() : nothing} - ${segment.text - ? html`${segment.text}` - : nothing} + ${ + segment.text + ? html`${segment.text}` + : nothing + } ` )} `; @@ -895,11 +906,12 @@ export class CalendarViewUI extends DataViewUIBase { if (!preview) return nothing; return html`
${preview.title}
`; @@ -919,17 +931,19 @@ export class CalendarViewUI extends DataViewUIBase {
- ${this.logic.view.readonly$.value - ? nothing - : html``} + ${ + this.logic.view.readonly$.value + ? nothing + : html`` + }
- ${this.logic.isCurrentMonth() - ? nothing - : html``} + ${ + this.logic.isCurrentMonth() + ? nothing + : html`` + } ` - : nothing} + ${ + canReserveNewRow + ? html`` + : nothing + }
`; } @@ -1083,25 +1101,31 @@ export class CalendarViewUI extends DataViewUIBase { override render(): TemplateResult { const setup = this.logic.view.dateMapping$.value.status === 'setup'; return html` - ${this.logic.headerWidget - ? renderUniLit(this.logic.headerWidget, { - dataViewLogic: this.logic, - }) - : nothing} + ${ + this.logic.headerWidget + ? renderUniLit(this.logic.headerWidget, { + dataViewLogic: this.logic, + }) + : nothing + }
${this.renderCalendar(setup)}
- ${setup - ? html`
- -
` - : nothing} + ${ + setup + ? html`
+ +
` + : nothing + }
`; } diff --git a/blocksuite/affine/data-view/src/view-presets/kanban/mobile/group.ts b/blocksuite/affine/data-view/src/view-presets/kanban/mobile/group.ts index 0e349cde13..160715c5eb 100644 --- a/blocksuite/affine/data-view/src/view-presets/kanban/mobile/group.ts +++ b/blocksuite/affine/data-view/src/view-presets/kanban/mobile/group.ts @@ -121,16 +121,18 @@ export class MobileKanbanGroup extends SignalWatcher( `; } )} - ${this.view.readonly$.value - ? nothing - : html`
-
- ${AddCursorIcon()} -
- Add -
`} + ${ + this.view.readonly$.value + ? nothing + : html`
+
+ ${AddCursorIcon()} +
+ Add +
` + } `; } diff --git a/blocksuite/affine/data-view/src/view-presets/kanban/pc/group.ts b/blocksuite/affine/data-view/src/view-presets/kanban/pc/group.ts index a88d8950fa..0337805a5d 100644 --- a/blocksuite/affine/data-view/src/view-presets/kanban/pc/group.ts +++ b/blocksuite/affine/data-view/src/view-presets/kanban/pc/group.ts @@ -179,16 +179,18 @@ export class KanbanGroup extends SignalWatcher( `; } )} - ${this.view.readonly$.value - ? nothing - : html`
-
- ${AddCursorIcon()} -
- Add -
`} + ${ + this.view.readonly$.value + ? nothing + : html`
+
+ ${AddCursorIcon()} +
+ Add +
` + } `; } diff --git a/blocksuite/affine/data-view/src/view-presets/table/mobile/group.ts b/blocksuite/affine/data-view/src/view-presets/table/mobile/group.ts index 9760fbc8c0..9f0db831fa 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/mobile/group.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/mobile/group.ts @@ -148,9 +148,9 @@ export class MobileTableGroup extends SignalWatcher( class=${`group-toggle-btn ${this.collapsed$.value ? '' : 'expanded'}`} role="button" aria-expanded=${this.collapsed$.value ? 'false' : 'true'} - aria-label=${this.collapsed$.value - ? 'Expand group' - : 'Collapse group'} + aria-label=${ + this.collapsed$.value ? 'Expand group' : 'Collapse group' + } tabindex="0" @click=${this._toggleCollapse} @keydown=${(e: KeyboardEvent) => { @@ -160,9 +160,11 @@ export class MobileTableGroup extends SignalWatcher( } }} > - ${this.collapsed$.value - ? ToggleRightIcon({ width: '16px', height: '16px' }) - : ToggleDownIcon({ width: '16px', height: '16px' })} + ${ + this.collapsed$.value + ? ToggleRightIcon({ width: '16px', height: '16px' }) + : ToggleDownIcon({ width: '16px', height: '16px' }) + } ${GroupTitle(this.group, { @@ -198,20 +200,22 @@ export class MobileTableGroup extends SignalWatcher( } )} - ${this.view.readonly$.value - ? null - : html`
-
- ${PlusIcon()}New Record -
-
`} +
+ ${PlusIcon()}New Record +
+ ` + } `; } diff --git a/blocksuite/affine/data-view/src/view-presets/table/mobile/row.ts b/blocksuite/affine/data-view/src/view-presets/table/mobile/row.ts index 8dd3520647..26ffc1efbb 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/mobile/row.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/mobile/row.ts @@ -109,19 +109,23 @@ export class MobileTableRow extends SignalWatcher(
- ${!column.readonly$.value && - column.view.mainProperties$.value.titleColumn === column.id - ? html`
-
- ${CenterPeekIcon()} -
- ${!view.readonly$.value - ? html`
- ${MoreHorizontalIcon()} -
` - : nothing} -
` - : nothing} + ${ + !column.readonly$.value && + column.view.mainProperties$.value.titleColumn === column.id + ? html`
+
+ ${CenterPeekIcon()} +
+ ${ + !view.readonly$.value + ? html`
+ ${MoreHorizontalIcon()} +
` + : nothing + } +
` + : nothing + } `; } )} diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/bottom/group-footer.ts b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/bottom/group-footer.ts index 3eeff4fd73..d697c8692b 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/bottom/group-footer.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/bottom/group-footer.ts @@ -74,24 +74,26 @@ export class TableGroupFooter extends WithDisposable(ShadowlessElement) { override render() { return html` - ${this.tableViewManager.readonly$.value - ? null - : html` -
+ ${ + this.tableViewManager.readonly$.value + ? null + : html`
- ${PlusIcon()}New Record + ${PlusIcon()}New Record +
- - `} + ` + }
- ${!this.statsResult$.value - ? html`Calculate ${ArrowDownSmallIcon()}` - : html` - ${this.statsResult$.value.name} - ${this.statsResult$.value.value} - `} + ${ + !this.statsResult$.value + ? html`Calculate ${ArrowDownSmallIcon()}` + : html` + ${this.statsResult$.value.name} + ${this.statsResult$.value.value} + ` + }
`; } diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/group-title.ts b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/group-title.ts index 3bf8c5ccde..13cb396933 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/group-title.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/group-title.ts @@ -64,15 +64,17 @@ export const GroupTitle = ( ${icon} ${renderUniLit(view, props)} ${columnName} ${GroupHeaderCount(groupData)} - ${!ops.readonly - ? html`
-
- ${PlusIcon()} -
-
- ${MoreHorizontalIcon()} -
-
` - : nothing} + ${ + !ops.readonly + ? html`
+
+ ${PlusIcon()} +
+
+ ${MoreHorizontalIcon()} +
+
` + : nothing + } `; }; diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/header/single-column-header.ts b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/header/single-column-header.ts index 95135866ac..acb6a34cdf 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/header/single-column-header.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc-virtual/group/top/header/single-column-header.ts @@ -428,14 +428,16 @@ export class DatabaseHeaderColumn extends SignalWatcher( ${draggable(column.id)} ${droppable(column.id)} > - ${this.readonly - ? null - : html` `} + ${ + this.readonly + ? null + : html` ` + }
- ${this.rowSelected$.value - ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) - : CheckBoxUnIcon()} + ${ + this.rowSelected$.value + ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) + : CheckBoxUnIcon() + }
`; diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc/group.ts b/blocksuite/affine/data-view/src/view-presets/table/pc/group.ts index 982341696c..330708c6d7 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc/group.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc/group.ts @@ -206,9 +206,9 @@ export class TableGroup extends SignalWatcher( class=${`group-toggle-btn ${this.collapsed$.value ? '' : 'expanded'}`} role="button" aria-expanded=${this.collapsed$.value ? 'false' : 'true'} - aria-label=${this.collapsed$.value - ? 'Expand group' - : 'Collapse group'} + aria-label=${ + this.collapsed$.value ? 'Expand group' : 'Collapse group' + } tabindex="0" @click=${this._toggleCollapse} @keydown=${(e: KeyboardEvent) => { @@ -218,9 +218,11 @@ export class TableGroup extends SignalWatcher( } }} > - ${this.collapsed$.value - ? ToggleRightIcon({ width: '16px', height: '16px' }) - : ToggleDownIcon({ width: '16px', height: '16px' })} + ${ + this.collapsed$.value + ? ToggleRightIcon({ width: '16px', height: '16px' }) + : ToggleDownIcon({ width: '16px', height: '16px' }) + }
${GroupTitle(this.group, { @@ -344,20 +346,22 @@ export class TableGroup extends SignalWatcher( } )} - ${this.view.readonly$.value - ? null - : html`
-
- ${PlusIcon()}New Record -
-
`} +
+ ${PlusIcon()}New Record +
+ ` + } - ${this.readonly - ? nothing - : html`
`} + ${ + this.readonly + ? nothing + : html`
` + } ${repeat( this.tableViewManager.properties$.value, column => column.id, diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc/header/database-header-column.ts b/blocksuite/affine/data-view/src/view-presets/table/pc/header/database-header-column.ts index abd85509ca..4ad45fb2f5 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc/header/database-header-column.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc/header/database-header-column.ts @@ -431,14 +431,16 @@ export class DatabaseHeaderColumn extends SignalWatcher( ${draggable(column.id)} ${droppable(column.id)} > - ${this.readonly - ? null - : html` `} + ${ + this.readonly + ? null + : html` ` + }
- ${this.isSelected$.value - ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) - : CheckBoxUnIcon()} + ${ + this.isSelected$.value + ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` }) + : CheckBoxUnIcon() + }
`; } diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc/row/row.ts b/blocksuite/affine/data-view/src/view-presets/table/pc/row/row.ts index 903998f4eb..8ed5109fa5 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc/row/row.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc/row/row.ts @@ -177,28 +177,30 @@ export class TableRowView extends SignalWatcher( protected override render(): unknown { const view = this.view; return html` - ${view.readonly$.value - ? nothing - : html`
-
-
+ ${ + view.readonly$.value + ? nothing + : html`
+
+
+ >
+
+
- -
-
`} +
` + } ${repeat( view.properties$.value, v => v.id, @@ -265,19 +267,23 @@ export class TableRowView extends SignalWatcher(
- ${!column.readonly$.value && - column.view.mainProperties$.value.titleColumn === column.id - ? html`
-
- ${CenterPeekIcon()} -
- ${!view.readonly$.value - ? html`
- ${MoreHorizontalIcon()} -
` - : nothing} -
` - : nothing} + ${ + !column.readonly$.value && + column.view.mainProperties$.value.titleColumn === column.id + ? html`
+
+ ${CenterPeekIcon()} +
+ ${ + !view.readonly$.value + ? html`
+ ${MoreHorizontalIcon()} +
` + : nothing + } +
` + : nothing + } `; } )} diff --git a/blocksuite/affine/data-view/src/view-presets/table/pc/table-view-ui-logic.ts b/blocksuite/affine/data-view/src/view-presets/table/pc/table-view-ui-logic.ts index fe186de2ee..33ec16f50c 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/pc/table-view-ui-logic.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/pc/table-view-ui-logic.ts @@ -191,11 +191,13 @@ export class TableViewUI extends DataViewUIBase { paddingRight: `${vPadding}px`, }); return html` - ${this.logic.headerWidget - ? renderUniLit(this.logic.headerWidget, { - dataViewLogic: this.logic, - }) - : ''} + ${ + this.logic.headerWidget + ? renderUniLit(this.logic.headerWidget, { + dataViewLogic: this.logic, + }) + : '' + }
{ class="affine-database-table-container" style="${containerStyle}" > - ${this.logic.view.groupTrait.allHidden$.value - ? html`
- All groups are hidden -
` - : this.renderTable()} + ${ + this.logic.view.groupTrait.allHidden$.value + ? html`
+ All groups are hidden +
` + : this.renderTable() + }
diff --git a/blocksuite/affine/data-view/src/view-presets/table/stats/column-stats-column.ts b/blocksuite/affine/data-view/src/view-presets/table/stats/column-stats-column.ts index 5914e537ee..9b53f39f7c 100644 --- a/blocksuite/affine/data-view/src/view-presets/table/stats/column-stats-column.ts +++ b/blocksuite/affine/data-view/src/view-presets/table/stats/column-stats-column.ts @@ -225,12 +225,14 @@ export class DatabaseColumnStatsCell extends SignalWatcher( class="stats-cell" >
- ${!this.statsResult$.value - ? html`Calculate ${ArrowDownSmallIcon()}` - : html` - ${this.statsResult$.value.name} - ${this.statsResult$.value.value} - `} + ${ + !this.statsResult$.value + ? html`Calculate ${ArrowDownSmallIcon()}` + : html` + ${this.statsResult$.value.name} + ${this.statsResult$.value.value} + ` + }
`; } diff --git a/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/filter/group-panel-view.ts b/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/filter/group-panel-view.ts index cf99e27f61..47d1643404 100644 --- a/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/filter/group-panel-view.ts +++ b/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/filter/group-panel-view.ts @@ -374,25 +374,27 @@ export class FilterGroupView extends SignalWatcher(ShadowlessElement) {
- ${filter.type === 'filter' - ? html` - - ` - : html` - - `} + ${ + filter.type === 'filter' + ? html` + + ` + : html` + + ` + }
${MoreHorizontalIcon()}
diff --git a/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/index.ts b/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/index.ts index 53aa76b9bd..50b5e00058 100644 --- a/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/index.ts +++ b/blocksuite/affine/data-view/src/widget-presets/quick-setting-bar/index.ts @@ -37,13 +37,15 @@ export const widgetQuickSettingBar = defineUniComponent( > ${barList.map((bar, index) => { return html` - ${index !== 0 - ? html`
` - : nothing} + ${ + index !== 0 + ? html`
` + : nothing + } ${bar} `; })} diff --git a/blocksuite/affine/data-view/src/widget-presets/tools/presets/table-add-row/add-row.ts b/blocksuite/affine/data-view/src/widget-presets/tools/presets/table-add-row/add-row.ts index 4aa8d60315..8a8d47b422 100644 --- a/blocksuite/affine/data-view/src/widget-presets/tools/presets/table-add-row/add-row.ts +++ b/blocksuite/affine/data-view/src/widget-presets/tools/presets/table-add-row/add-row.ts @@ -36,9 +36,11 @@ export class DataViewHeaderToolsAddRow extends WidgetBase { class="affine-database-toolbar-item new-record" .onClick="${this.onAddNewRecord}" .icon="${PlusIcon()}" - .text="${IS_MOBILE - ? html`New` - : html`New Record`}" + .text="${ + IS_MOBILE + ? html`New` + : html`New Record` + }" > `; } diff --git a/blocksuite/affine/data-view/src/widget-presets/tools/presets/view-options/view-options.ts b/blocksuite/affine/data-view/src/widget-presets/tools/presets/view-options/view-options.ts index c0eba517e3..b515746f0c 100644 --- a/blocksuite/affine/data-view/src/widget-presets/tools/presets/view-options/view-options.ts +++ b/blocksuite/affine/data-view/src/widget-presets/tools/presets/view-options/view-options.ts @@ -440,11 +440,13 @@ export const popViewOptions = ( closeOnSelect: false, postfix: html`
- ${filterCount === 0 - ? '' - : filterCount === 1 - ? '1 active' - : `${filterCount} active`} + ${ + filterCount === 0 + ? '' + : filterCount === 1 + ? '1 active' + : `${filterCount} active` + }
${ArrowRightSmallIcon()} `, @@ -466,11 +468,13 @@ export const popViewOptions = ( closeOnSelect: false, postfix: html`
- ${sortCount === 0 - ? '' - : sortCount === 1 - ? '1 active' - : `${sortCount} active`} + ${ + sortCount === 0 + ? '' + : sortCount === 1 + ? '1 active' + : `${sortCount} active` + }
${ArrowRightSmallIcon()} `, diff --git a/blocksuite/affine/ext-loader/README.md b/blocksuite/affine/ext-loader/README.md index 940d21eb78..1a3153ceda 100644 --- a/blocksuite/affine/ext-loader/README.md +++ b/blocksuite/affine/ext-loader/README.md @@ -11,7 +11,10 @@ import { BaseExtensionProvider } from '@blocksuite/affine-ext-loader'; import { z } from 'zod'; // Create a custom provider with options -class MyProvider extends BaseExtensionProvider<'my-scope', { enabled: boolean }> { +class MyProvider extends BaseExtensionProvider< + 'my-scope', + { enabled: boolean } +> { name = 'MyProvider'; schema = z.object({ @@ -28,7 +31,10 @@ class MyProvider extends BaseExtensionProvider<'my-scope', { enabled: boolean }> ### Store Extensions ```typescript -import { StoreExtensionProvider, StoreExtensionManager } from '@blocksuite/affine-ext-loader'; +import { + StoreExtensionProvider, + StoreExtensionManager, +} from '@blocksuite/affine-ext-loader'; import { z } from 'zod'; // Create a store provider with custom options @@ -39,7 +45,10 @@ class MyStoreProvider extends StoreExtensionProvider<{ cacheSize: number }> { cacheSize: z.number().min(0), }); - override setup(context: StoreExtensionContext, options?: { cacheSize: number }) { + override setup( + context: StoreExtensionContext, + options?: { cacheSize: number } + ) { super.setup(context, options); context.register([Ext1, Ext2, Ext3]); } @@ -54,7 +63,10 @@ const extensions = manager.get('store'); ### View Extensions ```typescript -import { ViewExtensionProvider, ViewExtensionManager } from '@blocksuite/affine-ext-loader'; +import { + ViewExtensionProvider, + ViewExtensionManager, +} from '@blocksuite/affine-ext-loader'; import { z } from 'zod'; // Create a view provider with custom options diff --git a/blocksuite/affine/fragments/adapter-panel/src/body/adapter-panel-body.ts b/blocksuite/affine/fragments/adapter-panel/src/body/adapter-panel-body.ts index 3d1302d6ff..51f6fe9d8a 100644 --- a/blocksuite/affine/fragments/adapter-panel/src/body/adapter-panel-body.ts +++ b/blocksuite/affine/fragments/adapter-panel/src/body/adapter-panel-body.ts @@ -134,13 +134,15 @@ export class AdapterPanelBody extends SignalWatcher(LitElement) { private _renderHtmlPanel() { return html` - ${this.isHtmlPreview - ? html`` - : html`
${this.htmlContent}
`} + ${ + this.isHtmlPreview + ? html`` + : html`
${this.htmlContent}
` + } `; diff --git a/blocksuite/affine/fragments/frame-panel/src/header/frame-panel-header.ts b/blocksuite/affine/fragments/frame-panel/src/header/frame-panel-header.ts index acdd7eb855..ec1b735e91 100644 --- a/blocksuite/affine/fragments/frame-panel/src/header/frame-panel-header.ts +++ b/blocksuite/affine/fragments/frame-panel/src/header/frame-panel-header.ts @@ -191,9 +191,9 @@ export class FramePanelHeader extends WithDisposable(LitElement) {
All frames ${previewText} - ${this._context.showIcons$.value - ? html`${previewIconMap[block.props.type]}` - : nothing}`; + ${ + this._context.showIcons$.value + ? html`${previewIconMap[block.props.type]}` + : nothing + }`; } override render() { @@ -148,15 +150,17 @@ export class OutlineBlockPreview extends SignalWatcher( assertType(block); return html` ${block.props.title || - block.props.url || - placeholderMap['bookmark']}${ + block.props.title || block.props.url || placeholderMap['bookmark'] + } - ${showPreviewIcon - ? html`${previewIconMap['bookmark']}` - : nothing} + ${ + showPreviewIcon + ? html`${previewIconMap['bookmark']}` + : nothing + } `; case 'affine:code': assertType(block); @@ -164,47 +168,61 @@ export class OutlineBlockPreview extends SignalWatcher( ${block.props.language ?? placeholderMap['code']} - ${showPreviewIcon - ? html`${previewIconMap['code']}` - : nothing} + ${ + showPreviewIcon + ? html`${previewIconMap['code']}` + : nothing + } `; case 'affine:database': assertType(block); return html` ${block.props.title.toString().length - ? block.props.title.toString() - : placeholderMap['database']}${ + block.props.title.toString().length + ? block.props.title.toString() + : placeholderMap['database'] + } - ${showPreviewIcon - ? html`${previewIconMap['table']}` - : nothing} + ${ + showPreviewIcon + ? html`${previewIconMap['table']}` + : nothing + } `; case 'affine:image': assertType(block); return html` ${block.props.caption?.length - ? block.props.caption - : placeholderMap['image']}${ + block.props.caption?.length + ? block.props.caption + : placeholderMap['image'] + } - ${showPreviewIcon - ? html`${previewIconMap['image']}` - : nothing} + ${ + showPreviewIcon + ? html`${previewIconMap['image']}` + : nothing + } `; case 'affine:attachment': assertType(block); return html` ${block.props.name?.length - ? block.props.name - : placeholderMap['attachment']}${ + block.props.name?.length + ? block.props.name + : placeholderMap['attachment'] + } - ${showPreviewIcon - ? html`${previewIconMap['attachment']}` - : nothing} + ${ + showPreviewIcon + ? html`${previewIconMap['attachment']}` + : nothing + } `; default: return nothing; diff --git a/blocksuite/affine/gfx/connector/src/connector-manager.ts b/blocksuite/affine/gfx/connector/src/connector-manager.ts index 574dca11da..6a189f6984 100644 --- a/blocksuite/affine/gfx/connector/src/connector-manager.ts +++ b/blocksuite/affine/gfx/connector/src/connector-manager.ts @@ -963,7 +963,7 @@ export class ConnectionOverlay extends Overlay { this._clearRect(); let result: Connection | null = null; - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < connectables.length; i++) { const connectable = connectables[i]; // first check if in excluedIds diff --git a/blocksuite/affine/gfx/connector/src/text/edgeless-connector-label-editor.ts b/blocksuite/affine/gfx/connector/src/text/edgeless-connector-label-editor.ts index b436e2f64d..316e5fc71e 100644 --- a/blocksuite/affine/gfx/connector/src/text/edgeless-connector-label-editor.ts +++ b/blocksuite/affine/gfx/connector/src/text/edgeless-connector-label-editor.ts @@ -357,22 +357,26 @@ export class EdgelessConnectorLabelEditor extends WithDisposable( - ${isEmpty - ? html` - - Add text - - ` - : nothing} + ${ + isEmpty + ? html` + + Add text + + ` + : nothing + }
`; } diff --git a/blocksuite/affine/gfx/connector/src/toolbar/connector-tool-button.ts b/blocksuite/affine/gfx/connector/src/toolbar/connector-tool-button.ts index 6b07969a79..7cf748420c 100644 --- a/blocksuite/affine/gfx/connector/src/toolbar/connector-tool-button.ts +++ b/blocksuite/affine/gfx/connector/src/toolbar/connector-tool-button.ts @@ -53,12 +53,14 @@ export class EdgelessConnectorToolButton extends QuickToolMixin( return html` `} + .tooltip=${ + this.popper + ? '' + : html`` + } .tooltipOffset=${17} .active=${active} .iconContainerPadding=${6} diff --git a/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-menu.ts b/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-menu.ts index e1cf5192f7..830d0f6d2b 100644 --- a/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-menu.ts +++ b/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-menu.ts @@ -278,14 +278,16 @@ export class EdgelessMindmapMenu extends EdgelessToolbarToolMixin( return html`
- ${isDraggingMedia - ? html`` - : nothing} + ${ + isDraggingMedia + ? html`` + : nothing + }
- ${isDraggingText - ? html`` - : nothing} + ${ + isDraggingText + ? html`` + : nothing + } ` - : nothing} + ${ + isBeingDragged + ? html`` + : nothing + }
`; })} - ${this.std.store - .get(FeatureFlagService) - .getFlag('enable_mind_map_import') - ? this._importMindMapEntry() - : nothing} + ${ + this.std.store + .get(FeatureFlagService) + .getFlag('enable_mind_map_import') + ? this._importMindMapEntry() + : nothing + }
`; } diff --git a/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-tool-button.ts b/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-tool-button.ts index faadc5716f..2a1cb83f69 100644 --- a/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-tool-button.ts +++ b/blocksuite/affine/gfx/mindmap/src/toolbar/mindmap-tool-button.ts @@ -374,18 +374,20 @@ export class EdgelessMindmapToolButton extends EdgelessToolbarToolMixin( pointerEvents: draggingElement ? 'none' : 'auto', }); - return html`${isBeingDragged - ? html`
- ${tool.icon} -
` - : nothing} + return html`${ + isBeingDragged + ? html`
+ ${tool.icon} +
` + : nothing + }
html`
`} + .tooltip=${ + this.popper + ? '' + : html`` + } .tooltipOffset=${5} >
`} + .tooltip=${ + this._noteMenu + ? '' + : html`` + } .tooltipOffset=${17} .active=${active} .iconContainerPadding=${6} diff --git a/blocksuite/affine/gfx/shape/src/components/shape-panel.ts b/blocksuite/affine/gfx/shape/src/components/shape-panel.ts index e18ef8578a..81b6e85058 100644 --- a/blocksuite/affine/gfx/shape/src/components/shape-panel.ts +++ b/blocksuite/affine/gfx/shape/src/components/shape-panel.ts @@ -47,9 +47,9 @@ export class EdgelessShapePanel extends LitElement { this._onSelect(name); }} > - ${this.shapeStyle === ShapeStyle.General - ? generalIcon - : scribbledIcon} + ${ + this.shapeStyle === ShapeStyle.General ? generalIcon : scribbledIcon + } ` ); } diff --git a/blocksuite/affine/gfx/shape/src/draggable/shape-draggable.ts b/blocksuite/affine/gfx/shape/src/draggable/shape-draggable.ts index ac539eaa61..933a67f73c 100644 --- a/blocksuite/affine/gfx/shape/src/draggable/shape-draggable.ts +++ b/blocksuite/affine/gfx/shape/src/draggable/shape-draggable.ts @@ -308,18 +308,20 @@ export class EdgelessToolbarShapeDraggable extends EdgelessToolbarToolMixin( opacity: isBeingDragged ? 0 : 1, }); const nextStyle = styleMap(baseStyle); - return html`${isBeingDragged - ? html`
- ${shape.svg} -
` - : nothing} + return html`${ + isBeingDragged + ? html`
+ ${shape.svg} +
` + : nothing + }
this.onChange(name)} > - ${shapeStyle === ShapeStyle.General - ? generalIcon - : scribbledIcon} + ${ + shapeStyle === ShapeStyle.General + ? generalIcon + : scribbledIcon + } `; } diff --git a/blocksuite/affine/gfx/shape/src/draggable/shape-tool-button.ts b/blocksuite/affine/gfx/shape/src/draggable/shape-tool-button.ts index 1e3442a1f6..15d38f71d6 100644 --- a/blocksuite/affine/gfx/shape/src/draggable/shape-tool-button.ts +++ b/blocksuite/affine/gfx/shape/src/draggable/shape-tool-button.ts @@ -67,12 +67,14 @@ export class EdgelessShapeToolButton extends EdgelessToolbarToolMixin( return html` `} + .tooltip=${ + this.popper + ? '' + : html`` + } .tooltipOffset=${5} .active=${active} > diff --git a/blocksuite/affine/gfx/shape/src/draggable/shape-tool-element.ts b/blocksuite/affine/gfx/shape/src/draggable/shape-tool-element.ts index 235d41e5fc..2ed864027d 100644 --- a/blocksuite/affine/gfx/shape/src/draggable/shape-tool-element.ts +++ b/blocksuite/affine/gfx/shape/src/draggable/shape-tool-element.ts @@ -258,11 +258,13 @@ export class EdgelessShapeToolElement extends WithDisposable(LitElement) { > ${this.shape.svg}
- ${this.order === 1 - ? html`
- ${this.shape.svg} -
` - : null} + ${ + this.order === 1 + ? html`
+ ${this.shape.svg} +
` + : null + } `; } diff --git a/blocksuite/affine/gfx/shape/src/text/edgeless-shape-text-editor.ts b/blocksuite/affine/gfx/shape/src/text/edgeless-shape-text-editor.ts index a7e9109d6e..144c7758bb 100644 --- a/blocksuite/affine/gfx/shape/src/text/edgeless-shape-text-editor.ts +++ b/blocksuite/affine/gfx/shape/src/text/edgeless-shape-text-editor.ts @@ -501,21 +501,23 @@ export class EdgelessShapeTextEditor extends WithDisposable(ShadowlessElement) { return html`
- ${content - ? html`
{ - const success = await copyText(content); - if (success) { - this._notifySuccess('Copied to clipboard'); - } - }} - data-testid="action-copy-button" - > - ${CopyIcon({ width: '20px', height: '20px' })} - Copy -
` - : nothing} - ${isLast - ? html`
this.retry()} - data-testid="action-retry-button" - > - ${ResetIcon({ width: '20px', height: '20px' })} - Retry -
` - : nothing} - ${showMoreIcon && host - ? html`
- ${MoreHorizontalIcon({ width: '20px', height: '20px' })} -
` - : nothing} + ${ + content + ? html`
{ + const success = await copyText(content); + if (success) { + this._notifySuccess('Copied to clipboard'); + } + }} + data-testid="action-copy-button" + > + ${CopyIcon({ width: '20px', height: '20px' })} + Copy +
` + : nothing + } + ${ + isLast + ? html`
this.retry()} + data-testid="action-retry-button" + > + ${ResetIcon({ width: '20px', height: '20px' })} + Retry +
` + : nothing + } + ${ + showMoreIcon && host + ? html`
+ ${MoreHorizontalIcon({ width: '20px', height: '20px' })} +
` + : nothing + }
- ${this._showMoreMenu && host - ? repeat( - actions.filter(action => action.showWhen(host)), - action => action.title, - action => { - const currentSelections = { - text: this._currentTextSelection, - blocks: this._currentBlockSelections, - }; - return html`
{ - const sessionId = this.session?.sessionId; - const success = await action.handler( - host, - content, - currentSelections, - sessionId, - messageId - ); + ${ + this._showMoreMenu && host + ? repeat( + actions.filter(action => action.showWhen(host)), + action => action.title, + action => { + const currentSelections = { + text: this._currentTextSelection, + blocks: this._currentBlockSelections, + }; + return html`
{ + const sessionId = this.session?.sessionId; + const success = await action.handler( + host, + content, + currentSelections, + sessionId, + messageId + ); - if (success) { - this._notifySuccess(action.toast); - } - }} - > - ${action.icon} -
${action.title}
-
`; - } - ) - : nothing} + if (success) { + this._notifySuccess(action.toast); + } + }} + > + ${action.icon} +
${action.title}
+
`; + } + ) + : nothing + }
`; } } diff --git a/packages/frontend/core/src/blocksuite/ai/components/playground/chat.ts b/packages/frontend/core/src/blocksuite/ai/components/playground/chat.ts index 302704960f..b43518a4f4 100644 --- a/packages/frontend/core/src/blocksuite/ai/components/playground/chat.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/playground/chat.ts @@ -331,11 +331,13 @@ export class PlaygroundChat extends SignalWatcher( return html`
- ${isSynchronizing - ? html`Synchronizing sources` - : 'AFFiNE AI'} + ${ + isSynchronizing + ? html`Synchronizing sources` + : 'AFFiNE AI' + }
${NewPageIcon()} diff --git a/packages/frontend/core/src/blocksuite/ai/components/playground/content.ts b/packages/frontend/core/src/blocksuite/ai/components/playground/content.ts index 886325c42c..91a83c5ad4 100644 --- a/packages/frontend/core/src/blocksuite/ai/components/playground/content.ts +++ b/packages/frontend/core/src/blocksuite/ai/components/playground/content.ts @@ -321,11 +321,11 @@ export class PlaygroundContent extends SignalWatcher( } }; - // oxlint-disable-next-line @typescript-eslint/no-misused-promises + // oxlint-disable-next-line typescript/no-misused-promises button.addEventListener('click', handleSendClick); this._disposables.add(() => { - // oxlint-disable-next-line @typescript-eslint/no-misused-promises + // oxlint-disable-next-line typescript/no-misused-promises button.removeEventListener('click', handleSendClick); }); } @@ -383,8 +383,9 @@ export class PlaygroundContent extends SignalWatcher( .notificationService=${this.notificationService} .aiToolsConfigService=${this.aiToolsConfigService} .aiModelService=${this.aiModelService} - .affineWorkspaceDialogService=${this - .affineWorkspaceDialogService} + .affineWorkspaceDialogService=${ + this.affineWorkspaceDialogService + } .subscriptionService=${this.subscriptionService} .addChat=${this.addChat} > diff --git a/packages/frontend/core/src/blocksuite/ai/messages/error.ts b/packages/frontend/core/src/blocksuite/ai/messages/error.ts index ecdc2af182..2440b888c9 100644 --- a/packages/frontend/core/src/blocksuite/ai/messages/error.ts +++ b/packages/frontend/core/src/blocksuite/ai/messages/error.ts @@ -128,46 +128,56 @@ export class AIErrorWrapper extends SignalWatcher(WithDisposable(LitElement)) {
${InformationIcon()}
${this.text}
- ${this.showDetailPanel - ? html`
-
- (this._showDetailContent.value = - !this._showDetailContent.value)} - > - Show detail - +
+ (this._showDetailContent.value = + !this._showDetailContent.value)} > - ${ToggleDownIcon({ width: '16px', height: '16px' })} - -
- ${this._showDetailContent.value - ? html`
${this.errorMessage}
` - : nothing} -
` - : nothing} + Show detail + + ${ToggleDownIcon({ width: '16px', height: '16px' })} + +
+ ${ + this._showDetailContent.value + ? html`
+ ${this.errorMessage} +
` + : nothing + } +
` + : nothing + }
- ${this.showAction - ? html`
- - ${this.actionText} - ${this.actionTooltip - ? html` - ${this.actionTooltip} - ` - : nothing} - -
` - : nothing} + ${ + this.showAction + ? html`
+ + ${this.actionText} + ${ + this.actionTooltip + ? html` + ${this.actionTooltip} + ` + : nothing + } + +
` + : nothing + }
`; } diff --git a/packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts b/packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts index 6f06b193e1..b595100709 100644 --- a/packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts +++ b/packages/frontend/core/src/blocksuite/ai/messages/wrapper.ts @@ -41,9 +41,9 @@ export class AIAnswerWrapper extends LitElement { protected override render() { return html` `; diff --git a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts index 079c730e42..ff3b1c67ef 100644 --- a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts +++ b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-preview.ts @@ -184,23 +184,25 @@ export class MiniMindmapPreview extends WithDisposable(LitElement) { }).render()}
- ${this.templateShow - ? html`
Select template
-
- ${repeat( - mindmapStyles, - ([style]) => style, - ([style, icon]) => { - return html`
this._switchStyle(style as MindmapStyle)} - > - ${icon} -
`; - } - )} -
` - : nothing} + ${ + this.templateShow + ? html`
Select template
+
+ ${repeat( + mindmapStyles, + ([style]) => style, + ([style, icon]) => { + return html`
this._switchStyle(style as MindmapStyle)} + > + ${icon} +
`; + } + )} +
` + : nothing + }
`; } diff --git a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts index aa14183aa4..0abf5d48a0 100644 --- a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts +++ b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/mindmap-service.ts @@ -5,7 +5,6 @@ import { Subject } from 'rxjs'; export class MindmapService extends BlockService { static override readonly flavour = RootBlockSchema.model.flavour; - // eslint-disable-next-line rxjs/finnish requestCenter = new Subject(); center() { diff --git a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts index 30ee7bb752..f4ee3de837 100644 --- a/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts +++ b/packages/frontend/core/src/blocksuite/ai/mini-mindmap/surface-block.ts @@ -1,4 +1,4 @@ -/* oxlint-disable @typescript-eslint/no-non-null-assertion */ +/* oxlint-disable typescript/no-non-null-assertion */ import { CanvasRenderer, type SurfaceBlockModel, diff --git a/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts index 8e18ec81d1..ce0874abc5 100644 --- a/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts +++ b/packages/frontend/core/src/blocksuite/ai/peek-view/chat-block-peek-view.ts @@ -433,29 +433,33 @@ export class AIChatBlockPeekView extends LitElement { .textRendererOptions=${this._textRendererOptions} > ${shouldRenderError ? AIChatErrorRenderer(error, host) : nothing} - ${shouldRenderCopyMore - ? html` this.retry()} - .notificationService=${notificationService} - >` - : nothing} - ${shouldRenderActions - ? html`` - : nothing} + ${ + shouldRenderCopyMore + ? html` this.retry()} + .notificationService=${notificationService} + >` + : nothing + } + ${ + shouldRenderActions + ? html`` + : nothing + }
`; } )}`; diff --git a/packages/frontend/core/src/blocksuite/ai/provider/ai-app-events.ts b/packages/frontend/core/src/blocksuite/ai/provider/ai-app-events.ts index 3d7895a39c..1ff4aef987 100644 --- a/packages/frontend/core/src/blocksuite/ai/provider/ai-app-events.ts +++ b/packages/frontend/core/src/blocksuite/ai/provider/ai-app-events.ts @@ -4,7 +4,6 @@ import { BehaviorSubject, Subject } from 'rxjs'; import type { AIChatParams, AISendParams, AIUserInfo } from './ai-provider'; export const AIAppEvents = { - /* eslint-disable rxjs/finnish */ requestOpenWithChat: new BehaviorSubject(null), requestSendWithChat: new BehaviorSubject(null), requestInsertTemplate: new Subject<{ @@ -15,5 +14,4 @@ export const AIAppEvents = { requestUpgradePlan: new Subject<{ host?: EditorHost | null }>(), userInfo: new BehaviorSubject(null), previewPanelOpenChange: new Subject(), - /* eslint-enable rxjs/finnish */ }; diff --git a/packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts b/packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts index 19093dcc58..f36884aec6 100644 --- a/packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts +++ b/packages/frontend/core/src/blocksuite/ai/tool/copilot-tool.ts @@ -1,4 +1,4 @@ -/* oxlint-disable @typescript-eslint/no-non-null-assertion */ +/* oxlint-disable typescript/no-non-null-assertion */ import { DefaultTool } from '@blocksuite/affine/blocks/surface'; import { IS_MAC } from '@blocksuite/affine/global/env'; import { @@ -25,7 +25,6 @@ export class CopilotTool extends BaseTool { private _dragging = false; - // eslint-disable-next-line rxjs/finnish draggingAreaUpdated = new Subject(); dragLastPoint: [number, number] = [0, 0]; diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts index 2c8b970c4b..1309e2540a 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/ai-panel.ts @@ -529,18 +529,22 @@ export class AffineAIPanelWidget extends WidgetComponent { [ 'generating', () => html` - ${this.answer - ? html` - - ${this.answer && - config.answerRenderer(this.answer, this.state)} - - ` - : nothing} + ${ + this.answer + ? html` + + ${ + this.answer && + config.answerRenderer(this.answer, this.state) + } + + ` + : nothing + } ${WarningIcon}
AI outputs can be misleading or wrong
- ${this.copy?.allowed - ? html`
- ${this.copied - ? html`
- ${AIDoneIcon} -
` - : html`
{ - this.copied = !!(await this.copy?.onCopy()); - if (this.copied) { - this.host.std - .getOptional(NotificationProvider) - ?.toast('Copied to clipboard'); - } - }} - > - ${CopyIcon} - Copy -
`} -
` - : nothing} + ${ + this.copy?.allowed + ? html`
+ ${ + this.copied + ? html`
+ ${AIDoneIcon} +
` + : html`
{ + this.copied = !!(await this.copy?.onCopy()); + if (this.copied) { + this.host.std + .getOptional(NotificationProvider) + ?.toast('Copied to clipboard'); + } + }} + > + ${CopyIcon} + Copy +
` + } +
` + : nothing + }
`; } diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts index 0d6a375af5..6a599bf8c6 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/generating-placeholder.ts @@ -93,9 +93,11 @@ export class GeneratingPlaceholder extends WithDisposable(LitElement) { height: ${this.height}px; } - ${this.showHeader - ? html`
Answer
` - : nothing} + ${ + this.showHeader + ? html`
Answer
` + : nothing + }
${LoadingIcon()}
diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts index b15886a9fe..a812a6badc 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/answer.ts @@ -90,48 +90,58 @@ export class AIPanelAnswer extends WithDisposable(LitElement) {
- ${this.finish - ? html` - - ${responseGroup.length > 0 - ? html` - - ${responseGroup.map( - (group, index) => html` - ${index !== 0 - ? html`` - : nothing} -
+ ${ + this.finish + ? html` + + ${ + responseGroup.length > 0 + ? html` + + ${responseGroup.map( + (group, index) => html` + ${ + index !== 0 + ? html`` + : nothing + } +
+ +
+ ` + )} + ` + : nothing + } + ${ + responseGroup.length > 0 && this.config.actions.length > 0 + ? html`` + : nothing + } + ${ + this.config.actions.length > 0 + ? html` +
` - )} - ` - : nothing} - ${responseGroup.length > 0 && this.config.actions.length > 0 - ? html`` - : nothing} - ${this.config.actions.length > 0 - ? html` -
- -
- ` - : nothing} - ` - : nothing} + : nothing + } + ` + : nothing + } `; } diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts index 84d0c27109..aa2b13a6e5 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/error.ts @@ -214,30 +214,36 @@ export class AIPanelError extends WithDisposable(LitElement) {
${errorTemplate} - ${this.withAnswer - ? html`` - : nothing} - ${responseGroup.length > 0 - ? html` - - ${responseGroup.map( - (group, index) => html` - ${index !== 0 - ? html`` - : nothing} -
- -
- ` - )} - ` - : nothing} + ${ + this.withAnswer + ? html`` + : nothing + } + ${ + responseGroup.length > 0 + ? html` + + ${responseGroup.map( + (group, index) => html` + ${ + index !== 0 + ? html`` + : nothing + } +
+ +
+ ` + )} + ` + : nothing + } `; } diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts index 26c08d4a13..f709ef27e4 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/generating.ts @@ -76,14 +76,16 @@ export class AIPanelGenerating extends WithDisposable(LitElement) { height = 300, } = this.config; return html` - ${stages && stages.length > 0 - ? html`` - : nothing} + ${ + stages && stages.length > 0 + ? html`` + : nothing + }
${generatingIcon}
AI is generating...
diff --git a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts index 6054eed676..1225ac628a 100644 --- a/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts +++ b/packages/frontend/core/src/blocksuite/ai/widgets/ai-panel/components/state/input.ts @@ -239,9 +239,11 @@ export class AIPanelInput extends SignalWatcher(WithDisposable(LitElement)) { @pointerdown=${stopPropagation} > ${SendIcon()} - ${this._hasContent - ? html`Send to AI` - : nothing} + ${ + this._hasContent + ? html`Send to AI` + : nothing + }
`; diff --git a/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx index 5dc83a3aee..c0113bba07 100644 --- a/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx +++ b/packages/frontend/core/src/blocksuite/block-suite-editor/blocksuite-editor.tsx @@ -280,7 +280,7 @@ const BlockSuiteEditorImpl = ({ export const BlockSuiteEditor = (props: EditorProps) => { const [isLoading, setIsLoading] = useState(true); const [longerLoading, setLongerLoading] = useState(false); - // eslint-disable-next-line react-hooks/purity + // oxlint-disable-next-line react-hooks-js/purity const [loadStartTime] = useState(Date.now()); const workspaceService = useService(WorkspaceService); diff --git a/packages/frontend/core/src/blocksuite/database-block/properties/file/view.tsx b/packages/frontend/core/src/blocksuite/database-block/properties/file/view.tsx index 55fba7b825..ac7e11618e 100644 --- a/packages/frontend/core/src/blocksuite/database-block/properties/file/view.tsx +++ b/packages/frontend/core/src/blocksuite/database-block/properties/file/view.tsx @@ -362,7 +362,7 @@ const FileCellComponent: ForwardRefRenderFunction< > = (props, ref): ReactNode => { const peekView = useService(PeekViewService); const manager = useMemo( - () => new FileCellManager(props, peekView), // eslint-disable-line react-hooks/preserve-manual-memoization + () => new FileCellManager(props, peekView), // oxlint-disable-line react-hooks-js/preserve-manual-memoization [] // oxlint-disable-line react/exhaustive-deps ); diff --git a/packages/frontend/core/src/blocksuite/database-block/properties/member/multi-member-select/index.tsx b/packages/frontend/core/src/blocksuite/database-block/properties/member/multi-member-select/index.tsx index 769554b4e0..45d6429aa3 100644 --- a/packages/frontend/core/src/blocksuite/database-block/properties/member/multi-member-select/index.tsx +++ b/packages/frontend/core/src/blocksuite/database-block/properties/member/multi-member-select/index.tsx @@ -261,7 +261,7 @@ export const MultiMemberSelect: React.FC = props => { const inputRef = useRef(null); const memberListRef = useRef(null); const memberManager = useMemo( - () => new MemberManager(props), // eslint-disable-line react-hooks/preserve-manual-memoization + () => new MemberManager(props), // oxlint-disable-line react-hooks-js/preserve-manual-memoization [] // oxlint-disable-line react/exhaustive-deps ); diff --git a/packages/frontend/core/src/blocksuite/database-block/properties/member/view.tsx b/packages/frontend/core/src/blocksuite/database-block/properties/member/view.tsx index c8a79e6180..ab883eac9d 100644 --- a/packages/frontend/core/src/blocksuite/database-block/properties/member/view.tsx +++ b/packages/frontend/core/src/blocksuite/database-block/properties/member/view.tsx @@ -70,7 +70,7 @@ const MemberCellComponent: ForwardRefRenderFunction< CellRenderProps<{}, MemberCellRawValueType, MemberCellJsonValueType> > = (props, ref): ReactNode => { const manager = useMemo( - () => new MemberManager(props), // eslint-disable-line react-hooks/preserve-manual-memoization + () => new MemberManager(props), // oxlint-disable-line react-hooks-js/preserve-manual-memoization [] // oxlint-disable-line react/exhaustive-deps ); diff --git a/packages/frontend/core/src/blocksuite/view-extensions/cloud/user-list.ts b/packages/frontend/core/src/blocksuite/view-extensions/cloud/user-list.ts index c200575c42..854cc02f27 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/cloud/user-list.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/cloud/user-list.ts @@ -3,19 +3,15 @@ import { UserListServiceExtension } from '@blocksuite/affine/shared/services'; export function patchUserListExtensions(memberSearch: MemberSearchService) { return UserListServiceExtension({ - // eslint-disable-next-line rxjs/finnish hasMore$: memberSearch.hasMore$.signal, loadMore() { memberSearch.loadMore(); }, - // eslint-disable-next-line rxjs/finnish isLoading$: memberSearch.isLoading$.signal, - // eslint-disable-next-line rxjs/finnish searchText$: memberSearch.searchText$.signal, search(keyword) { memberSearch.search(keyword); }, - // eslint-disable-next-line rxjs/finnish users$: memberSearch.result$.map(users => users.map(u => ({ id: u.id, diff --git a/packages/frontend/core/src/blocksuite/view-extensions/cloud/user.ts b/packages/frontend/core/src/blocksuite/view-extensions/cloud/user.ts index acb8d0b690..67c10eff56 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/cloud/user.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/cloud/user.ts @@ -13,7 +13,6 @@ export function patchUserExtensions( authService: AuthService ) { return UserServiceExtension({ - // eslint-disable-next-line rxjs/finnish currentUserInfo$: authService.session.account$.map(account => { if (!account) { return null; @@ -25,15 +24,12 @@ export function patchUserExtensions( removed: false, } as AffineUserInfo; }).signal, - // eslint-disable-next-line rxjs/finnish userInfo$(id) { return publicUserService.publicUser$(id).signal; }, - // eslint-disable-next-line rxjs/finnish isLoading$(id) { return publicUserService.isLoading$(id).signal; }, - // eslint-disable-next-line rxjs/finnish error$(id) { return publicUserService.error$(id).selector(error => { if (error) { diff --git a/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/mermaid-preview.ts b/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/mermaid-preview.ts index f6bca50c1b..d6b631f531 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/mermaid-preview.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/mermaid-preview.ts @@ -479,46 +479,50 @@ export class MermaidPreview extends SignalWatcher( display: this.state === 'finish' ? undefined : 'none', })} > - ${this.state === 'finish' - ? html` -
- ${this.svgContent - ? html`
` - : nothing} -
-
- - - -
-
- ${Math.round(this.scale * 100)}% -
- ` - : nothing} + ${ + this.svgContent + ? html`
` + : nothing + } + +
+ + + +
+
+ ${Math.round(this.scale * 100)}% +
+ ` + : nothing + } `; diff --git a/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/typst-preview.ts b/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/typst-preview.ts index 38d430bb6d..8a66b19c18 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/typst-preview.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/code-block-preview/typst-preview.ts @@ -194,8 +194,7 @@ export class TypstPreview extends SignalWatcher( tabindex="0" aria-label="Typst error message" > -${this.errorMessage} +${this.errorMessage}
` : nothing; diff --git a/packages/frontend/core/src/blocksuite/view-extensions/editor-config/get-config.ts b/packages/frontend/core/src/blocksuite/view-extensions/editor-config/get-config.ts index 6dd6694f24..582d6d2261 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/editor-config/get-config.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/editor-config/get-config.ts @@ -18,7 +18,6 @@ export function getEditorConfigExtension( return [ EditorSettingExtension({ - // eslint-disable-next-line rxjs/finnish setting$: editorSettingService.editorSetting.settingSignal, set: (k, v) => editorSettingService.editorSetting.set(k, v), }), diff --git a/packages/frontend/core/src/blocksuite/view-extensions/mobile/keyboard-toolbar-extension.ts b/packages/frontend/core/src/blocksuite/view-extensions/mobile/keyboard-toolbar-extension.ts index 1324859a13..f063d086cd 100644 --- a/packages/frontend/core/src/blocksuite/view-extensions/mobile/keyboard-toolbar-extension.ts +++ b/packages/frontend/core/src/blocksuite/view-extensions/mobile/keyboard-toolbar-extension.ts @@ -24,16 +24,12 @@ export function KeyboardToolbarExtension( private readonly _disposables = new DisposableGroup(); - // eslint-disable-next-line rxjs/finnish readonly visible$ = signal(false); - // eslint-disable-next-line rxjs/finnish readonly height$ = signal(0); - // eslint-disable-next-line rxjs/finnish readonly staticHeight$ = signal(0); - // eslint-disable-next-line rxjs/finnish readonly appTabSafeArea$ = signal(`calc(${globalVars.appTabSafeArea})`); static override setup(di: Container) { diff --git a/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-dark.json b/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-dark.json index 3b5028c5d0..d83aa16efb 100644 --- a/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-dark.json +++ b/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-dark.json @@ -416,7 +416,11 @@ "nm": "虚线", "v": { "a": 0, "k": 22, "ix": 1 } }, - { "n": "o", "nm": "偏移", "v": { "a": 0, "k": 0, "ix": 7 } } + { + "n": "o", + "nm": "偏移", + "v": { "a": 0, "k": 0, "ix": 7 } + } ], "nm": "描边 1", "mn": "ADBE Vector Graphic - Stroke", @@ -23643,7 +23647,11 @@ "nm": "虚线", "v": { "a": 0, "k": 22, "ix": 1 } }, - { "n": "o", "nm": "偏移", "v": { "a": 0, "k": 0, "ix": 7 } } + { + "n": "o", + "nm": "偏移", + "v": { "a": 0, "k": 0, "ix": 7 } + } ], "nm": "描边 1", "mn": "ADBE Vector Graphic - Stroke", diff --git a/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-light.json b/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-light.json index eceb909f14..cdacf910c3 100644 --- a/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-light.json +++ b/packages/frontend/core/src/components/affine/ai-onboarding/lottie/edgeless/mouse-track-light.json @@ -416,7 +416,11 @@ "nm": "虚线", "v": { "a": 0, "k": 22, "ix": 1 } }, - { "n": "o", "nm": "偏移", "v": { "a": 0, "k": 0, "ix": 7 } } + { + "n": "o", + "nm": "偏移", + "v": { "a": 0, "k": 0, "ix": 7 } + } ], "nm": "描边 1", "mn": "ADBE Vector Graphic - Stroke", @@ -23769,7 +23773,11 @@ "nm": "虚线", "v": { "a": 0, "k": 22, "ix": 1 } }, - { "n": "o", "nm": "偏移", "v": { "a": 0, "k": 0, "ix": 7 } } + { + "n": "o", + "nm": "偏移", + "v": { "a": 0, "k": 0, "ix": 7 } + } ], "nm": "描边 1", "mn": "ADBE Vector Graphic - Stroke", diff --git a/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx b/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx index 785bc3842d..fb835ae7fc 100644 --- a/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx @@ -212,7 +212,7 @@ export const EdgelessSwitch = ({ { /* render blocks */ article.blocks.map((block, key) => { - // eslint-disable-next-line react/no-array-index-key + // oxlint-disable-next-line react/no-array-index-key return ; }) } diff --git a/packages/frontend/core/src/components/hooks/affine/__tests__/use-sign-out.spec.ts b/packages/frontend/core/src/components/hooks/affine/__tests__/use-sign-out.spec.ts index 84dd9c7666..1b1313ed46 100644 --- a/packages/frontend/core/src/components/hooks/affine/__tests__/use-sign-out.spec.ts +++ b/packages/frontend/core/src/components/hooks/affine/__tests__/use-sign-out.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable rxjs/finnish */ /** * @vitest-environment happy-dom */ diff --git a/packages/frontend/core/src/components/tags/tags-editor.tsx b/packages/frontend/core/src/components/tags/tags-editor.tsx index 443b66f718..65253e26f4 100644 --- a/packages/frontend/core/src/components/tags/tags-editor.tsx +++ b/packages/frontend/core/src/components/tags/tags-editor.tsx @@ -150,7 +150,7 @@ export const TagsEditor = ({ const idx = tagColors.findIndex(c => c.value === color); return tagColors[(idx + 1) % tagColors.length].value; }, - // eslint-disable-next-line react-hooks/purity + // oxlint-disable-next-line react-hooks-js/purity tagColors[Math.floor(Math.random() * tagColors.length)].value ); diff --git a/packages/frontend/core/src/components/workspace-property-types/checkbox.tsx b/packages/frontend/core/src/components/workspace-property-types/checkbox.tsx index 90d7e14944..dff7dfda78 100644 --- a/packages/frontend/core/src/components/workspace-property-types/checkbox.tsx +++ b/packages/frontend/core/src/components/workspace-property-types/checkbox.tsx @@ -95,7 +95,7 @@ export const CheckboxDocListProperty = ({ return ( }> - {/* + {/* Has circular dependency issue (WorkspacePropertyName -> WorkspacePropertyTypes -> Checkbox) */} diff --git a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/editor/edgeless/snapshot.tsx b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/editor/edgeless/snapshot.tsx index 31b857b47d..c593e64b61 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/editor/edgeless/snapshot.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/editor/edgeless/snapshot.tsx @@ -130,7 +130,7 @@ export const EdgelessSnapshot = (props: Props) => { }, [docName, extensions, firstUpdate, updateElements]); useEffect(() => { - // oxlint-disable-next-line @typescript-eslint/no-floating-promises + // oxlint-disable-next-line typescript/no-floating-promises renderEditor(); return () => editorHostRef.current?.remove(); }, [renderEditor]); diff --git a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/integration/mcp-server/setting-panel.tsx b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/integration/mcp-server/setting-panel.tsx index 3a560b1306..528ac8419b 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/integration/mcp-server/setting-panel.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/integration/mcp-server/setting-panel.tsx @@ -69,7 +69,7 @@ export const McpServerSettingPanel = () => { ); const revalidate = useCallback(() => { - // oxlint-disable-next-line @typescript-eslint/no-floating-promises + // oxlint-disable-next-line typescript/no-floating-promises credentialsService.revalidate(workspaceId); }, [credentialsService, workspaceId]); diff --git a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/self-host-team-card.tsx b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/self-host-team-card.tsx index e91f375812..805fcbb19b 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/self-host-team-card.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/self-host-team-card.tsx @@ -73,7 +73,7 @@ export const SelfHostTeamCard = () => { license?.expiredAt || 0 ).toLocaleDateString(), leftDays: Math.floor( - // eslint-disable-next-line react-hooks/purity + // oxlint-disable-next-line react-hooks-js/purity (new Date(license?.expiredAt || 0).getTime() - Date.now()) / (1000 * 60 * 60 * 24) ).toLocaleString(), diff --git a/packages/frontend/core/src/desktop/pages/auth/oauth-login.tsx b/packages/frontend/core/src/desktop/pages/auth/oauth-login.tsx index c2c03c2bb4..cb2f79047a 100644 --- a/packages/frontend/core/src/desktop/pages/auth/oauth-login.tsx +++ b/packages/frontend/core/src/desktop/pages/auth/oauth-login.tsx @@ -6,7 +6,7 @@ import { type LoaderFunction, redirect, useLoaderData, - // oxlint-disable-next-line @typescript-eslint/no-restricted-imports + // oxlint-disable-next-line typescript/no-restricted-imports useNavigate, } from 'react-router-dom'; import { z } from 'zod'; diff --git a/packages/frontend/core/src/mobile/modules/navigation-projection/shell-data-projection.spec.ts b/packages/frontend/core/src/mobile/modules/navigation-projection/shell-data-projection.spec.ts index 3606593dfb..8536c6e5ee 100644 --- a/packages/frontend/core/src/mobile/modules/navigation-projection/shell-data-projection.spec.ts +++ b/packages/frontend/core/src/mobile/modules/navigation-projection/shell-data-projection.spec.ts @@ -1,5 +1,3 @@ -/* eslint-disable rxjs/finnish */ - import { Framework, LiveData } from '@toeverything/infra'; import { Observable, Subject } from 'rxjs'; import { describe, expect, it, vi } from 'vitest'; diff --git a/packages/frontend/core/src/modules/app-sidebar/views/index.tsx b/packages/frontend/core/src/modules/app-sidebar/views/index.tsx index 7b2ccff8cc..233440a3cf 100644 --- a/packages/frontend/core/src/modules/app-sidebar/views/index.tsx +++ b/packages/frontend/core/src/modules/app-sidebar/views/index.tsx @@ -269,7 +269,7 @@ const RandomBars = ({ count, header }: { count: number; header?: boolean }) => { /> ) : null} {Array.from({ length: count }).map((_, index) => ( - // oxlint-disable-next-line eslint-plugin-react(no-array-index-key) + // oxlint-disable-next-line react/no-array-index-key ))} diff --git a/packages/frontend/core/src/modules/db/entities/table.ts b/packages/frontend/core/src/modules/db/entities/table.ts index 60db9d2a30..c1a05cfcca 100644 --- a/packages/frontend/core/src/modules/db/entities/table.ts +++ b/packages/frontend/core/src/modules/db/entities/table.ts @@ -49,13 +49,10 @@ export class WorkspaceDBTable< create = this.table.create.bind(this.table) as typeof this.table.create; update = this.table.update.bind(this.table) as typeof this.table.update; get = this.table.get.bind(this.table) as typeof this.table.get; - // eslint-disable-next-line rxjs/finnish get$ = this.table.get$.bind(this.table) as typeof this.table.get$; find = this.table.find.bind(this.table) as typeof this.table.find; - // eslint-disable-next-line rxjs/finnish find$ = this.table.find$.bind(this.table) as typeof this.table.find$; select = this.table.select.bind(this.table) as typeof this.table.select; - // eslint-disable-next-line rxjs/finnish select$ = this.table.select$.bind(this.table) as typeof this.table.select$; keys = this.table.keys.bind(this.table) as typeof this.table.keys; delete = this.table.delete.bind(this.table) as typeof this.table.delete; diff --git a/packages/frontend/core/src/modules/desktop-api/entities/electron-api.ts b/packages/frontend/core/src/modules/desktop-api/entities/electron-api.ts index eadba8592a..0804f21b6f 100644 --- a/packages/frontend/core/src/modules/desktop-api/entities/electron-api.ts +++ b/packages/frontend/core/src/modules/desktop-api/entities/electron-api.ts @@ -1,4 +1,4 @@ -/* oxlint-disable @typescript-eslint/no-non-null-assertion */ +/* oxlint-disable typescript/no-non-null-assertion */ import { Entity } from '@toeverything/infra'; import type { DesktopApiProvider } from '../provider'; diff --git a/packages/frontend/core/src/modules/desktop-api/impl/index.ts b/packages/frontend/core/src/modules/desktop-api/impl/index.ts index e7b54e857f..386d9d1f37 100644 --- a/packages/frontend/core/src/modules/desktop-api/impl/index.ts +++ b/packages/frontend/core/src/modules/desktop-api/impl/index.ts @@ -1,4 +1,4 @@ -/* oxlint-disable @typescript-eslint/no-non-null-assertion */ +/* oxlint-disable typescript/no-non-null-assertion */ import { apis, appInfo, events, sharedStorage } from '@affine/electron-api'; import { Service } from '@toeverything/infra'; diff --git a/packages/frontend/core/src/modules/doc-info/views/database-properties/cells/select.tsx b/packages/frontend/core/src/modules/doc-info/views/database-properties/cells/select.tsx index 21125d0002..745dcebe4e 100644 --- a/packages/frontend/core/src/modules/doc-info/views/database-properties/cells/select.tsx +++ b/packages/frontend/core/src/modules/doc-info/views/database-properties/cells/select.tsx @@ -1,5 +1,3 @@ -/* eslint-disable rxjs/finnish */ - import { PropertyValue } from '@affine/component'; import { type TagLike, TagsInlineEditor } from '@affine/core/components/tags'; import { TagService } from '@affine/core/modules/tag'; diff --git a/packages/frontend/core/src/modules/docs-search/services/docs-search.spec.ts b/packages/frontend/core/src/modules/docs-search/services/docs-search.spec.ts index 9b57f66edd..fbe615621b 100644 --- a/packages/frontend/core/src/modules/docs-search/services/docs-search.spec.ts +++ b/packages/frontend/core/src/modules/docs-search/services/docs-search.spec.ts @@ -1,5 +1,4 @@ /** @vitest-environment happy-dom */ -/* eslint-disable rxjs/finnish */ import { Framework } from '@toeverything/infra'; import { firstValueFrom, of } from 'rxjs'; diff --git a/packages/frontend/core/src/modules/feature-flag/entities/flags.ts b/packages/frontend/core/src/modules/feature-flag/entities/flags.ts index 8d6e71da83..8af359245f 100644 --- a/packages/frontend/core/src/modules/feature-flag/entities/flags.ts +++ b/packages/frontend/core/src/modules/feature-flag/entities/flags.ts @@ -12,7 +12,6 @@ export type Flag = { ? boolean : boolean | undefined; set: (value: boolean) => void; - // eslint-disable-next-line rxjs/finnish $: F['defaultState'] extends boolean ? LiveData : LiveData | LiveData; diff --git a/packages/frontend/core/src/modules/import-clipper/services/import.ts b/packages/frontend/core/src/modules/import-clipper/services/import.ts index 1ed6036d8a..d28235c671 100644 --- a/packages/frontend/core/src/modules/import-clipper/services/import.ts +++ b/packages/frontend/core/src/modules/import-clipper/services/import.ts @@ -58,7 +58,7 @@ export class ImportClipperService extends Service { workspaceName: string, clipperInput: ClipperInput ) { - // oxlint-disable-next-line @typescript-eslint/no-non-null-assertion + // oxlint-disable-next-line typescript/no-non-null-assertion let docId: string | undefined; const { id: workspaceId } = await this.workspacesService.create( flavour, diff --git a/packages/frontend/core/src/modules/import-template/services/import.ts b/packages/frontend/core/src/modules/import-template/services/import.ts index 53e069f71d..f980e5deef 100644 --- a/packages/frontend/core/src/modules/import-template/services/import.ts +++ b/packages/frontend/core/src/modules/import-template/services/import.ts @@ -49,7 +49,7 @@ export class ImportTemplateService extends Service { docBinary: Uint8Array // todo: support doc mode on init ) { - // oxlint-disable-next-line @typescript-eslint/no-non-null-assertion + // oxlint-disable-next-line typescript/no-non-null-assertion let docId: string = null!; const { id: workspaceId } = await this.workspacesService.create( flavour, diff --git a/packages/frontend/core/src/modules/userspace/entities/user-db-table.ts b/packages/frontend/core/src/modules/userspace/entities/user-db-table.ts index 4fe3b47cb6..3087520e38 100644 --- a/packages/frontend/core/src/modules/userspace/entities/user-db-table.ts +++ b/packages/frontend/core/src/modules/userspace/entities/user-db-table.ts @@ -27,10 +27,8 @@ export class UserDBTable extends Entity<{ create: typeof this.table.create = this.table.create.bind(this.table); update: typeof this.table.update = this.table.update.bind(this.table); get: typeof this.table.get = this.table.get.bind(this.table); - // eslint-disable-next-line rxjs/finnish get$: typeof this.table.get$ = this.table.get$.bind(this.table); find: typeof this.table.find = this.table.find.bind(this.table); - // eslint-disable-next-line rxjs/finnish find$: typeof this.table.find$ = this.table.find$.bind(this.table); keys: typeof this.table.keys = this.table.keys.bind(this.table); delete: typeof this.table.delete = this.table.delete.bind(this.table); diff --git a/packages/frontend/core/src/modules/workspace/entities/workspace.ts b/packages/frontend/core/src/modules/workspace/entities/workspace.ts index 47a2d94ed3..f81e77b5b8 100644 --- a/packages/frontend/core/src/modules/workspace/entities/workspace.ts +++ b/packages/frontend/core/src/modules/workspace/entities/workspace.ts @@ -57,7 +57,6 @@ export class Workspace extends Entity { }); return id; }, - /* eslint-disable rxjs/finnish */ blobState$: key => this.engine.blob.blobState$(key), upload: key => this.engine.blob.upload(key), name: 'blob', diff --git a/packages/frontend/core/src/modules/workspace/impls/meta.ts b/packages/frontend/core/src/modules/workspace/impls/meta.ts index 45f14e9cdf..643191c84c 100644 --- a/packages/frontend/core/src/modules/workspace/impls/meta.ts +++ b/packages/frontend/core/src/modules/workspace/impls/meta.ts @@ -15,12 +15,10 @@ type MetaState = { }; export class WorkspaceMetaImpl implements WorkspaceMeta { - /* eslint-disable rxjs/finnish */ commonFieldsUpdated = new Subject(); docMetaAdded = new Subject(); docMetaRemoved = new Subject(); docMetaUpdated = new Subject(); - /* eslint-enable rxjs/finnish */ private readonly _handleDocCollectionMetaEvents = ( events: Y.YEvent | Y.Text | Y.Map>[] diff --git a/packages/frontend/core/src/modules/workspace/impls/workspace.ts b/packages/frontend/core/src/modules/workspace/impls/workspace.ts index f3fb343b91..1b276c5492 100644 --- a/packages/frontend/core/src/modules/workspace/impls/workspace.ts +++ b/packages/frontend/core/src/modules/workspace/impls/workspace.ts @@ -47,9 +47,7 @@ export class WorkspaceImpl implements Workspace { meta: WorkspaceMeta; slots = { - /* eslint-disable rxjs/finnish */ docListUpdated: new Subject(), - /* eslint-enable rxjs/finnish */ }; get docs() { diff --git a/packages/frontend/core/src/utils/navigable-history.ts b/packages/frontend/core/src/utils/navigable-history.ts index a2b2d0f42d..bd33ced807 100644 --- a/packages/frontend/core/src/utils/navigable-history.ts +++ b/packages/frontend/core/src/utils/navigable-history.ts @@ -199,7 +199,7 @@ type Events = { call: (arg: any) => void; }; -// oxlint-disable-next-line @typescript-eslint/no-unsafe-function-type +// oxlint-disable-next-line typescript/no-unsafe-function-type function createEvents(): Events { let handlers: F[] = []; diff --git a/packages/frontend/electron-api/src/index.ts b/packages/frontend/electron-api/src/index.ts index d4fbd4c512..6714f036e0 100644 --- a/packages/frontend/electron-api/src/index.ts +++ b/packages/frontend/electron-api/src/index.ts @@ -21,7 +21,9 @@ type ImportPreloadHandlers = { }; type MainClientHandlers = { [namespace in keyof MainHandlers]: { - [method in keyof MainHandlers[namespace]]: MainHandlers[namespace][method] extends ( + [ + method in keyof MainHandlers[namespace] + ]: MainHandlers[namespace][method] extends ( arg0: any, ...rest: infer A ) => any diff --git a/packages/frontend/i18n/src/i18n.gen.ts b/packages/frontend/i18n/src/i18n.gen.ts index fe9c232372..7dcdf88864 100644 --- a/packages/frontend/i18n/src/i18n.gen.ts +++ b/packages/frontend/i18n/src/i18n.gen.ts @@ -1,5 +1,5 @@ // @ts-nocheck -/* eslint-disable */ +/* oxlint-disable */ import { createElement, useMemo, type ComponentType, type JSX } from "react"; import { useTranslation, Trans, type TransProps } from "react-i18next"; type TypedTransProps = Omit, "values" | "ns" | "i18nKey"> & ({} extends Value ? {} : { diff --git a/packages/frontend/native/index.d.ts b/packages/frontend/native/index.d.ts index d13f8a7bcb..eb07e1505d 100644 --- a/packages/frontend/native/index.d.ts +++ b/packages/frontend/native/index.d.ts @@ -1,5 +1,5 @@ /* auto-generated by NAPI-RS */ -/* eslint-disable */ +/* oxlint-disable */ export declare class ApplicationInfo { processId: number name: string diff --git a/packages/frontend/native/index.js b/packages/frontend/native/index.js index af1036fe55..ce5132965c 100644 --- a/packages/frontend/native/index.js +++ b/packages/frontend/native/index.js @@ -1,5 +1,5 @@ // prettier-ignore -/* eslint-disable */ +/* oxlint-disable */ // @ts-nocheck /* auto-generated by NAPI-RS */ diff --git a/packages/frontend/native/media_capture/src/windows/README.md b/packages/frontend/native/media_capture/src/windows/README.md index c8cf29d924..b007a9a17f 100644 --- a/packages/frontend/native/media_capture/src/windows/README.md +++ b/packages/frontend/native/media_capture/src/windows/README.md @@ -17,9 +17,13 @@ The `MicrophoneListener` class provides real-time monitoring of microphone usage ```typescript import { MicrophoneListener } from '@affine/native'; -const listener = new MicrophoneListener((isRunning: boolean, processName: string) => { - console.log(`Microphone ${isRunning ? 'started' : 'stopped'} by ${processName}`); -}); +const listener = new MicrophoneListener( + (isRunning: boolean, processName: string) => { + console.log( + `Microphone ${isRunning ? 'started' : 'stopped'} by ${processName}` + ); + } +); // Check current status console.log('Is microphone currently active:', listener.is_running()); diff --git a/packages/frontend/routes/README.md b/packages/frontend/routes/README.md index 96e1b8bfa6..75313f248e 100644 --- a/packages/frontend/routes/README.md +++ b/packages/frontend/routes/README.md @@ -27,10 +27,12 @@ function Routes() { import { RouteParamsTypes } from '@affine/routes'; function Doc() { - const { workspaceId, docId } = useParams(); + const { workspaceId, docId } = + useParams(); } function Attachment() { - const { workspaceId, docId, attachmentId } = useParams(); + const { workspaceId, docId, attachmentId } = + useParams(); } ``` diff --git a/packages/frontend/routes/build.ts b/packages/frontend/routes/build.ts index 13ddc911c3..1ef726d821 100644 --- a/packages/frontend/routes/build.ts +++ b/packages/frontend/routes/build.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import { join } from 'node:path/posix'; -import { Path, prettier } from '@affine-tools/utils'; +import { formatCode, Path } from '@affine-tools/utils'; import { parse } from 'path-to-regexp'; const curdir = Path.dir(import.meta.url); @@ -238,13 +238,13 @@ async function printRoutes(schema: BuiltRouteSchema) { ['Relative Paths']: printRelativePaths, ['Path Factories']: printFactories, }; - const content = await prettier( + const content = await formatCode( Object.entries(parts) .map(([key, print]) => { return `// #region ${key}\n${print(schema)}\n// #endregion`; }) .join('\n\n'), - 'typescript' + routerOutputFile ); fs.writeFileSync(routerOutputFile, content, 'utf-8'); diff --git a/packages/frontend/templates/README.md b/packages/frontend/templates/README.md index 4ca7e90d0a..ff1fe2cc54 100644 --- a/packages/frontend/templates/README.md +++ b/packages/frontend/templates/README.md @@ -13,10 +13,17 @@ Before we offer a better solution, to update the onboarding templates: (async () => { // make sure ZipTransformer is imported and attached to window const { ZipTransformer } = window; - await Promise.all([...currentWorkspace.blockSuiteWorkspace.pages.values()].map(p => p.load())); + await Promise.all( + [...currentWorkspace.blockSuiteWorkspace.pages.values()].map(p => + p.load() + ) + ); // wait for a few more seconds await new Promise(resolve => setTimeout(resolve, 5000)); - const zipblob = await ZipTransformer.exportPages(currentWorkspace.blockSuiteWorkspace, [...currentWorkspace.blockSuiteWorkspace.pages.values()]); + const zipblob = await ZipTransformer.exportPages( + currentWorkspace.blockSuiteWorkspace, + [...currentWorkspace.blockSuiteWorkspace.pages.values()] + ); const url = URL.createObjectURL(zipblob); const a = document.createElement('a'); a.setAttribute('href', url); diff --git a/packages/frontend/templates/build-stickers.mjs b/packages/frontend/templates/build-stickers.mjs index daa12b9a08..ee0bd5ac0d 100644 --- a/packages/frontend/templates/build-stickers.mjs +++ b/packages/frontend/templates/build-stickers.mjs @@ -129,7 +129,7 @@ function buildStickerTemplate(data) { } const code = ` -/* eslint-disable */ +/* oxlint-disable */ // @ts-nocheck ${importStatements} diff --git a/packages/frontend/templates/stickers-templates.gen.ts b/packages/frontend/templates/stickers-templates.gen.ts index 23d8dfc6dc..82218eb09c 100644 --- a/packages/frontend/templates/stickers-templates.gen.ts +++ b/packages/frontend/templates/stickers-templates.gen.ts @@ -1,5 +1,5 @@ -/* eslint-disable */ +/* oxlint-disable */ // @ts-nocheck import stickerCover000 from './stickers/Arrows/Cover/arrow-1.svg'; diff --git a/packages/frontend/track/package.json b/packages/frontend/track/package.json index 46abe92c4d..fda35ebb0a 100644 --- a/packages/frontend/track/package.json +++ b/packages/frontend/track/package.json @@ -10,6 +10,7 @@ "@affine/debug": "workspace:*", "@sentry/react": "^10.53.1", "nanoid": "^5.1.6", + "react": "^19.2.1", "react-router-dom": "^6.30.4" }, "devDependencies": { diff --git a/packages/frontend/track/src/events.ts b/packages/frontend/track/src/events.ts index 770b6b96ac..4a330d18ef 100644 --- a/packages/frontend/track/src/events.ts +++ b/packages/frontend/track/src/events.ts @@ -1,5 +1,4 @@ // let '$' stands for unspecific matrix -/* eslint-disable rxjs/finnish */ // SECTION: app events type GeneralEvents = 'openMigrationDataHelp'; @@ -92,7 +91,8 @@ type FolderEvents = | 'deleteFolder'; type TagEvents = 'createTag' | 'deleteTag' | 'renameTag' | 'tagDoc'; type FavoriteEvents = 'toggleFavorite'; -type OrganizeItemEvents = // doc, link, folder, collection, tag +type OrganizeItemEvents = + // doc, link, folder, collection, tag | 'createOrganizeItem' | 'renameOrganizeItem' | 'moveOrganizeItem' diff --git a/packages/frontend/track/src/types.ts b/packages/frontend/track/src/types.ts index 8297683f5d..f0babbc804 100644 --- a/packages/frontend/track/src/types.ts +++ b/packages/frontend/track/src/types.ts @@ -11,7 +11,9 @@ export type CallableEventsChain = { [Page in keyof Events]: { [Segment in keyof Events[Page]]: { [Module in keyof Events[Page][Segment]]: { - [Event in Events[Page][Segment][Module][number]]: Event extends keyof EventArgs + [ + Event in Events[Page][Segment][Module][number] + ]: Event extends keyof EventArgs ? ( // we make all args partial to simply satisfies nullish type checking args?: Partial & EventPropsOverride @@ -26,8 +28,9 @@ export type EventsUnion = { [Page in keyof Events]: { [Segment in keyof Events[Page]]: { [Module in keyof Events[Page][Segment]]: { - // @ts-expect-error ignore `symbol | number` as key - [Event in Events[Page][Segment][Module][number]]: `${Page}.${Segment}.${Module}.${Event}`; + [ + Event in Events[Page][Segment][Module][number] + ]: `${Page & string}.${Segment & string}.${Module & string}.${Event & string}`; }[Events[Page][Segment][Module][number]]; }[keyof Events[Page][Segment]]; }[keyof Events[Page]]; diff --git a/scripts/setup/polyfill.ts b/scripts/setup/polyfill.ts index d3fd472bce..6050025376 100644 --- a/scripts/setup/polyfill.ts +++ b/scripts/setup/polyfill.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // @ts-nocheck Promise.withResolvers ??= function withResolvers() { diff --git a/tests/affine-cloud-copilot/e2e/base/base-test.ts b/tests/affine-cloud-copilot/e2e/base/base-test.ts index b44cbcb0a5..6a678b900e 100644 --- a/tests/affine-cloud-copilot/e2e/base/base-test.ts +++ b/tests/affine-cloud-copilot/e2e/base/base-test.ts @@ -1,4 +1,4 @@ -// eslint-disable no-empty-pattern +// oxlint-disable no-empty-pattern import { test as base } from '@affine-test/kit/playwright'; import type { Page } from '@playwright/test'; diff --git a/tests/affine-cloud-copilot/e2e/utils/chat-panel-utils.ts b/tests/affine-cloud-copilot/e2e/utils/chat-panel-utils.ts index ed9aef8cb7..e2e23ff88a 100644 --- a/tests/affine-cloud-copilot/e2e/utils/chat-panel-utils.ts +++ b/tests/affine-cloud-copilot/e2e/utils/chat-panel-utils.ts @@ -1,4 +1,4 @@ -// eslint-disable eslint-plugin-unicorn(prefer-dom-node-dataset +// oxlint-disable unicorn/prefer-dom-node-dataset import type { Page } from '@playwright/test'; import { expect } from '@playwright/test'; diff --git a/tests/blocksuite/e2e/code/copy-paste.spec.ts b/tests/blocksuite/e2e/code/copy-paste.spec.ts index a2947bb29d..627e40522b 100644 --- a/tests/blocksuite/e2e/code/copy-paste.spec.ts +++ b/tests/blocksuite/e2e/code/copy-paste.spec.ts @@ -90,7 +90,7 @@ test.skip('use keyboard copy inside code block copy', async ({ await type(page, 'use'); await page.keyboard.down('Shift'); - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < 'use'.length; i++) { await page.keyboard.press('ArrowLeft'); } diff --git a/tests/blocksuite/e2e/cross-platform/inline/inline-editor.spec.ts b/tests/blocksuite/e2e/cross-platform/inline/inline-editor.spec.ts index 6ee037d35d..1560042cd8 100644 --- a/tests/blocksuite/e2e/cross-platform/inline/inline-editor.spec.ts +++ b/tests/blocksuite/e2e/cross-platform/inline/inline-editor.spec.ts @@ -449,7 +449,7 @@ test('readonly mode', async ({ page }) => { throw new Error('Cannot find editor'); } - // oxlint-disable-next-line @typescript-eslint/no-explicit-any + // oxlint-disable-next-line typescript/no-explicit-any (richTextA as any).inlineEditor.setReadonly(true); }); @@ -1044,13 +1044,13 @@ test('yText should not contain \r', async ({ page }) => { throw new Error('Cannot find test-rich-text'); } - // oxlint-disable-next-line @typescript-eslint/no-explicit-any + // oxlint-disable-next-line typescript/no-explicit-any const editor = (richText as any).inlineEditor as InlineEditor; try { editor.insertText({ index: 0, length: 0 }, 'abc\r'); } catch (e) { - // oxlint-disable-next-line @typescript-eslint/no-explicit-any + // oxlint-disable-next-line typescript/no-explicit-any return (e as any).message; } }); diff --git a/tests/blocksuite/e2e/edgeless/linked-doc.spec.ts b/tests/blocksuite/e2e/edgeless/linked-doc.spec.ts index bbf77e1bda..27189dfdd4 100644 --- a/tests/blocksuite/e2e/edgeless/linked-doc.spec.ts +++ b/tests/blocksuite/e2e/edgeless/linked-doc.spec.ts @@ -159,7 +159,7 @@ test.describe('single edgeless element to linked doc', () => { const container = document.querySelector('affine-edgeless-root'); return container!.service.crud.getElementsByType('group').map(s => ({ type: s.type, - // oxlint-disable-next-line @typescript-eslint/no-explicit-any + // oxlint-disable-next-line typescript/no-explicit-any children: s.childElements.map((c: any) => c.type || c.flavour), })); }); diff --git a/tests/blocksuite/e2e/utils/actions/misc.ts b/tests/blocksuite/e2e/utils/actions/misc.ts index 35e59217b8..55e5210227 100644 --- a/tests/blocksuite/e2e/utils/actions/misc.ts +++ b/tests/blocksuite/e2e/utils/actions/misc.ts @@ -240,7 +240,7 @@ export async function enterPlaygroundWithList( title: new window.$blocksuite.store.Text(), }); const noteId = doc.addBlock('affine:note', {}, rootId); - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < contents.length; i++) { doc.addBlock( 'affine:list', @@ -847,7 +847,7 @@ export async function getClipboardHTML(page: Page) { const indentAfter = ' '.repeat(level >= 2 ? level - 2 : 0); let textNode; - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < node.children.length; i++) { textNode = document.createTextNode('\n' + indentBefore); node.insertBefore(textNode, node.children[i]); diff --git a/tests/kit/src/utils/keyboard.ts b/tests/kit/src/utils/keyboard.ts index 339258fc57..3caf28c680 100644 --- a/tests/kit/src/utils/keyboard.ts +++ b/tests/kit/src/utils/keyboard.ts @@ -114,7 +114,7 @@ export async function writeTextToClipboard( // paste the url await page.evaluate( async ([text]) => { - // oxlint-disable-next-line @typescript-eslint/no-floating-promises + // oxlint-disable-next-line typescript/no-floating-promises navigator.clipboard.writeText(''); const e = new ClipboardEvent('paste', { clipboardData: new DataTransfer(), diff --git a/tools/cli/package.json b/tools/cli/package.json index d533efbf9d..f52336585b 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -32,10 +32,10 @@ "jsonc-parser": "^3.3.1", "lodash-es": "^4.17.23", "mime-types": "^3.0.0", + "oxfmt": "0.63.0", "postcss": "^8.5.18", "postcss-loader": "^8.2.1", "postcss-selector-parser": "^7.1.0", - "prettier": "^3.7.4", "source-map-loader": "^5.0.0", "style-loader": "^4.0.0", "swc-loader": "^0.2.6", diff --git a/tools/cli/src/init.ts b/tools/cli/src/init.ts index 0915045948..9868005f75 100755 --- a/tools/cli/src/init.ts +++ b/tools/cli/src/init.ts @@ -7,7 +7,7 @@ import { yarnList, } from '@affine-tools/utils/workspace'; import { applyEdits, modify } from 'jsonc-parser'; -import { type BuiltInParserName, format } from 'prettier'; +import { format, type FormatConfig } from 'oxfmt'; import { Command } from './command'; @@ -22,20 +22,15 @@ export class InitCommand extends Command { async generateWorkspaceFiles() { this.workspace = new Workspace(yarnList()); - const filesToGenerate: [ - Path, - (prev: string) => string, - BuiltInParserName?, - ][] = [ - [this.workspace.join('tsconfig.json'), this.genProjectTsConfig, 'json'], + const filesToGenerate: [Path, (prev: string) => string][] = [ + [this.workspace.join('tsconfig.json'), this.genProjectTsConfig], [ this.workspace .getPackage('@affine-tools/utils') .join('src/workspace.gen.ts'), this.genWorkspaceInfo, - 'typescript', ], - [this.workspace.join('.oxlintrc.json'), this.genOxlintConfig, 'json'], + [this.workspace.join('.oxlintrc.json'), this.genOxlintConfig], ...this.workspace.packages .filter(p => p.isTsProject) .map( @@ -43,27 +38,29 @@ export class InitCommand extends Command { [ p.join('tsconfig.json'), this.genPackageTsConfig.bind(this, p), - 'json', - ] as any + ] satisfies [Path, (prev: string) => string] ), ]; - for (const [path, content, formatter] of filesToGenerate) { + for (const [path, content] of filesToGenerate) { this.logger.info(`Generating: ${path}`); const previous = readFileSync(path.value, 'utf-8'); - let file = content(previous); - if (formatter) { - file = await this.format(file, formatter); - } + const file = await this.format(content(previous), path.value); writeFileSync(path.value, file); } } - format(content: string, parser: BuiltInParserName) { + async format(content: string, fileName: string) { const config = JSON.parse( - readFileSync(this.workspace.join('.prettierrc').value, 'utf-8') - ); - return format(content, { parser, ...config }); + readFileSync(this.workspace.join('.oxfmtrc.json').value, 'utf-8') + ) as FormatConfig; + const result = await format(fileName, content, config); + if (result.errors.length) { + throw new Error( + result.errors.map(error => error.codeframe ?? error.message).join('\n') + ); + } + return result.code; } genOxlintConfig = () => { diff --git a/tools/cli/src/rspack-shared/error-handler.js b/tools/cli/src/rspack-shared/error-handler.js index 4ade66acf1..c694661e79 100644 --- a/tools/cli/src/rspack-shared/error-handler.js +++ b/tools/cli/src/rspack-shared/error-handler.js @@ -101,7 +101,7 @@ 'MutationObserver', ]; - // oxlint-disable-next-line @typescript-eslint/prefer-for-of + // oxlint-disable-next-line typescript/prefer-for-of for (let i = 0; i < globals.length; i++) { if (!(globals[i] in globalThis)) { showGlobalErrorPage(); diff --git a/tools/utils/package.json b/tools/utils/package.json index 1773764d91..08a0e2c897 100644 --- a/tools/utils/package.json +++ b/tools/utils/package.json @@ -17,7 +17,7 @@ "@types/node": "^22.0.0", "chalk": "^5.3.0", "lodash-es": "^4.17.23", - "prettier": "^3.7.4", + "oxfmt": "0.63.0", "typescript": "^5.9.3" } } diff --git a/tools/utils/src/format.ts b/tools/utils/src/format.ts index 975d3ec9cc..5921f9b813 100644 --- a/tools/utils/src/format.ts +++ b/tools/utils/src/format.ts @@ -1,17 +1,22 @@ import { readFileSync } from 'node:fs'; import { once } from 'lodash-es'; -import { type BuiltInParserName, format } from 'prettier'; +import { format, type FormatConfig } from 'oxfmt'; import { ProjectRoot } from './path'; const readConfig = once(() => { - const path = ProjectRoot.join('.prettierrc').value; - const config = JSON.parse(readFileSync(path, 'utf-8')); + const path = ProjectRoot.join('.oxfmtrc.json').value; + const config = JSON.parse(readFileSync(path, 'utf-8')) as FormatConfig; return config; }); -export function prettier(content: string, parser: BuiltInParserName) { - const config = readConfig(); - return format(content, { parser, ...config }); +export async function formatCode(content: string, fileName: string) { + const result = await format(fileName, content, readConfig()); + if (result.errors.length) { + throw new Error( + result.errors.map(error => error.codeframe ?? error.message).join('\n') + ); + } + return result.code; } diff --git a/yarn.lock b/yarn.lock index 2b79527728..fcb69baea2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -125,10 +125,10 @@ __metadata: jsonc-parser: "npm:^3.3.1" lodash-es: "npm:^4.17.23" mime-types: "npm:^3.0.0" + oxfmt: "npm:0.63.0" postcss: "npm:^8.5.18" postcss-loader: "npm:^8.2.1" postcss-selector-parser: "npm:^7.1.0" - prettier: "npm:^3.7.4" source-map-loader: "npm:^5.0.0" style-loader: "npm:^4.0.0" swc-loader: "npm:^0.2.6" @@ -150,7 +150,7 @@ __metadata: "@types/node": "npm:^22.0.0" chalk: "npm:^5.3.0" lodash-es: "npm:^4.17.23" - prettier: "npm:^3.7.4" + oxfmt: "npm:0.63.0" typescript: "npm:^5.9.3" languageName: unknown linkType: soft @@ -632,7 +632,7 @@ __metadata: graphql: "npm:^16.9.0" lodash: "npm:^4.18.1" lodash-es: "npm:^4.17.23" - prettier: "npm:^3.7.4" + oxfmt: "npm:0.63.0" vitest: "npm:^4.1.8" languageName: unknown linkType: soft @@ -727,29 +727,21 @@ __metadata: dependencies: "@affine-tools/cli": "workspace:*" "@capacitor/cli": "npm:^8.4.2" - "@eslint/js": "npm:^9.39.2" "@faker-js/faker": "npm:^10.1.0" "@istanbuljs/schema": "npm:^0.1.3" "@magic-works/i18n-codegen": "npm:^0.6.1" "@playwright/test": "npm:=1.58.2" - "@smarttools/eslint-plugin-rxjs": "npm:^1.0.8" "@taplo/cli": "npm:^0.7.0" "@toeverything/infra": "workspace:*" - "@types/eslint": "npm:^9.6.1" "@types/node": "npm:^22.0.0" - "@typescript-eslint/parser": "npm:^8.55.0" "@vanilla-extract/vite-plugin": "npm:^5.0.0" "@vitest/browser": "npm:^4.1.10" "@vitest/coverage-istanbul": "npm:^4.1.10" "@vitest/ui": "npm:^4.1.10" - cross-env: "npm:^10.1.0" electron: "npm:^39.0.0" - eslint: "npm:^9.39.2" - eslint-config-prettier: "npm:^10.1.8" - eslint-import-resolver-typescript: "npm:^4.4.4" + eslint: "npm:9.39.2" eslint-plugin-import-x: "npm:^4.16.1" eslint-plugin-lit: "npm:^2.2.1" - eslint-plugin-oxlint: "npm:1.68.0" eslint-plugin-react: "npm:^7.37.5" eslint-plugin-react-hooks: "npm:^7.0.1" eslint-plugin-simple-import-sort: "npm:^12.1.1" @@ -758,12 +750,11 @@ __metadata: husky: "npm:^9.1.7" lint-staged: "npm:^16.0.0" msw: "npm:^2.13.2" - oxlint: "npm:1.76.0" - oxlint-tsgolint: "npm:^0.23.0" - prettier: "npm:^3.7.4" + oxfmt: "npm:0.63.0" + oxlint: "npm:1.78.0" + oxlint-tsgolint: "npm:7.0.2001" semver: "npm:^7.7.3" typescript: "npm:^5.9.3" - typescript-eslint: "npm:^8.55.0" unplugin-swc: "npm:^1.5.9" vite: "npm:^7.3.5" vitest: "npm:^4.1.10" @@ -1040,6 +1031,7 @@ __metadata: "@sentry/react": "npm:^10.53.1" "@types/react": "npm:^19.0.1" nanoid: "npm:^5.1.6" + react: "npm:^19.2.1" react-router-dom: "npm:^6.30.4" vitest: "npm:^4.1.8" languageName: unknown @@ -5490,14 +5482,14 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": - version: 4.9.1 - resolution: "@eslint-community/eslint-utils@npm:4.9.1" +"@eslint-community/eslint-utils@npm:^4.8.0": + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/863b5467868551c9ae34d03eefe634633d08f623fc7b19d860f8f26eb6f303c1a5934253124163bee96181e45ed22bf27473dccc295937c3078493a4a8c9eddd + checksum: 10/61059b9f0192df5a86c441c03e0eedbda8c3810bb788775839afe4c5ec6bbdaa6433ac18001046b319390552435da3f6b8f5e18cca255993b3df37fe97a42b90 languageName: node linkType: hard @@ -5509,13 +5501,13 @@ __metadata: linkType: hard "@eslint/config-array@npm:^0.21.1": - version: 0.21.1 - resolution: "@eslint/config-array@npm:0.21.1" + version: 0.21.2 + resolution: "@eslint/config-array@npm:0.21.2" dependencies: "@eslint/object-schema": "npm:^2.1.7" debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10/6eaa0435972f735ce52d581f355a0b616e50a9b8a73304a7015398096e252798b9b3b968a67b524eefb0fdeacc57c4d960f0ec6432abe1c1e24be815b88c5d18 + minimatch: "npm:^3.1.5" + checksum: 10/148477ba995cf57fc725601916d5a7914aa249112d8bec2c3ac9122e2b2f540e6ef013ff4f6785346a4b565f09b20db127fa6f7322f5ffbdb3f1f8d2078a531c languageName: node linkType: hard @@ -5538,23 +5530,23 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" + version: 3.3.6 + resolution: "@eslint/eslintrc@npm:3.3.6" dependencies: - ajv: "npm:^6.12.4" + ajv: "npm:^6.14.0" debug: "npm:^4.3.2" espree: "npm:^10.0.1" globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" + js-yaml: "npm:^4.3.0" + minimatch: "npm:^3.1.5" strip-json-comments: "npm:^3.1.1" - checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb + checksum: 10/8d1d501069faf7c1c73e37181ec403dd2d1509f8da85f226531f6a7fdd9a9326fc6d2ea2e8192515992578cf9e7ed87f9d7ce3f1bfc6d0f0e77796d18e0e8ef6 languageName: node linkType: hard -"@eslint/js@npm:9.39.2, @eslint/js@npm:^9.39.2": +"@eslint/js@npm:9.39.2": version: 9.39.2 resolution: "@eslint/js@npm:9.39.2" checksum: 10/6b7f676746f3111b5d1b23715319212ab9297868a0fa9980d483c3da8965d5841673aada2d5653e85a3f7156edee0893a7ae7035211b4efdcb2848154bb947f2 @@ -6427,20 +6419,30 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 +"@humanfs/core@npm:^0.19.2": + version: 0.19.2 + resolution: "@humanfs/core@npm:0.19.2" + dependencies: + "@humanfs/types": "npm:^0.15.0" + checksum: 10/c6c0273721ec8df3d36a57c390a11a168d0a2f513d78bceb25165bded4fcb73609b1a317edc6c8f331cefd4b47285dde0b1e6679e08ef7f062232ec14fe05312 languageName: node linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" + version: 0.16.8 + resolution: "@humanfs/node@npm:0.16.8" dependencies: - "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 + "@humanfs/core": "npm:^0.19.2" + "@humanfs/types": "npm:^0.15.0" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10/ed01b3c066d9cec7526d139b9e71ca00ee4a30b3b5f5f5c198eb069c3509a3e167e180ba7e1e5a83b9571e906c4908bd20402b47586887452311af7354995e95 + languageName: node + linkType: hard + +"@humanfs/types@npm:^0.15.0": + version: 0.15.0 + resolution: "@humanfs/types@npm:0.15.0" + checksum: 10/dea3cc7fd8f8d4d088ed8d0a9921cf12bd8e1cdf40a6133106b03a6e2aebcc9a6f1771b3643b7ec71baae90d08245db34069dfcc861da8d678662741e6c3c986 languageName: node linkType: hard @@ -6451,14 +6453,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.1 - resolution: "@humanwhocodes/retry@npm:0.3.1" - checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.2": +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": version: 0.4.3 resolution: "@humanwhocodes/retry@npm:0.4.3" checksum: 10/0b32cfd362bea7a30fbf80bb38dcaf77fee9c2cae477ee80b460871d03590110ac9c77d654f04ec5beaf71b6f6a89851bdf6c1e34ccdf2f686bd86fcd97d9e61 @@ -7546,7 +7541,7 @@ __metadata: languageName: node linkType: hard -"@magic-works/i18n-codegen@npm:^0.6.1": +"@magic-works/i18n-codegen@npm:0.6.1": version: 0.6.1 resolution: "@magic-works/i18n-codegen@npm:0.6.1" dependencies: @@ -7561,6 +7556,21 @@ __metadata: languageName: node linkType: hard +"@magic-works/i18n-codegen@patch:@magic-works/i18n-codegen@npm%3A0.6.1#~/.yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch": + version: 0.6.1 + resolution: "@magic-works/i18n-codegen@patch:@magic-works/i18n-codegen@npm%3A0.6.1#~/.yarn/patches/@magic-works-i18n-codegen-virtual-25e53a17d6.patch::version=0.6.1&hash=10b841" + dependencies: + chokidar: "npm:^3.5.3" + i18next-translation-parser: "npm:^1.0.1" + yargs: "npm:^17.7.0" + peerDependencies: + typescript: ^5.4 + bin: + i18n-codegen: dist/cli.js + checksum: 10/c356b895c3c1d9ce0a7c1e0c8c6a3814c2701577b5b3662cfe463ebeb062af961974a7dc3a22cda7dabe9951f689585e0d2b1e970fb6e9f20f235cf372a95c23 + languageName: node + linkType: hard + "@malept/cross-spawn-promise@npm:^1.0.0": version: 1.1.1 resolution: "@malept/cross-spawn-promise@npm:1.1.1" @@ -10527,177 +10537,310 @@ __metadata: languageName: node linkType: hard -"@oxlint-tsgolint/darwin-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/darwin-arm64@npm:0.23.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxlint-tsgolint/darwin-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/darwin-x64@npm:0.23.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxlint-tsgolint/linux-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/linux-arm64@npm:0.23.0" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@oxlint-tsgolint/linux-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/linux-x64@npm:0.23.0" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@oxlint-tsgolint/win32-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/win32-arm64@npm:0.23.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxlint-tsgolint/win32-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@oxlint-tsgolint/win32-x64@npm:0.23.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@oxlint/binding-android-arm-eabi@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-android-arm-eabi@npm:1.76.0" +"@oxfmt/binding-android-arm-eabi@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-android-arm-eabi@npm:0.63.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@oxlint/binding-android-arm64@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-android-arm64@npm:1.76.0" +"@oxfmt/binding-android-arm64@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-android-arm64@npm:0.63.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@oxlint/binding-darwin-arm64@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-darwin-arm64@npm:1.76.0" +"@oxfmt/binding-darwin-arm64@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-darwin-arm64@npm:0.63.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxlint/binding-darwin-x64@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-darwin-x64@npm:1.76.0" +"@oxfmt/binding-darwin-x64@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-darwin-x64@npm:0.63.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxlint/binding-freebsd-x64@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-freebsd-x64@npm:1.76.0" +"@oxfmt/binding-freebsd-x64@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-freebsd-x64@npm:0.63.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxlint/binding-linux-arm-gnueabihf@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-arm-gnueabihf@npm:1.76.0" +"@oxfmt/binding-linux-arm-gnueabihf@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-arm-gnueabihf@npm:0.63.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxlint/binding-linux-arm-musleabihf@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-arm-musleabihf@npm:1.76.0" +"@oxfmt/binding-linux-arm-musleabihf@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-arm-musleabihf@npm:0.63.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxlint/binding-linux-arm64-gnu@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-arm64-gnu@npm:1.76.0" +"@oxfmt/binding-linux-arm64-gnu@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-arm64-gnu@npm:0.63.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxlint/binding-linux-arm64-musl@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-arm64-musl@npm:1.76.0" +"@oxfmt/binding-linux-arm64-musl@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-arm64-musl@npm:0.63.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxlint/binding-linux-ppc64-gnu@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-ppc64-gnu@npm:1.76.0" +"@oxfmt/binding-linux-ppc64-gnu@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-ppc64-gnu@npm:0.63.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@oxlint/binding-linux-riscv64-gnu@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-riscv64-gnu@npm:1.76.0" +"@oxfmt/binding-linux-riscv64-gnu@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-riscv64-gnu@npm:0.63.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@oxlint/binding-linux-riscv64-musl@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-riscv64-musl@npm:1.76.0" +"@oxfmt/binding-linux-riscv64-musl@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-riscv64-musl@npm:0.63.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@oxlint/binding-linux-s390x-gnu@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-s390x-gnu@npm:1.76.0" +"@oxfmt/binding-linux-s390x-gnu@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-s390x-gnu@npm:0.63.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxlint/binding-linux-x64-gnu@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-x64-gnu@npm:1.76.0" +"@oxfmt/binding-linux-x64-gnu@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-x64-gnu@npm:0.63.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxlint/binding-linux-x64-musl@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-linux-x64-musl@npm:1.76.0" +"@oxfmt/binding-linux-x64-musl@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-linux-x64-musl@npm:0.63.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxlint/binding-openharmony-arm64@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-openharmony-arm64@npm:1.76.0" +"@oxfmt/binding-openharmony-arm64@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-openharmony-arm64@npm:0.63.0" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@oxlint/binding-win32-arm64-msvc@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-win32-arm64-msvc@npm:1.76.0" +"@oxfmt/binding-win32-arm64-msvc@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-win32-arm64-msvc@npm:0.63.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxlint/binding-win32-ia32-msvc@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-win32-ia32-msvc@npm:1.76.0" +"@oxfmt/binding-win32-ia32-msvc@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-win32-ia32-msvc@npm:0.63.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@oxlint/binding-win32-x64-msvc@npm:1.76.0": - version: 1.76.0 - resolution: "@oxlint/binding-win32-x64-msvc@npm:1.76.0" +"@oxfmt/binding-win32-x64-msvc@npm:0.63.0": + version: 0.63.0 + resolution: "@oxfmt/binding-win32-x64-msvc@npm:0.63.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/darwin-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/darwin-arm64@npm:7.0.2001" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/darwin-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/darwin-x64@npm:7.0.2001" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/linux-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/linux-arm64@npm:7.0.2001" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/linux-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/linux-x64@npm:7.0.2001" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/win32-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/win32-arm64@npm:7.0.2001" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/win32-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/win32-x64@npm:7.0.2001" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-android-arm-eabi@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-android-arm-eabi@npm:1.78.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-android-arm64@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-android-arm64@npm:1.78.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-arm64@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-darwin-arm64@npm:1.78.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-x64@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-darwin-x64@npm:1.78.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-freebsd-x64@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-freebsd-x64@npm:1.78.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-gnueabihf@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-arm-gnueabihf@npm:1.78.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-musleabihf@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-arm-musleabihf@npm:1.78.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-gnu@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-arm64-gnu@npm:1.78.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-musl@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-arm64-musl@npm:1.78.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-ppc64-gnu@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-ppc64-gnu@npm:1.78.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-gnu@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-riscv64-gnu@npm:1.78.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-musl@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-riscv64-musl@npm:1.78.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-s390x-gnu@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-s390x-gnu@npm:1.78.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-gnu@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-x64-gnu@npm:1.78.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-musl@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-linux-x64-musl@npm:1.78.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-openharmony-arm64@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-openharmony-arm64@npm:1.78.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-win32-arm64-msvc@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-win32-arm64-msvc@npm:1.78.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-win32-ia32-msvc@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-win32-ia32-msvc@npm:1.78.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxlint/binding-win32-x64-msvc@npm:1.78.0": + version: 1.78.0 + resolution: "@oxlint/binding-win32-x64-msvc@npm:1.78.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -15352,18 +15495,6 @@ __metadata: languageName: node linkType: hard -"@smarttools/eslint-plugin-rxjs@npm:^1.0.8": - version: 1.0.19 - resolution: "@smarttools/eslint-plugin-rxjs@npm:1.0.19" - dependencies: - "@typescript-eslint/utils": "npm:^8.23.0" - ts-api-utils: "npm:^2.0.1" - peerDependencies: - typescript: ">=4.0.0" - checksum: 10/2ea387827b78701b0985b157a87d733679bb0d4e026c28c66720d74edd14fe03e6d68f7bc81abe349a5fec7adacfbdd489d138e4dc98a8b2e527824900d5b7a4 - languageName: node - linkType: hard - "@socket.io/component-emitter@npm:~3.1.0": version: 3.1.2 resolution: "@socket.io/component-emitter@npm:3.1.2" @@ -16617,7 +16748,7 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:*, @types/eslint@npm:^9.6.1": +"@types/eslint@npm:*": version: 9.6.1 resolution: "@types/eslint@npm:9.6.1" dependencies: @@ -17300,141 +17431,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.55.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/type-utils": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - ignore: "npm:^7.0.5" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - "@typescript-eslint/parser": ^8.55.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/b654130700b45077c6892f703c14e964d1facb76e1816e38d0707501e7f331ff0acf2b0b88daa2c5f4fffeabd2f04a5a723e1a28ff4e88bc267e60515584ce3a - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.55.0, @typescript-eslint/parser@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/parser@npm:8.55.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - debug: "npm:^4.4.3" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/f6140b163ce1fd460fbcc51c79fdaf2825d95764741c2d73271416e13d2302c25fa578fc1e46cb0f4a78867264f7df5ed424c500737cc49084fe0af8ad33c541 - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/project-service@npm:8.55.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.55.0" - "@typescript-eslint/types": "npm:^8.55.0" - debug: "npm:^4.4.3" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/50f5b65b2c7901c78cf5c3353e46cf84710d304c9b0211b8484e67345158660a50b492d4b774a07aac9b74a4289cb9ff3b637ae37619bbd5ccace5d20806688e - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/scope-manager@npm:8.55.0" - dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - checksum: 10/6da96d6459f6c53a5337071ac71e78ce7922928c00f3d1dafe2a8eafcac194bca815d178c0ca1b69f89ca9c5a24d6c0e9131ed4447d64a6511295909553e3960 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.55.0, @typescript-eslint/tsconfig-utils@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.55.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/281764b85f6bcae6de9865b5133b7be313f212bffe63cb3b5f09f94a2b7c7bfc83319935ed044de4b95f9043a16553d027107de6cb6f0c6e75fba900e26eb831 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/type-utils@npm:8.55.0" - dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" - debug: "npm:^4.4.3" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/0d13b5eedfae55feb3ea4e16d20a20ba79b3126d7ad526016967fa16062415b048c1aa1ee6255a34d4752d683cef2e47c7411bcb4495b9f00e1f3435804c0589 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.55.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.55.0": +"@typescript-eslint/types@npm:^8.35.0": version: 8.55.0 resolution: "@typescript-eslint/types@npm:8.55.0" checksum: 10/4069e8691d0651e298ec78908401cc792a11e29809da3e5f3eeba0e76509a2b394563ee0932a7c5d8cad19accc4f7d835dcd8b4faa4372e6af013df322a3bd58 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.55.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.55.0" - "@typescript-eslint/tsconfig-utils": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - debug: "npm:^4.4.3" - minimatch: "npm:^9.0.5" - semver: "npm:^7.7.3" - tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/219468b2bfc5abd3ee057ac6bc6bf5cb58da4accd5455dbf6f1cdce150c794a13677b1f82adb6f80b2488c8df40d4c0730c42df9f7e924ce122d9a6b933055c3 - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.55.0, @typescript-eslint/utils@npm:^8.23.0": - version: 8.55.0 - resolution: "@typescript-eslint/utils@npm:8.55.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/a2218103328905977a67735b55b30dc851084bd086e7f469355f8056577ec79eb30fc42cec16f1881803c764a0ee60aeb62fe0caa4c407bdba3fd72f67c2d114 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.55.0" - dependencies: - "@typescript-eslint/types": "npm:8.55.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10/c35f2b1b69d103edb78dca5ba28acb2454c2eb75a97e4c90a205059df73790185627326c8816b671d5734f1d966196ece605cf592dfa10d323ec6530b3260140 - languageName: node - linkType: hard - "@ungap/structured-clone@npm:^1.0.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" @@ -18528,15 +18531,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.14.0 - resolution: "ajv@npm:6.14.0" +"ajv@npm:^6.12.4, ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" dependencies: fast-deep-equal: "npm:^3.1.1" fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 10/c71f14dd2b6f2535d043f74019c8169f7aeb1106bafbb741af96f34fdbf932255c919ddd46344043d03b62ea0ccb319f83667ec5eedf612393f29054fe5ce4a5 + checksum: 10/0916dda09c152fb5857bc1cc7ce61718e9cec5b7faeff44a74f5e324eed8a556e1a84856724ea322a067b436ecad9f74ac8295fd395449788cca52f0c25bd5fb languageName: node linkType: hard @@ -23060,18 +23063,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^10.1.8": - version: 10.1.8 - resolution: "eslint-config-prettier@npm:10.1.8" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10/03f8e6ea1a6a9b8f9eeaf7c8c52a96499ec4b275b9ded33331a6cc738ed1d56de734097dbd0091f136f0e84bc197388bd8ec22a52a4658105883f8c8b7d8921a - languageName: node - linkType: hard - -"eslint-import-context@npm:^0.1.8, eslint-import-context@npm:^0.1.9": +"eslint-import-context@npm:^0.1.9": version: 0.1.9 resolution: "eslint-import-context@npm:0.1.9" dependencies: @@ -23086,30 +23078,6 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:^4.4.4": - version: 4.4.4 - resolution: "eslint-import-resolver-typescript@npm:4.4.4" - dependencies: - debug: "npm:^4.4.1" - eslint-import-context: "npm:^0.1.8" - get-tsconfig: "npm:^4.10.1" - is-bun-module: "npm:^2.0.0" - stable-hash-x: "npm:^0.2.0" - tinyglobby: "npm:^0.2.14" - unrs-resolver: "npm:^1.7.11" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - eslint-plugin-import-x: "*" - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - checksum: 10/4f871f6d1a04c55c2087c5ff1030f783a29abb59901b354d7ef58a0fc687d379dcbd08cf377cddeb7e19f26dd380d32d85ee4760e9410a059639d2b3df7d1ff3 - languageName: node - linkType: hard - "eslint-plugin-import-x@npm:^4.16.1": version: 4.16.1 resolution: "eslint-plugin-import-x@npm:4.16.1" @@ -23148,17 +23116,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-oxlint@npm:1.68.0": - version: 1.68.0 - resolution: "eslint-plugin-oxlint@npm:1.68.0" - dependencies: - jsonc-parser: "npm:^3.3.1" - peerDependencies: - oxlint: ~1.68.0 - checksum: 10/e255130cb11180ee14ec30aa3827dc3ecfff97465aebeab122f864d4868c544734c9a0fae8edb87999511e2146c5edf569771d3d2347c8806b0392427748ce09 - languageName: node - linkType: hard - "eslint-plugin-react-hooks@npm:^7.0.1": version: 7.0.1 resolution: "eslint-plugin-react-hooks@npm:7.0.1" @@ -23267,7 +23224,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.39.2": +"eslint@npm:9.39.2": version: 9.39.2 resolution: "eslint@npm:9.39.2" dependencies: @@ -23338,11 +23295,11 @@ __metadata: linkType: hard "esquery@npm:^1.5.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" + version: 1.7.0 + resolution: "esquery@npm:1.7.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a + checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15 languageName: node linkType: hard @@ -23929,9 +23886,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9, flatted@npm:^3.4.2": - version: 3.4.2 - resolution: "flatted@npm:3.4.2" - checksum: 10/a9e78fe5c2c1fcd98209a015ccee3a6caa953e01729778e83c1fe92e68601a63e1e69cd4e573010ca99eaf585a581b80ccf1018b99283e6cbc2117bcba1e030f + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: 10/5a6682ab87ed15e125419c61352c4bef26f310adceece03eae5f22c119d64ed47bfc0ee1948a77d0122559eaa86395ea06ef45b59bfe3db4fb13fb4cdff876de languageName: node linkType: hard @@ -25704,15 +25661,6 @@ __metadata: languageName: node linkType: hard -"is-bun-module@npm:^2.0.0": - version: 2.0.0 - resolution: "is-bun-module@npm:2.0.0" - dependencies: - semver: "npm:^7.7.1" - checksum: 10/cded5a1a58368b847872d08617975d620ad94426d76a932f3e08d55b4574d199e0a62a4fb024fa2dc444200b71719eb0bffc5d3d1e1cc82e29b293bb8d66a990 - languageName: node - linkType: hard - "is-core-module@npm:@nolyfill/is-core-module@^1": version: 1.0.39 resolution: "@nolyfill/is-core-module@npm:1.0.39" @@ -26303,6 +26251,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.3.0": + version: 4.3.1 + resolution: "js-yaml@npm:4.3.1" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10/2ce71b5d632abbd77da80447bf860e8a0264e54bffe94840984887d58b023761495b523727547904517a6107a1ef189854b361e0fc44995ee13a84f222d7bd42 + languageName: node + linkType: hard + "js-yaml@npm:^5.0.0, js-yaml@npm:^5.2.3": version: 5.2.3 resolution: "js-yaml@npm:5.2.3" @@ -28315,7 +28274,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.1.5, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.5, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5": version: 3.1.5 resolution: "minimatch@npm:3.1.5" dependencies: @@ -28342,7 +28301,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": +"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.9 resolution: "minimatch@npm:9.0.9" dependencies: @@ -29467,16 +29426,93 @@ __metadata: languageName: node linkType: hard -"oxlint-tsgolint@npm:^0.23.0": - version: 0.23.0 - resolution: "oxlint-tsgolint@npm:0.23.0" +"oxfmt@npm:0.63.0": + version: 0.63.0 + resolution: "oxfmt@npm:0.63.0" dependencies: - "@oxlint-tsgolint/darwin-arm64": "npm:0.23.0" - "@oxlint-tsgolint/darwin-x64": "npm:0.23.0" - "@oxlint-tsgolint/linux-arm64": "npm:0.23.0" - "@oxlint-tsgolint/linux-x64": "npm:0.23.0" - "@oxlint-tsgolint/win32-arm64": "npm:0.23.0" - "@oxlint-tsgolint/win32-x64": "npm:0.23.0" + "@oxfmt/binding-android-arm-eabi": "npm:0.63.0" + "@oxfmt/binding-android-arm64": "npm:0.63.0" + "@oxfmt/binding-darwin-arm64": "npm:0.63.0" + "@oxfmt/binding-darwin-x64": "npm:0.63.0" + "@oxfmt/binding-freebsd-x64": "npm:0.63.0" + "@oxfmt/binding-linux-arm-gnueabihf": "npm:0.63.0" + "@oxfmt/binding-linux-arm-musleabihf": "npm:0.63.0" + "@oxfmt/binding-linux-arm64-gnu": "npm:0.63.0" + "@oxfmt/binding-linux-arm64-musl": "npm:0.63.0" + "@oxfmt/binding-linux-ppc64-gnu": "npm:0.63.0" + "@oxfmt/binding-linux-riscv64-gnu": "npm:0.63.0" + "@oxfmt/binding-linux-riscv64-musl": "npm:0.63.0" + "@oxfmt/binding-linux-s390x-gnu": "npm:0.63.0" + "@oxfmt/binding-linux-x64-gnu": "npm:0.63.0" + "@oxfmt/binding-linux-x64-musl": "npm:0.63.0" + "@oxfmt/binding-openharmony-arm64": "npm:0.63.0" + "@oxfmt/binding-win32-arm64-msvc": "npm:0.63.0" + "@oxfmt/binding-win32-ia32-msvc": "npm:0.63.0" + "@oxfmt/binding-win32-x64-msvc": "npm:0.63.0" + tinypool: "npm:2.1.0" + peerDependencies: + svelte: ^5.0.0 + vite-plus: "*" + dependenciesMeta: + "@oxfmt/binding-android-arm-eabi": + optional: true + "@oxfmt/binding-android-arm64": + optional: true + "@oxfmt/binding-darwin-arm64": + optional: true + "@oxfmt/binding-darwin-x64": + optional: true + "@oxfmt/binding-freebsd-x64": + optional: true + "@oxfmt/binding-linux-arm-gnueabihf": + optional: true + "@oxfmt/binding-linux-arm-musleabihf": + optional: true + "@oxfmt/binding-linux-arm64-gnu": + optional: true + "@oxfmt/binding-linux-arm64-musl": + optional: true + "@oxfmt/binding-linux-ppc64-gnu": + optional: true + "@oxfmt/binding-linux-riscv64-gnu": + optional: true + "@oxfmt/binding-linux-riscv64-musl": + optional: true + "@oxfmt/binding-linux-s390x-gnu": + optional: true + "@oxfmt/binding-linux-x64-gnu": + optional: true + "@oxfmt/binding-linux-x64-musl": + optional: true + "@oxfmt/binding-openharmony-arm64": + optional: true + "@oxfmt/binding-win32-arm64-msvc": + optional: true + "@oxfmt/binding-win32-ia32-msvc": + optional: true + "@oxfmt/binding-win32-x64-msvc": + optional: true + peerDependenciesMeta: + svelte: + optional: true + vite-plus: + optional: true + bin: + oxfmt: bin/oxfmt + checksum: 10/7c6416d00fa3f823ef44b1d463f34e8865759cde582eca6640200e544fa2e38a9bc88deb2e8fcfed9303decfb735b0ceb6a583d66cd4ae2b53be11e2b0e5517b + languageName: node + linkType: hard + +"oxlint-tsgolint@npm:7.0.2001": + version: 7.0.2001 + resolution: "oxlint-tsgolint@npm:7.0.2001" + dependencies: + "@oxlint-tsgolint/darwin-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/darwin-x64": "npm:7.0.2001" + "@oxlint-tsgolint/linux-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/linux-x64": "npm:7.0.2001" + "@oxlint-tsgolint/win32-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/win32-x64": "npm:7.0.2001" dependenciesMeta: "@oxlint-tsgolint/darwin-arm64": optional: true @@ -29491,34 +29527,34 @@ __metadata: "@oxlint-tsgolint/win32-x64": optional: true bin: - tsgolint: bin/tsgolint.js - checksum: 10/7f4d61fbdedbce703ac61278f060f4717e061afe5a5fadece5253fd50c333a676366bdd35895b2f464c5d5640bf2cd6b017b259fd1b5d777d154cd307aa3ba22 + tsgolint: ./bin/tsgolint.js + checksum: 10/3e8eb7566ddcb65a892f07b989034ee0054e8f9583a2e794c7c0a9c445999bd1097724ea8385820b85f687502bca91ffce4249044914e05c5a0087130a627aa2 languageName: node linkType: hard -"oxlint@npm:1.76.0": - version: 1.76.0 - resolution: "oxlint@npm:1.76.0" +"oxlint@npm:1.78.0": + version: 1.78.0 + resolution: "oxlint@npm:1.78.0" dependencies: - "@oxlint/binding-android-arm-eabi": "npm:1.76.0" - "@oxlint/binding-android-arm64": "npm:1.76.0" - "@oxlint/binding-darwin-arm64": "npm:1.76.0" - "@oxlint/binding-darwin-x64": "npm:1.76.0" - "@oxlint/binding-freebsd-x64": "npm:1.76.0" - "@oxlint/binding-linux-arm-gnueabihf": "npm:1.76.0" - "@oxlint/binding-linux-arm-musleabihf": "npm:1.76.0" - "@oxlint/binding-linux-arm64-gnu": "npm:1.76.0" - "@oxlint/binding-linux-arm64-musl": "npm:1.76.0" - "@oxlint/binding-linux-ppc64-gnu": "npm:1.76.0" - "@oxlint/binding-linux-riscv64-gnu": "npm:1.76.0" - "@oxlint/binding-linux-riscv64-musl": "npm:1.76.0" - "@oxlint/binding-linux-s390x-gnu": "npm:1.76.0" - "@oxlint/binding-linux-x64-gnu": "npm:1.76.0" - "@oxlint/binding-linux-x64-musl": "npm:1.76.0" - "@oxlint/binding-openharmony-arm64": "npm:1.76.0" - "@oxlint/binding-win32-arm64-msvc": "npm:1.76.0" - "@oxlint/binding-win32-ia32-msvc": "npm:1.76.0" - "@oxlint/binding-win32-x64-msvc": "npm:1.76.0" + "@oxlint/binding-android-arm-eabi": "npm:1.78.0" + "@oxlint/binding-android-arm64": "npm:1.78.0" + "@oxlint/binding-darwin-arm64": "npm:1.78.0" + "@oxlint/binding-darwin-x64": "npm:1.78.0" + "@oxlint/binding-freebsd-x64": "npm:1.78.0" + "@oxlint/binding-linux-arm-gnueabihf": "npm:1.78.0" + "@oxlint/binding-linux-arm-musleabihf": "npm:1.78.0" + "@oxlint/binding-linux-arm64-gnu": "npm:1.78.0" + "@oxlint/binding-linux-arm64-musl": "npm:1.78.0" + "@oxlint/binding-linux-ppc64-gnu": "npm:1.78.0" + "@oxlint/binding-linux-riscv64-gnu": "npm:1.78.0" + "@oxlint/binding-linux-riscv64-musl": "npm:1.78.0" + "@oxlint/binding-linux-s390x-gnu": "npm:1.78.0" + "@oxlint/binding-linux-x64-gnu": "npm:1.78.0" + "@oxlint/binding-linux-x64-musl": "npm:1.78.0" + "@oxlint/binding-openharmony-arm64": "npm:1.78.0" + "@oxlint/binding-win32-arm64-msvc": "npm:1.78.0" + "@oxlint/binding-win32-ia32-msvc": "npm:1.78.0" + "@oxlint/binding-win32-x64-msvc": "npm:1.78.0" peerDependencies: oxlint-tsgolint: ">=7.0.2001" vite-plus: "*" @@ -29568,7 +29604,7 @@ __metadata: optional: true bin: oxlint: bin/oxlint - checksum: 10/dc6d64db38702c88d2fc57a3362b23a70acaf591ea0225c3d400d8c4fa7aa6c760c4b46983d5a0bd9234ac5e820c79908aa1fb622e74edea76b67979edb59fb0 + checksum: 10/fe9156607c92be0d94d77599ab4741bebad9dbbd73976fbe4e9493404895d8a1a25618bf3ef75854c107be48cd4fbda2bee2dc9cfd6cbc9a68f3ea989df4be0f languageName: node linkType: hard @@ -30800,7 +30836,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.5.3, prettier@npm:^3.7.4": +"prettier@npm:^3.5.3": version: 3.7.4 resolution: "prettier@npm:3.7.4" bin: @@ -32589,7 +32625,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.8.1, semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": +"semver@npm:7.8.1, semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": version: 7.8.1 resolution: "semver@npm:7.8.1" bin: @@ -34056,7 +34092,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.17": +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.17": version: 0.2.17 resolution: "tinyglobby@npm:0.2.17" dependencies: @@ -34080,6 +34116,13 @@ __metadata: languageName: node linkType: hard +"tinypool@npm:2.1.0": + version: 2.1.0 + resolution: "tinypool@npm:2.1.0" + checksum: 10/c11cfe84e8147d5bf198fe04ea789c068dfa8656c7f3483c76a7408c02d108b2e07d7301458021a0a98952d4a760efb6212ab49a01bac085c4aed3d6ee40ab2d + languageName: node + linkType: hard + "tinyrainbow@npm:^2.0.0": version: 2.0.0 resolution: "tinyrainbow@npm:2.0.0" @@ -34278,7 +34321,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.0.1, ts-api-utils@npm:^2.4.0": +"ts-api-utils@npm:^2.4.0": version: 2.4.0 resolution: "ts-api-utils@npm:2.4.0" peerDependencies: @@ -34493,21 +34536,6 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.55.0": - version: 8.55.0 - resolution: "typescript-eslint@npm:8.55.0" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.55.0" - "@typescript-eslint/parser": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/60f8c9a57a5ce2b1ce74a4287ce03171440a911c451755a5c8192a2f0770e89b629836e6ab455ffbf165e64c18e254926156627ff314bcd8e4fd3d7badfc40be - languageName: node - linkType: hard - "typescript@npm:>=5, typescript@npm:^5.9.3": version: 5.9.3 resolution: "typescript@npm:5.9.3" @@ -34846,7 +34874,7 @@ __metadata: languageName: node linkType: hard -"unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": +"unrs-resolver@npm:^1.9.2": version: 1.11.1 resolution: "unrs-resolver@npm:1.11.1" dependencies: