diff --git a/.eslintrc.js b/.eslintrc.js
index fce388e00..94dfc3b80 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -43,7 +43,9 @@ const allPackages = [
'packages/backend/server',
'packages/frontend/component',
'packages/frontend/core',
- 'packages/frontend/electron',
+ 'packages/frontend/apps/electron',
+ 'packages/frontend/apps/web',
+ 'packages/frontend/apps/mobile',
'packages/frontend/graphql',
'packages/frontend/i18n',
'packages/frontend/native',
diff --git a/.github/deployment/front/Dockerfile b/.github/deployment/front/Dockerfile
index 09d0f556e..ae106a40a 100644
--- a/.github/deployment/front/Dockerfile
+++ b/.github/deployment/front/Dockerfile
@@ -1,8 +1,8 @@
FROM openresty/openresty:1.25.3.2-0-buster
WORKDIR /app
-COPY ./packages/frontend/web/dist ./dist
+COPY ./packages/frontend/apps/web/dist ./dist
COPY ./packages/frontend/admin/dist ./admin
-COPY ./packages/frontend/mobile/dist ./mobile
+COPY ./packages/frontend/apps/mobile/dist ./mobile
COPY ./.github/deployment/front/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY ./.github/deployment/front/affine.nginx.conf /etc/nginx/conf.d/affine.nginx.conf
diff --git a/.github/deployment/node/Dockerfile b/.github/deployment/node/Dockerfile
index 5dcba6616..8ebff07f5 100644
--- a/.github/deployment/node/Dockerfile
+++ b/.github/deployment/node/Dockerfile
@@ -1,9 +1,9 @@
FROM node:20-bookworm-slim
COPY ./packages/backend/server /app
-COPY ./packages/frontend/web/dist /app/static
+COPY ./packages/frontend/apps/web/dist /app/static
COPY ./packages/frontend/admin/dist /app/static/admin
-COPY ./packages/frontend/mobile/dist /app/static/mobile
+COPY ./packages/frontend/apps/mobile/dist /app/static/mobile
WORKDIR /app
RUN apt-get update && \
diff --git a/.github/labeler.yml b/.github/labeler.yml
index ab06f2caa..562fcb228 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -77,7 +77,7 @@ app:core:
app:electron:
- changed-files:
- any-glob-to-any-file:
- - 'packages/frontend/electron/**/*'
+ - 'packages/frontend/apps/electron/**/*'
app:server:
- changed-files:
diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml
index c416b5083..7abd011a7 100644
--- a/.github/workflows/build-images.yml
+++ b/.github/workflows/build-images.yml
@@ -68,7 +68,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: web
- path: ./packages/frontend/web/dist
+ path: ./packages/frontend/apps/web/dist
if-no-files-found: error
build-admin:
@@ -132,7 +132,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: mobile
- path: ./packages/frontend/mobile/dist
+ path: ./packages/frontend/apps/mobile/dist
if-no-files-found: error
build-web-selfhost:
@@ -159,7 +159,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: selfhost-web
- path: ./packages/frontend/web/dist
+ path: ./packages/frontend/apps/web/dist
if-no-files-found: error
build-mobile-selfhost:
@@ -184,7 +184,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: selfhost-mobile
- path: ./packages/frontend/mobile/dist
+ path: ./packages/frontend/apps/mobile/dist
if-no-files-found: error
build-admin-selfhost:
@@ -320,13 +320,13 @@ jobs:
uses: actions/download-artifact@v4
with:
name: web
- path: ./packages/frontend/web/dist
+ path: ./packages/frontend/apps/web/dist
- name: Download mobile artifact
uses: actions/download-artifact@v4
with:
name: mobile
- path: ./packages/frontend/mobile/dist
+ path: ./packages/frontend/apps/mobile/dist
- name: Download admin artifact
uses: actions/download-artifact@v4
@@ -338,13 +338,13 @@ jobs:
uses: actions/download-artifact@v4
with:
name: selfhost-web
- path: ./packages/frontend/web/dist/selfhost
+ path: ./packages/frontend/apps/web/dist/selfhost
- name: Download selfhost mobile artifact
uses: actions/download-artifact@v4
with:
name: selfhost-mobile
- path: ./packages/frontend/mobile/dist/selfhost
+ path: ./packages/frontend/apps/mobile/dist/selfhost
- name: Download selfhost admin artifact
uses: actions/download-artifact@v4
diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml
index 1e135b7e6..7ccdc34e3 100644
--- a/.github/workflows/build-test.yml
+++ b/.github/workflows/build-test.yml
@@ -313,7 +313,7 @@ jobs:
env:
DISTRIBUTION: desktop
- name: zip web
- run: tar -czf dist.tar.gz --directory=packages/frontend/electron/renderer/dist .
+ run: tar -czf dist.tar.gz --directory=packages/frontend/apps/electron/renderer/dist .
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
@@ -554,7 +554,7 @@ jobs:
- name: Download web artifact
uses: ./.github/actions/download-web
with:
- path: packages/frontend/electron/resources/web-static
+ path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml
index f64f1e01d..3c3a0f44d 100644
--- a/.github/workflows/release-desktop.yml
+++ b/.github/workflows/release-desktop.yml
@@ -67,7 +67,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: web
- path: packages/frontend/electron/resources/web-static
+ path: packages/frontend/apps/electron/resources/web-static
make-distribution:
strategy:
@@ -119,7 +119,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: web
- path: packages/frontend/electron/resources/web-static
+ path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
@@ -146,20 +146,20 @@ jobs:
- name: signing DMG
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
- codesign --force --sign "Developer ID Application: TOEVERYTHING PTE. LTD." packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make/AFFiNE.dmg
+ codesign --force --sign "Developer ID Application: TOEVERYTHING PTE. LTD." packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make/AFFiNE.dmg
- name: Save artifacts (mac)
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
mkdir -p builds
- mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
- mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
+ mv packages/frontend/apps/electron/out/*/make/*.dmg ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
+ mv packages/frontend/apps/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
- name: Save artifacts (linux)
if: ${{ matrix.spec.platform == 'linux' }}
run: |
mkdir -p builds
- mv packages/frontend/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.zip
- mv packages/frontend/electron/out/*/make/*.AppImage ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.appimage
+ mv packages/frontend/apps/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.zip
+ mv packages/frontend/apps/electron/out/*/make/*.AppImage ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.appimage
- uses: actions/attest-build-provenance@v1
if: ${{ matrix.spec.platform == 'darwin' }}
@@ -221,7 +221,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: web
- path: packages/frontend/electron/resources/web-static
+ path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
@@ -235,12 +235,12 @@ jobs:
- name: get all files to be signed
id: get_files_to_be_signed
run: |
- Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/electron/out -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\', '') + '"' }) -join ' ')
+ Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/apps/electron/out -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
echo $FILES_TO_BE_SIGNED
- name: Zip artifacts for faster upload
- run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/electron/out/* -DestinationPath archive.zip
+ run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/apps/electron/out/* -DestinationPath archive.zip
- name: Save packaged artifacts for signing
uses: actions/upload-artifact@v4
@@ -287,7 +287,7 @@ jobs:
name: signed-packaged-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
- name: unzip file
- run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/electron/out
+ run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/apps/electron/out
- name: Make squirrel.windows installer
run: yarn workspace @affine/electron make-squirrel --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
@@ -296,12 +296,12 @@ jobs:
run: yarn workspace @affine/electron make-nsis --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
- name: Zip artifacts for faster upload
- run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make/* -DestinationPath archive.zip
+ run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make/* -DestinationPath archive.zip
- name: get all files to be signed
id: get_files_to_be_signed
run: |
- Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\${{ env.BUILD_TYPE }}\make\', '') + '"' }) -join ' ')
+ Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\${{ env.BUILD_TYPE }}\make\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
echo $FILES_TO_BE_SIGNED
@@ -335,14 +335,14 @@ jobs:
name: signed-installer-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
- name: unzip file
- run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make
+ run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make
- name: Save artifacts
run: |
mkdir -p builds
- mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.zip
- mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.exe
- mv packages/frontend/electron/out/*/make/nsis.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.nsis.exe
+ mv packages/frontend/apps/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.zip
+ mv packages/frontend/apps/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.exe
+ mv packages/frontend/apps/electron/out/*/make/nsis.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.nsis.exe
- uses: actions/attest-build-provenance@v1
with:
@@ -394,7 +394,7 @@ jobs:
node-version: 20
- name: Generate Release yml
run: |
- node ./packages/frontend/electron/scripts/generate-yml.js
+ node ./packages/frontend/apps/electron/scripts/generate-yml.js
env:
RELEASE_VERSION: ${{ needs.before-make.outputs.RELEASE_VERSION }}
- name: Create Release Draft
diff --git a/package.json b/package.json
index 2045d5d25..26cd4e80d 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
"workspaces": [
".",
"packages/*/*",
+ "packages/frontend/apps/*",
"tools/*",
"docs/reference",
"tools/@types/*",
diff --git a/packages/frontend/electron/.gitignore b/packages/frontend/apps/electron/.gitignore
similarity index 100%
rename from packages/frontend/electron/.gitignore
rename to packages/frontend/apps/electron/.gitignore
diff --git a/packages/frontend/electron/README.md b/packages/frontend/apps/electron/README.md
similarity index 95%
rename from packages/frontend/electron/README.md
rename to packages/frontend/apps/electron/README.md
index a421c98aa..0ac1c7a9e 100644
--- a/packages/frontend/electron/README.md
+++ b/packages/frontend/apps/electron/README.md
@@ -10,7 +10,7 @@ yarn install
yarn workspace @affine/native build
yarn dev
-# in packages/frontend/electron
+# in packages/frontend/apps/electron
yarn generate-assets
yarn dev # or yarn prod for production build
```
diff --git a/packages/frontend/electron/dev-app-update.yml b/packages/frontend/apps/electron/dev-app-update.yml
similarity index 100%
rename from packages/frontend/electron/dev-app-update.yml
rename to packages/frontend/apps/electron/dev-app-update.yml
diff --git a/packages/frontend/electron/forge.config.mjs b/packages/frontend/apps/electron/forge.config.mjs
similarity index 100%
rename from packages/frontend/electron/forge.config.mjs
rename to packages/frontend/apps/electron/forge.config.mjs
diff --git a/packages/frontend/electron/package.json b/packages/frontend/apps/electron/package.json
similarity index 99%
rename from packages/frontend/electron/package.json
rename to packages/frontend/apps/electron/package.json
index 5906c7b56..2cc5bbda0 100644
--- a/packages/frontend/electron/package.json
+++ b/packages/frontend/apps/electron/package.json
@@ -61,7 +61,6 @@
"fs-extra": "^11.2.0",
"glob": "^11.0.0",
"jotai": "^2.8.0",
- "jotai-devtools": "^0.10.0",
"lodash-es": "^4.17.21",
"nanoid": "^5.0.7",
"react": "^18.2.0",
diff --git a/packages/frontend/electron/project.json b/packages/frontend/apps/electron/project.json
similarity index 77%
rename from packages/frontend/electron/project.json
rename to packages/frontend/apps/electron/project.json
index 7f87ea538..6222f6500 100644
--- a/packages/frontend/electron/project.json
+++ b/packages/frontend/apps/electron/project.json
@@ -2,8 +2,8 @@
"name": "@affine/electron",
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
- "root": "packages/frontend/electron",
- "sourceRoot": "packages/frontend/electron/src",
+ "root": "packages/frontend/apps/electron",
+ "sourceRoot": "packages/frontend/apps/electron/src",
"targets": {
"build": {
"executor": "nx:run-script",
diff --git a/packages/frontend/electron/renderer/app.tsx b/packages/frontend/apps/electron/renderer/app.tsx
similarity index 80%
rename from packages/frontend/electron/renderer/app.tsx
rename to packages/frontend/apps/electron/renderer/app.tsx
index 9db56814f..927a90842 100644
--- a/packages/frontend/electron/renderer/app.tsx
+++ b/packages/frontend/apps/electron/renderer/app.tsx
@@ -30,8 +30,7 @@ import {
getCurrentStore,
LifecycleService,
} from '@toeverything/infra';
-import type { PropsWithChildren, ReactElement } from 'react';
-import { lazy, Suspense } from 'react';
+import { Suspense } from 'react';
import { RouterProvider } from 'react-router-dom';
const desktopWhiteList = [
@@ -55,19 +54,6 @@ if (
const performanceI18nLogger = performanceLogger.namespace('i18n');
const cache = createEmotionCache();
-const DevTools = lazy(() =>
- import('jotai-devtools').then(m => ({ default: m.DevTools }))
-);
-
-const DebugProvider = ({ children }: PropsWithChildren): ReactElement => {
- return (
- <>
- {process.env.DEBUG_JOTAI === 'true' && }
- {children}
- >
- );
-};
-
const future = {
v7_startTransition: true,
} as const;
@@ -115,19 +101,17 @@ export function App() {
-
-
- }
- router={router}
- future={future}
- />
- {environment.isWindows && (
-
-
-
- )}
-
+
+ }
+ router={router}
+ future={future}
+ />
+ {environment.isWindows && (
+
+
+
+ )}
diff --git a/packages/frontend/electron/renderer/global.css b/packages/frontend/apps/electron/renderer/global.css
similarity index 100%
rename from packages/frontend/electron/renderer/global.css
rename to packages/frontend/apps/electron/renderer/global.css
diff --git a/packages/frontend/electron/renderer/index.tsx b/packages/frontend/apps/electron/renderer/index.tsx
similarity index 100%
rename from packages/frontend/electron/renderer/index.tsx
rename to packages/frontend/apps/electron/renderer/index.tsx
diff --git a/packages/frontend/electron/renderer/polyfill/dispose.ts b/packages/frontend/apps/electron/renderer/polyfill/dispose.ts
similarity index 100%
rename from packages/frontend/electron/renderer/polyfill/dispose.ts
rename to packages/frontend/apps/electron/renderer/polyfill/dispose.ts
diff --git a/packages/frontend/electron/renderer/shell/index.tsx b/packages/frontend/apps/electron/renderer/shell/index.tsx
similarity index 100%
rename from packages/frontend/electron/renderer/shell/index.tsx
rename to packages/frontend/apps/electron/renderer/shell/index.tsx
diff --git a/packages/frontend/electron/renderer/shell/shell.css.ts b/packages/frontend/apps/electron/renderer/shell/shell.css.ts
similarity index 100%
rename from packages/frontend/electron/renderer/shell/shell.css.ts
rename to packages/frontend/apps/electron/renderer/shell/shell.css.ts
diff --git a/packages/frontend/electron/renderer/shell/shell.tsx b/packages/frontend/apps/electron/renderer/shell/shell.tsx
similarity index 100%
rename from packages/frontend/electron/renderer/shell/shell.tsx
rename to packages/frontend/apps/electron/renderer/shell/shell.tsx
diff --git a/packages/frontend/electron/renderer/tsconfig.json b/packages/frontend/apps/electron/renderer/tsconfig.json
similarity index 67%
rename from packages/frontend/electron/renderer/tsconfig.json
rename to packages/frontend/apps/electron/renderer/tsconfig.json
index ec823aa74..3140c1eeb 100644
--- a/packages/frontend/electron/renderer/tsconfig.json
+++ b/packages/frontend/apps/electron/renderer/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../../tsconfig.json",
+ "extends": "../../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"target": "ESNext",
@@ -13,16 +13,16 @@
},
"references": [
{
- "path": "../../../common/env"
+ "path": "../../../../common/env"
},
{
- "path": "../../core"
+ "path": "../../../core"
},
{
- "path": "../../component"
+ "path": "../../../component"
},
{
- "path": "../../../common/infra"
+ "path": "../../../../common/infra"
}
],
"include": ["."],
diff --git a/packages/frontend/electron/resources/app-update.yml b/packages/frontend/apps/electron/resources/app-update.yml
similarity index 100%
rename from packages/frontend/electron/resources/app-update.yml
rename to packages/frontend/apps/electron/resources/app-update.yml
diff --git a/packages/frontend/electron/resources/icons/affine_installing.gif b/packages/frontend/apps/electron/resources/icons/affine_installing.gif
similarity index 100%
rename from packages/frontend/electron/resources/icons/affine_installing.gif
rename to packages/frontend/apps/electron/resources/icons/affine_installing.gif
diff --git a/packages/frontend/electron/resources/icons/dmg-background.png b/packages/frontend/apps/electron/resources/icons/dmg-background.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/dmg-background.png
rename to packages/frontend/apps/electron/resources/icons/dmg-background.png
diff --git a/packages/frontend/electron/resources/icons/dmg-background@2x.png b/packages/frontend/apps/electron/resources/icons/dmg-background@2x.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/dmg-background@2x.png
rename to packages/frontend/apps/electron/resources/icons/dmg-background@2x.png
diff --git a/packages/frontend/electron/resources/icons/icon.icns b/packages/frontend/apps/electron/resources/icons/icon.icns
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon.icns
rename to packages/frontend/apps/electron/resources/icons/icon.icns
diff --git a/packages/frontend/electron/resources/icons/icon.ico b/packages/frontend/apps/electron/resources/icons/icon.ico
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon.ico
rename to packages/frontend/apps/electron/resources/icons/icon.ico
diff --git a/packages/frontend/electron/resources/icons/icon.png b/packages/frontend/apps/electron/resources/icons/icon.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon.png
rename to packages/frontend/apps/electron/resources/icons/icon.png
diff --git a/packages/frontend/electron/resources/icons/icon_beta.icns b/packages/frontend/apps/electron/resources/icons/icon_beta.icns
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_beta.icns
rename to packages/frontend/apps/electron/resources/icons/icon_beta.icns
diff --git a/packages/frontend/electron/resources/icons/icon_beta.ico b/packages/frontend/apps/electron/resources/icons/icon_beta.ico
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_beta.ico
rename to packages/frontend/apps/electron/resources/icons/icon_beta.ico
diff --git a/packages/frontend/electron/resources/icons/icon_beta_64x64.png b/packages/frontend/apps/electron/resources/icons/icon_beta_64x64.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_beta_64x64.png
rename to packages/frontend/apps/electron/resources/icons/icon_beta_64x64.png
diff --git a/packages/frontend/electron/resources/icons/icon_canary.icns b/packages/frontend/apps/electron/resources/icons/icon_canary.icns
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_canary.icns
rename to packages/frontend/apps/electron/resources/icons/icon_canary.icns
diff --git a/packages/frontend/electron/resources/icons/icon_canary.ico b/packages/frontend/apps/electron/resources/icons/icon_canary.ico
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_canary.ico
rename to packages/frontend/apps/electron/resources/icons/icon_canary.ico
diff --git a/packages/frontend/electron/resources/icons/icon_canary_64x64.png b/packages/frontend/apps/electron/resources/icons/icon_canary_64x64.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_canary_64x64.png
rename to packages/frontend/apps/electron/resources/icons/icon_canary_64x64.png
diff --git a/packages/frontend/electron/resources/icons/icon_internal.icns b/packages/frontend/apps/electron/resources/icons/icon_internal.icns
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_internal.icns
rename to packages/frontend/apps/electron/resources/icons/icon_internal.icns
diff --git a/packages/frontend/electron/resources/icons/icon_internal.ico b/packages/frontend/apps/electron/resources/icons/icon_internal.ico
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_internal.ico
rename to packages/frontend/apps/electron/resources/icons/icon_internal.ico
diff --git a/packages/frontend/electron/resources/icons/icon_internal_64x64.png b/packages/frontend/apps/electron/resources/icons/icon_internal_64x64.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_internal_64x64.png
rename to packages/frontend/apps/electron/resources/icons/icon_internal_64x64.png
diff --git a/packages/frontend/electron/resources/icons/icon_stable_64x64.png b/packages/frontend/apps/electron/resources/icons/icon_stable_64x64.png
similarity index 100%
rename from packages/frontend/electron/resources/icons/icon_stable_64x64.png
rename to packages/frontend/apps/electron/resources/icons/icon_stable_64x64.png
diff --git a/packages/frontend/electron/resources/icons/nsis-sidebar.bmp b/packages/frontend/apps/electron/resources/icons/nsis-sidebar.bmp
similarity index 100%
rename from packages/frontend/electron/resources/icons/nsis-sidebar.bmp
rename to packages/frontend/apps/electron/resources/icons/nsis-sidebar.bmp
diff --git a/packages/frontend/electron/scripts/build-layers.ts b/packages/frontend/apps/electron/scripts/build-layers.ts
similarity index 100%
rename from packages/frontend/electron/scripts/build-layers.ts
rename to packages/frontend/apps/electron/scripts/build-layers.ts
diff --git a/packages/frontend/electron/scripts/common.ts b/packages/frontend/apps/electron/scripts/common.ts
similarity index 100%
rename from packages/frontend/electron/scripts/common.ts
rename to packages/frontend/apps/electron/scripts/common.ts
diff --git a/packages/frontend/electron/scripts/dev.ts b/packages/frontend/apps/electron/scripts/dev.ts
similarity index 100%
rename from packages/frontend/electron/scripts/dev.ts
rename to packages/frontend/apps/electron/scripts/dev.ts
diff --git a/packages/frontend/electron/scripts/generate-assets.ts b/packages/frontend/apps/electron/scripts/generate-assets.ts
similarity index 100%
rename from packages/frontend/electron/scripts/generate-assets.ts
rename to packages/frontend/apps/electron/scripts/generate-assets.ts
diff --git a/packages/frontend/electron/scripts/generate-yml.js b/packages/frontend/apps/electron/scripts/generate-yml.js
similarity index 100%
rename from packages/frontend/electron/scripts/generate-yml.js
rename to packages/frontend/apps/electron/scripts/generate-yml.js
diff --git a/packages/frontend/electron/scripts/macos-arm64-output-check.ts b/packages/frontend/apps/electron/scripts/macos-arm64-output-check.ts
similarity index 100%
rename from packages/frontend/electron/scripts/macos-arm64-output-check.ts
rename to packages/frontend/apps/electron/scripts/macos-arm64-output-check.ts
diff --git a/packages/frontend/electron/scripts/make-env.ts b/packages/frontend/apps/electron/scripts/make-env.ts
similarity index 100%
rename from packages/frontend/electron/scripts/make-env.ts
rename to packages/frontend/apps/electron/scripts/make-env.ts
diff --git a/packages/frontend/electron/scripts/make-nsis.ts b/packages/frontend/apps/electron/scripts/make-nsis.ts
similarity index 100%
rename from packages/frontend/electron/scripts/make-nsis.ts
rename to packages/frontend/apps/electron/scripts/make-nsis.ts
diff --git a/packages/frontend/electron/scripts/make-squirrel.ts b/packages/frontend/apps/electron/scripts/make-squirrel.ts
similarity index 100%
rename from packages/frontend/electron/scripts/make-squirrel.ts
rename to packages/frontend/apps/electron/scripts/make-squirrel.ts
diff --git a/packages/frontend/electron/scripts/nsis-installer.nsh b/packages/frontend/apps/electron/scripts/nsis-installer.nsh
similarity index 100%
rename from packages/frontend/electron/scripts/nsis-installer.nsh
rename to packages/frontend/apps/electron/scripts/nsis-installer.nsh
diff --git a/packages/frontend/electron/scripts/package.json b/packages/frontend/apps/electron/scripts/package.json
similarity index 100%
rename from packages/frontend/electron/scripts/package.json
rename to packages/frontend/apps/electron/scripts/package.json
diff --git a/packages/frontend/electron/src/helper/db/db-adapter.ts b/packages/frontend/apps/electron/src/helper/db/db-adapter.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/db-adapter.ts
rename to packages/frontend/apps/electron/src/helper/db/db-adapter.ts
diff --git a/packages/frontend/electron/src/helper/db/ensure-db.ts b/packages/frontend/apps/electron/src/helper/db/ensure-db.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/ensure-db.ts
rename to packages/frontend/apps/electron/src/helper/db/ensure-db.ts
diff --git a/packages/frontend/electron/src/helper/db/index.ts b/packages/frontend/apps/electron/src/helper/db/index.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/index.ts
rename to packages/frontend/apps/electron/src/helper/db/index.ts
diff --git a/packages/frontend/electron/src/helper/db/merge-update.ts b/packages/frontend/apps/electron/src/helper/db/merge-update.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/merge-update.ts
rename to packages/frontend/apps/electron/src/helper/db/merge-update.ts
diff --git a/packages/frontend/electron/src/helper/db/types.ts b/packages/frontend/apps/electron/src/helper/db/types.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/types.ts
rename to packages/frontend/apps/electron/src/helper/db/types.ts
diff --git a/packages/frontend/electron/src/helper/db/workspace-db-adapter.ts b/packages/frontend/apps/electron/src/helper/db/workspace-db-adapter.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/db/workspace-db-adapter.ts
rename to packages/frontend/apps/electron/src/helper/db/workspace-db-adapter.ts
diff --git a/packages/frontend/electron/src/helper/dialog/dialog.ts b/packages/frontend/apps/electron/src/helper/dialog/dialog.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/dialog/dialog.ts
rename to packages/frontend/apps/electron/src/helper/dialog/dialog.ts
diff --git a/packages/frontend/electron/src/helper/dialog/index.ts b/packages/frontend/apps/electron/src/helper/dialog/index.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/dialog/index.ts
rename to packages/frontend/apps/electron/src/helper/dialog/index.ts
diff --git a/packages/frontend/electron/src/helper/exposed.ts b/packages/frontend/apps/electron/src/helper/exposed.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/exposed.ts
rename to packages/frontend/apps/electron/src/helper/exposed.ts
diff --git a/packages/frontend/electron/src/helper/index.ts b/packages/frontend/apps/electron/src/helper/index.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/index.ts
rename to packages/frontend/apps/electron/src/helper/index.ts
diff --git a/packages/frontend/electron/src/helper/logger.ts b/packages/frontend/apps/electron/src/helper/logger.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/logger.ts
rename to packages/frontend/apps/electron/src/helper/logger.ts
diff --git a/packages/frontend/electron/src/helper/main-rpc.ts b/packages/frontend/apps/electron/src/helper/main-rpc.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/main-rpc.ts
rename to packages/frontend/apps/electron/src/helper/main-rpc.ts
diff --git a/packages/frontend/electron/src/helper/provide.ts b/packages/frontend/apps/electron/src/helper/provide.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/provide.ts
rename to packages/frontend/apps/electron/src/helper/provide.ts
diff --git a/packages/frontend/electron/src/helper/type.ts b/packages/frontend/apps/electron/src/helper/type.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/type.ts
rename to packages/frontend/apps/electron/src/helper/type.ts
diff --git a/packages/frontend/electron/src/helper/workspace/handlers.ts b/packages/frontend/apps/electron/src/helper/workspace/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/workspace/handlers.ts
rename to packages/frontend/apps/electron/src/helper/workspace/handlers.ts
diff --git a/packages/frontend/electron/src/helper/workspace/index.ts b/packages/frontend/apps/electron/src/helper/workspace/index.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/workspace/index.ts
rename to packages/frontend/apps/electron/src/helper/workspace/index.ts
diff --git a/packages/frontend/electron/src/helper/workspace/meta.ts b/packages/frontend/apps/electron/src/helper/workspace/meta.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/workspace/meta.ts
rename to packages/frontend/apps/electron/src/helper/workspace/meta.ts
diff --git a/packages/frontend/electron/src/helper/workspace/subjects.ts b/packages/frontend/apps/electron/src/helper/workspace/subjects.ts
similarity index 100%
rename from packages/frontend/electron/src/helper/workspace/subjects.ts
rename to packages/frontend/apps/electron/src/helper/workspace/subjects.ts
diff --git a/packages/frontend/electron/src/main/application-menu/create.ts b/packages/frontend/apps/electron/src/main/application-menu/create.ts
similarity index 100%
rename from packages/frontend/electron/src/main/application-menu/create.ts
rename to packages/frontend/apps/electron/src/main/application-menu/create.ts
diff --git a/packages/frontend/electron/src/main/application-menu/index.ts b/packages/frontend/apps/electron/src/main/application-menu/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/application-menu/index.ts
rename to packages/frontend/apps/electron/src/main/application-menu/index.ts
diff --git a/packages/frontend/electron/src/main/application-menu/subject.ts b/packages/frontend/apps/electron/src/main/application-menu/subject.ts
similarity index 100%
rename from packages/frontend/electron/src/main/application-menu/subject.ts
rename to packages/frontend/apps/electron/src/main/application-menu/subject.ts
diff --git a/packages/frontend/electron/src/main/clipboard/index.ts b/packages/frontend/apps/electron/src/main/clipboard/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/clipboard/index.ts
rename to packages/frontend/apps/electron/src/main/clipboard/index.ts
diff --git a/packages/frontend/electron/src/main/config-storage/handlers.ts b/packages/frontend/apps/electron/src/main/config-storage/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/main/config-storage/handlers.ts
rename to packages/frontend/apps/electron/src/main/config-storage/handlers.ts
diff --git a/packages/frontend/electron/src/main/config-storage/index.ts b/packages/frontend/apps/electron/src/main/config-storage/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/config-storage/index.ts
rename to packages/frontend/apps/electron/src/main/config-storage/index.ts
diff --git a/packages/frontend/electron/src/main/config-storage/persist.ts b/packages/frontend/apps/electron/src/main/config-storage/persist.ts
similarity index 100%
rename from packages/frontend/electron/src/main/config-storage/persist.ts
rename to packages/frontend/apps/electron/src/main/config-storage/persist.ts
diff --git a/packages/frontend/electron/src/main/config.ts b/packages/frontend/apps/electron/src/main/config.ts
similarity index 100%
rename from packages/frontend/electron/src/main/config.ts
rename to packages/frontend/apps/electron/src/main/config.ts
diff --git a/packages/frontend/electron/src/main/constants.ts b/packages/frontend/apps/electron/src/main/constants.ts
similarity index 100%
rename from packages/frontend/electron/src/main/constants.ts
rename to packages/frontend/apps/electron/src/main/constants.ts
diff --git a/packages/frontend/electron/src/main/deep-link.ts b/packages/frontend/apps/electron/src/main/deep-link.ts
similarity index 100%
rename from packages/frontend/electron/src/main/deep-link.ts
rename to packages/frontend/apps/electron/src/main/deep-link.ts
diff --git a/packages/frontend/electron/src/main/events.ts b/packages/frontend/apps/electron/src/main/events.ts
similarity index 100%
rename from packages/frontend/electron/src/main/events.ts
rename to packages/frontend/apps/electron/src/main/events.ts
diff --git a/packages/frontend/electron/src/main/export/index.ts b/packages/frontend/apps/electron/src/main/export/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/export/index.ts
rename to packages/frontend/apps/electron/src/main/export/index.ts
diff --git a/packages/frontend/electron/src/main/export/pdf.ts b/packages/frontend/apps/electron/src/main/export/pdf.ts
similarity index 100%
rename from packages/frontend/electron/src/main/export/pdf.ts
rename to packages/frontend/apps/electron/src/main/export/pdf.ts
diff --git a/packages/frontend/electron/src/main/export/utils.ts b/packages/frontend/apps/electron/src/main/export/utils.ts
similarity index 100%
rename from packages/frontend/electron/src/main/export/utils.ts
rename to packages/frontend/apps/electron/src/main/export/utils.ts
diff --git a/packages/frontend/electron/src/main/exposed.ts b/packages/frontend/apps/electron/src/main/exposed.ts
similarity index 100%
rename from packages/frontend/electron/src/main/exposed.ts
rename to packages/frontend/apps/electron/src/main/exposed.ts
diff --git a/packages/frontend/electron/src/main/find-in-page/handlers.ts b/packages/frontend/apps/electron/src/main/find-in-page/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/main/find-in-page/handlers.ts
rename to packages/frontend/apps/electron/src/main/find-in-page/handlers.ts
diff --git a/packages/frontend/electron/src/main/find-in-page/index.ts b/packages/frontend/apps/electron/src/main/find-in-page/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/find-in-page/index.ts
rename to packages/frontend/apps/electron/src/main/find-in-page/index.ts
diff --git a/packages/frontend/electron/src/main/handlers.ts b/packages/frontend/apps/electron/src/main/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/main/handlers.ts
rename to packages/frontend/apps/electron/src/main/handlers.ts
diff --git a/packages/frontend/electron/src/main/helper-process.ts b/packages/frontend/apps/electron/src/main/helper-process.ts
similarity index 100%
rename from packages/frontend/electron/src/main/helper-process.ts
rename to packages/frontend/apps/electron/src/main/helper-process.ts
diff --git a/packages/frontend/electron/src/main/index.ts b/packages/frontend/apps/electron/src/main/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/index.ts
rename to packages/frontend/apps/electron/src/main/index.ts
diff --git a/packages/frontend/electron/src/main/logger.ts b/packages/frontend/apps/electron/src/main/logger.ts
similarity index 100%
rename from packages/frontend/electron/src/main/logger.ts
rename to packages/frontend/apps/electron/src/main/logger.ts
diff --git a/packages/frontend/electron/src/main/protocol.ts b/packages/frontend/apps/electron/src/main/protocol.ts
similarity index 100%
rename from packages/frontend/electron/src/main/protocol.ts
rename to packages/frontend/apps/electron/src/main/protocol.ts
diff --git a/packages/frontend/electron/src/main/security-restrictions.ts b/packages/frontend/apps/electron/src/main/security-restrictions.ts
similarity index 100%
rename from packages/frontend/electron/src/main/security-restrictions.ts
rename to packages/frontend/apps/electron/src/main/security-restrictions.ts
diff --git a/packages/frontend/electron/src/main/shared-storage/events.ts b/packages/frontend/apps/electron/src/main/shared-storage/events.ts
similarity index 100%
rename from packages/frontend/electron/src/main/shared-storage/events.ts
rename to packages/frontend/apps/electron/src/main/shared-storage/events.ts
diff --git a/packages/frontend/electron/src/main/shared-storage/handlers.ts b/packages/frontend/apps/electron/src/main/shared-storage/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/main/shared-storage/handlers.ts
rename to packages/frontend/apps/electron/src/main/shared-storage/handlers.ts
diff --git a/packages/frontend/electron/src/main/shared-storage/index.ts b/packages/frontend/apps/electron/src/main/shared-storage/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/shared-storage/index.ts
rename to packages/frontend/apps/electron/src/main/shared-storage/index.ts
diff --git a/packages/frontend/electron/src/main/shared-storage/json-file.ts b/packages/frontend/apps/electron/src/main/shared-storage/json-file.ts
similarity index 100%
rename from packages/frontend/electron/src/main/shared-storage/json-file.ts
rename to packages/frontend/apps/electron/src/main/shared-storage/json-file.ts
diff --git a/packages/frontend/electron/src/main/shared-storage/storage.ts b/packages/frontend/apps/electron/src/main/shared-storage/storage.ts
similarity index 100%
rename from packages/frontend/electron/src/main/shared-storage/storage.ts
rename to packages/frontend/apps/electron/src/main/shared-storage/storage.ts
diff --git a/packages/frontend/electron/src/main/type.ts b/packages/frontend/apps/electron/src/main/type.ts
similarity index 100%
rename from packages/frontend/electron/src/main/type.ts
rename to packages/frontend/apps/electron/src/main/type.ts
diff --git a/packages/frontend/electron/src/main/ui/challenge.ts b/packages/frontend/apps/electron/src/main/ui/challenge.ts
similarity index 100%
rename from packages/frontend/electron/src/main/ui/challenge.ts
rename to packages/frontend/apps/electron/src/main/ui/challenge.ts
diff --git a/packages/frontend/electron/src/main/ui/events.ts b/packages/frontend/apps/electron/src/main/ui/events.ts
similarity index 100%
rename from packages/frontend/electron/src/main/ui/events.ts
rename to packages/frontend/apps/electron/src/main/ui/events.ts
diff --git a/packages/frontend/electron/src/main/ui/handlers.ts b/packages/frontend/apps/electron/src/main/ui/handlers.ts
similarity index 100%
rename from packages/frontend/electron/src/main/ui/handlers.ts
rename to packages/frontend/apps/electron/src/main/ui/handlers.ts
diff --git a/packages/frontend/electron/src/main/ui/index.ts b/packages/frontend/apps/electron/src/main/ui/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/ui/index.ts
rename to packages/frontend/apps/electron/src/main/ui/index.ts
diff --git a/packages/frontend/electron/src/main/ui/subject.ts b/packages/frontend/apps/electron/src/main/ui/subject.ts
similarity index 100%
rename from packages/frontend/electron/src/main/ui/subject.ts
rename to packages/frontend/apps/electron/src/main/ui/subject.ts
diff --git a/packages/frontend/electron/src/main/updater/affine-update-provider.ts b/packages/frontend/apps/electron/src/main/updater/affine-update-provider.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/affine-update-provider.ts
rename to packages/frontend/apps/electron/src/main/updater/affine-update-provider.ts
diff --git a/packages/frontend/electron/src/main/updater/electron-updater.ts b/packages/frontend/apps/electron/src/main/updater/electron-updater.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/electron-updater.ts
rename to packages/frontend/apps/electron/src/main/updater/electron-updater.ts
diff --git a/packages/frontend/electron/src/main/updater/event.ts b/packages/frontend/apps/electron/src/main/updater/event.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/event.ts
rename to packages/frontend/apps/electron/src/main/updater/event.ts
diff --git a/packages/frontend/electron/src/main/updater/index.ts b/packages/frontend/apps/electron/src/main/updater/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/index.ts
rename to packages/frontend/apps/electron/src/main/updater/index.ts
diff --git a/packages/frontend/electron/src/main/updater/utils.ts b/packages/frontend/apps/electron/src/main/updater/utils.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/utils.ts
rename to packages/frontend/apps/electron/src/main/updater/utils.ts
diff --git a/packages/frontend/electron/src/main/updater/windows-updater.ts b/packages/frontend/apps/electron/src/main/updater/windows-updater.ts
similarity index 100%
rename from packages/frontend/electron/src/main/updater/windows-updater.ts
rename to packages/frontend/apps/electron/src/main/updater/windows-updater.ts
diff --git a/packages/frontend/electron/src/main/utils.ts b/packages/frontend/apps/electron/src/main/utils.ts
similarity index 100%
rename from packages/frontend/electron/src/main/utils.ts
rename to packages/frontend/apps/electron/src/main/utils.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/authentication.ts b/packages/frontend/apps/electron/src/main/windows-manager/authentication.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/authentication.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/authentication.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/context-menu.ts b/packages/frontend/apps/electron/src/main/windows-manager/context-menu.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/context-menu.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/context-menu.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/custom-theme-window.ts b/packages/frontend/apps/electron/src/main/windows-manager/custom-theme-window.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/custom-theme-window.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/custom-theme-window.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/index.ts b/packages/frontend/apps/electron/src/main/windows-manager/index.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/index.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/index.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/launcher.ts b/packages/frontend/apps/electron/src/main/windows-manager/launcher.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/launcher.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/launcher.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/main-window.ts b/packages/frontend/apps/electron/src/main/windows-manager/main-window.ts
similarity index 98%
rename from packages/frontend/electron/src/main/windows-manager/main-window.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/main-window.ts
index a05eddf88..89388762d 100644
--- a/packages/frontend/electron/src/main/windows-manager/main-window.ts
+++ b/packages/frontend/apps/electron/src/main/windows-manager/main-window.ts
@@ -90,7 +90,7 @@ export class MainWindowManager {
if (isLinux()) {
browserWindow.setIcon(
- // __dirname is `packages/frontend/electron/dist` (the bundled output directory)
+ // __dirname is `packages/frontend/apps/electron/dist` (the bundled output directory)
join(__dirname, `../resources/icons/icon_${buildType}_64x64.png`)
);
}
diff --git a/packages/frontend/electron/src/main/windows-manager/onboarding.ts b/packages/frontend/apps/electron/src/main/windows-manager/onboarding.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/onboarding.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/onboarding.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/stage.ts b/packages/frontend/apps/electron/src/main/windows-manager/stage.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/stage.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/stage.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/tab-views-meta-schema.ts b/packages/frontend/apps/electron/src/main/windows-manager/tab-views-meta-schema.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/tab-views-meta-schema.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/tab-views-meta-schema.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/tab-views.ts b/packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/tab-views.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts
diff --git a/packages/frontend/electron/src/main/windows-manager/types.ts b/packages/frontend/apps/electron/src/main/windows-manager/types.ts
similarity index 100%
rename from packages/frontend/electron/src/main/windows-manager/types.ts
rename to packages/frontend/apps/electron/src/main/windows-manager/types.ts
diff --git a/packages/frontend/electron/src/preload/bootstrap.ts b/packages/frontend/apps/electron/src/preload/bootstrap.ts
similarity index 100%
rename from packages/frontend/electron/src/preload/bootstrap.ts
rename to packages/frontend/apps/electron/src/preload/bootstrap.ts
diff --git a/packages/frontend/electron/src/preload/electron-api.ts b/packages/frontend/apps/electron/src/preload/electron-api.ts
similarity index 100%
rename from packages/frontend/electron/src/preload/electron-api.ts
rename to packages/frontend/apps/electron/src/preload/electron-api.ts
diff --git a/packages/frontend/electron/src/preload/index.ts b/packages/frontend/apps/electron/src/preload/index.ts
similarity index 100%
rename from packages/frontend/electron/src/preload/index.ts
rename to packages/frontend/apps/electron/src/preload/index.ts
diff --git a/packages/frontend/electron/src/preload/shared-storage.ts b/packages/frontend/apps/electron/src/preload/shared-storage.ts
similarity index 100%
rename from packages/frontend/electron/src/preload/shared-storage.ts
rename to packages/frontend/apps/electron/src/preload/shared-storage.ts
diff --git a/packages/frontend/electron/src/shared/type.ts b/packages/frontend/apps/electron/src/shared/type.ts
similarity index 100%
rename from packages/frontend/electron/src/shared/type.ts
rename to packages/frontend/apps/electron/src/shared/type.ts
diff --git a/packages/frontend/electron/src/shared/utils.ts b/packages/frontend/apps/electron/src/shared/utils.ts
similarity index 100%
rename from packages/frontend/electron/src/shared/utils.ts
rename to packages/frontend/apps/electron/src/shared/utils.ts
diff --git a/packages/frontend/electron/test/db/ensure-db.spec.ts b/packages/frontend/apps/electron/test/db/ensure-db.spec.ts
similarity index 100%
rename from packages/frontend/electron/test/db/ensure-db.spec.ts
rename to packages/frontend/apps/electron/test/db/ensure-db.spec.ts
diff --git a/packages/frontend/electron/test/db/workspace-db-adapter.spec.ts b/packages/frontend/apps/electron/test/db/workspace-db-adapter.spec.ts
similarity index 100%
rename from packages/frontend/electron/test/db/workspace-db-adapter.spec.ts
rename to packages/frontend/apps/electron/test/db/workspace-db-adapter.spec.ts
diff --git a/packages/frontend/electron/test/main/fixtures/candidates/beta.json b/packages/frontend/apps/electron/test/main/fixtures/candidates/beta.json
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/candidates/beta.json
rename to packages/frontend/apps/electron/test/main/fixtures/candidates/beta.json
diff --git a/packages/frontend/electron/test/main/fixtures/candidates/canary.json b/packages/frontend/apps/electron/test/main/fixtures/candidates/canary.json
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/candidates/canary.json
rename to packages/frontend/apps/electron/test/main/fixtures/candidates/canary.json
diff --git a/packages/frontend/electron/test/main/fixtures/candidates/stable.json b/packages/frontend/apps/electron/test/main/fixtures/candidates/stable.json
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/candidates/stable.json
rename to packages/frontend/apps/electron/test/main/fixtures/candidates/stable.json
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-linux.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-linux.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-linux.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-linux.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-mac.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-mac.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-mac.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest-mac.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3-beta.2/latest.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3-beta.2/latest.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest-linux.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest-linux.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest-linux.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest-linux.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest-mac.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest-mac.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest-mac.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest-mac.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.16.3/latest.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.16.3/latest.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-linux.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-linux.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-linux.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-linux.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-mac.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-mac.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-mac.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest-mac.yml
diff --git a/packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest.yml b/packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest.yml
similarity index 100%
rename from packages/frontend/electron/test/main/fixtures/releases/0.17.0-canary.7/latest.yml
rename to packages/frontend/apps/electron/test/main/fixtures/releases/0.17.0-canary.7/latest.yml
diff --git a/packages/frontend/electron/test/main/mocks/app-adapter.ts b/packages/frontend/apps/electron/test/main/mocks/app-adapter.ts
similarity index 100%
rename from packages/frontend/electron/test/main/mocks/app-adapter.ts
rename to packages/frontend/apps/electron/test/main/mocks/app-adapter.ts
diff --git a/packages/frontend/electron/test/main/mocks/http-executor.ts b/packages/frontend/apps/electron/test/main/mocks/http-executor.ts
similarity index 100%
rename from packages/frontend/electron/test/main/mocks/http-executor.ts
rename to packages/frontend/apps/electron/test/main/mocks/http-executor.ts
diff --git a/packages/frontend/electron/test/main/mocks/index.ts b/packages/frontend/apps/electron/test/main/mocks/index.ts
similarity index 100%
rename from packages/frontend/electron/test/main/mocks/index.ts
rename to packages/frontend/apps/electron/test/main/mocks/index.ts
diff --git a/packages/frontend/electron/test/main/mocks/updater.ts b/packages/frontend/apps/electron/test/main/mocks/updater.ts
similarity index 100%
rename from packages/frontend/electron/test/main/mocks/updater.ts
rename to packages/frontend/apps/electron/test/main/mocks/updater.ts
diff --git a/packages/frontend/electron/test/main/updater.spec.ts b/packages/frontend/apps/electron/test/main/updater.spec.ts
similarity index 100%
rename from packages/frontend/electron/test/main/updater.spec.ts
rename to packages/frontend/apps/electron/test/main/updater.spec.ts
diff --git a/packages/frontend/electron/test/workspace/handlers.spec.ts b/packages/frontend/apps/electron/test/workspace/handlers.spec.ts
similarity index 100%
rename from packages/frontend/electron/test/workspace/handlers.spec.ts
rename to packages/frontend/apps/electron/test/workspace/handlers.spec.ts
diff --git a/packages/frontend/electron/tsconfig.json b/packages/frontend/apps/electron/tsconfig.json
similarity index 79%
rename from packages/frontend/electron/tsconfig.json
rename to packages/frontend/apps/electron/tsconfig.json
index ff29aa8d6..df1043bd0 100644
--- a/packages/frontend/electron/tsconfig.json
+++ b/packages/frontend/apps/electron/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.json",
+ "extends": "../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"skipLibCheck": true,
@@ -20,19 +20,19 @@
"exclude": ["renderer", "node_modules", "lib", "dist", "**/__tests__/**/*"],
"references": [
{
- "path": "../../frontend/native"
+ "path": "../../../frontend/native"
},
{
- "path": "../../common/infra"
+ "path": "../../../common/infra"
},
{
- "path": "../../common/env"
+ "path": "../../../common/env"
},
{
"path": "./tsconfig.node.json"
},
{
- "path": "../../../tests/kit"
+ "path": "../../../../tests/kit"
}
],
"ts-node": {
diff --git a/packages/frontend/electron/tsconfig.node.json b/packages/frontend/apps/electron/tsconfig.node.json
similarity index 91%
rename from packages/frontend/electron/tsconfig.node.json
rename to packages/frontend/apps/electron/tsconfig.node.json
index 493102cca..2beac5166 100644
--- a/packages/frontend/electron/tsconfig.node.json
+++ b/packages/frontend/apps/electron/tsconfig.node.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.json",
+ "extends": "../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"target": "ESNext",
diff --git a/packages/frontend/electron/tsconfig.test.json b/packages/frontend/apps/electron/tsconfig.test.json
similarity index 90%
rename from packages/frontend/electron/tsconfig.test.json
rename to packages/frontend/apps/electron/tsconfig.test.json
index 725adb936..316f9c4e9 100644
--- a/packages/frontend/electron/tsconfig.test.json
+++ b/packages/frontend/apps/electron/tsconfig.test.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.json",
+ "extends": "../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"target": "ESNext",
diff --git a/packages/frontend/electron/vitest.config.ts b/packages/frontend/apps/electron/vitest.config.ts
similarity index 80%
rename from packages/frontend/electron/vitest.config.ts
rename to packages/frontend/apps/electron/vitest.config.ts
index 0f9c6c70a..c3d33d8d0 100644
--- a/packages/frontend/electron/vitest.config.ts
+++ b/packages/frontend/apps/electron/vitest.config.ts
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
import react from '@vitejs/plugin-react-swc';
import { defineConfig } from 'vitest/config';
-const rootDir = fileURLToPath(new URL('../../..', import.meta.url));
+const rootDir = fileURLToPath(new URL('../../../..', import.meta.url));
export default defineConfig({
plugins: [react()],
@@ -12,7 +12,10 @@ export default defineConfig({
alias: {
// prevent tests using two different sources of yjs
yjs: resolve(rootDir, 'node_modules/yjs'),
- '@affine/electron': resolve(rootDir, 'packages/frontend/electron/src'),
+ '@affine/electron': resolve(
+ rootDir,
+ 'packages/frontend/apps/electron/src'
+ ),
},
},
diff --git a/packages/frontend/apps/mobile/README.md b/packages/frontend/apps/mobile/README.md
new file mode 100644
index 000000000..6175f2b72
--- /dev/null
+++ b/packages/frontend/apps/mobile/README.md
@@ -0,0 +1,3 @@
+# mobile
+
+AFFiNE Mobile Edition Web app.
diff --git a/packages/frontend/mobile/package.json b/packages/frontend/apps/mobile/package.json
similarity index 89%
rename from packages/frontend/mobile/package.json
rename to packages/frontend/apps/mobile/package.json
index b26c832e9..e942e709b 100644
--- a/packages/frontend/mobile/package.json
+++ b/packages/frontend/apps/mobile/package.json
@@ -13,7 +13,11 @@
"@affine/component": "workspace:*",
"@affine/core": "workspace:*",
"@affine/env": "workspace:*",
+ "@affine/graphql": "workspace:*",
+ "@affine/i18n": "workspace:*",
+ "@blocksuite/blocks": "^0.17.6",
"@blocksuite/icons": "^2.1.66",
+ "@radix-ui/react-collapsible": "^1.0.3",
"@sentry/react": "^8.0.0",
"@toeverything/theme": "^1.0.9",
"clsx": "^2.1.1",
@@ -21,7 +25,6 @@
"figma-squircle": "^1.0.0",
"intl-segmenter-polyfill-rs": "^0.1.7",
"jotai": "^2.9.3",
- "jotai-devtools": "^0.10.1",
"jotai-effect": "^1.0.2",
"jotai-scope": "^0.7.2",
"lodash-es": "^4.17.21",
diff --git a/packages/frontend/mobile/project.json b/packages/frontend/apps/mobile/project.json
similarity index 100%
rename from packages/frontend/mobile/project.json
rename to packages/frontend/apps/mobile/project.json
diff --git a/packages/frontend/mobile/src/app.tsx b/packages/frontend/apps/mobile/src/app.tsx
similarity index 100%
rename from packages/frontend/mobile/src/app.tsx
rename to packages/frontend/apps/mobile/src/app.tsx
diff --git a/packages/frontend/mobile/src/components/README.md b/packages/frontend/apps/mobile/src/components/README.md
similarity index 100%
rename from packages/frontend/mobile/src/components/README.md
rename to packages/frontend/apps/mobile/src/components/README.md
diff --git a/packages/frontend/mobile/src/components/app-tabs/index.tsx b/packages/frontend/apps/mobile/src/components/app-tabs/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/app-tabs/index.tsx
rename to packages/frontend/apps/mobile/src/components/app-tabs/index.tsx
diff --git a/packages/frontend/mobile/src/components/app-tabs/styles.css.ts b/packages/frontend/apps/mobile/src/components/app-tabs/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/app-tabs/styles.css.ts
rename to packages/frontend/apps/mobile/src/components/app-tabs/styles.css.ts
diff --git a/packages/frontend/mobile/src/components/doc-card/index.tsx b/packages/frontend/apps/mobile/src/components/doc-card/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/doc-card/index.tsx
rename to packages/frontend/apps/mobile/src/components/doc-card/index.tsx
diff --git a/packages/frontend/mobile/src/components/doc-card/styles.css.tsx b/packages/frontend/apps/mobile/src/components/doc-card/styles.css.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/doc-card/styles.css.tsx
rename to packages/frontend/apps/mobile/src/components/doc-card/styles.css.tsx
diff --git a/packages/frontend/mobile/src/components/doc-card/tag.css.ts b/packages/frontend/apps/mobile/src/components/doc-card/tag.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/doc-card/tag.css.ts
rename to packages/frontend/apps/mobile/src/components/doc-card/tag.css.ts
diff --git a/packages/frontend/mobile/src/components/doc-card/tag.tsx b/packages/frontend/apps/mobile/src/components/doc-card/tag.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/doc-card/tag.tsx
rename to packages/frontend/apps/mobile/src/components/doc-card/tag.tsx
diff --git a/packages/frontend/mobile/src/components/index.ts b/packages/frontend/apps/mobile/src/components/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/index.ts
rename to packages/frontend/apps/mobile/src/components/index.ts
diff --git a/packages/frontend/mobile/src/components/page-header/index.tsx b/packages/frontend/apps/mobile/src/components/page-header/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/page-header/index.tsx
rename to packages/frontend/apps/mobile/src/components/page-header/index.tsx
diff --git a/packages/frontend/mobile/src/components/page-header/styles.css.ts b/packages/frontend/apps/mobile/src/components/page-header/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/page-header/styles.css.ts
rename to packages/frontend/apps/mobile/src/components/page-header/styles.css.ts
diff --git a/packages/frontend/mobile/src/components/search-input/index.tsx b/packages/frontend/apps/mobile/src/components/search-input/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/search-input/index.tsx
rename to packages/frontend/apps/mobile/src/components/search-input/index.tsx
diff --git a/packages/frontend/mobile/src/components/search-input/style.css.ts b/packages/frontend/apps/mobile/src/components/search-input/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/search-input/style.css.ts
rename to packages/frontend/apps/mobile/src/components/search-input/style.css.ts
diff --git a/packages/frontend/mobile/src/components/search-result/index.ts b/packages/frontend/apps/mobile/src/components/search-result/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/search-result/index.ts
rename to packages/frontend/apps/mobile/src/components/search-result/index.ts
diff --git a/packages/frontend/mobile/src/components/search-result/search-res-label.tsx b/packages/frontend/apps/mobile/src/components/search-result/search-res-label.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/search-result/search-res-label.tsx
rename to packages/frontend/apps/mobile/src/components/search-result/search-res-label.tsx
diff --git a/packages/frontend/mobile/src/components/search-result/universal-item.css.ts b/packages/frontend/apps/mobile/src/components/search-result/universal-item.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/search-result/universal-item.css.ts
rename to packages/frontend/apps/mobile/src/components/search-result/universal-item.css.ts
diff --git a/packages/frontend/mobile/src/components/search-result/universal-item.tsx b/packages/frontend/apps/mobile/src/components/search-result/universal-item.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/search-result/universal-item.tsx
rename to packages/frontend/apps/mobile/src/components/search-result/universal-item.tsx
diff --git a/packages/frontend/mobile/src/components/user-plan-tag/index.tsx b/packages/frontend/apps/mobile/src/components/user-plan-tag/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/user-plan-tag/index.tsx
rename to packages/frontend/apps/mobile/src/components/user-plan-tag/index.tsx
diff --git a/packages/frontend/mobile/src/components/user-plan-tag/style.css.ts b/packages/frontend/apps/mobile/src/components/user-plan-tag/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/user-plan-tag/style.css.ts
rename to packages/frontend/apps/mobile/src/components/user-plan-tag/style.css.ts
diff --git a/packages/frontend/mobile/src/components/workspace-selector/card.css.ts b/packages/frontend/apps/mobile/src/components/workspace-selector/card.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/workspace-selector/card.css.ts
rename to packages/frontend/apps/mobile/src/components/workspace-selector/card.css.ts
diff --git a/packages/frontend/mobile/src/components/workspace-selector/current-card.tsx b/packages/frontend/apps/mobile/src/components/workspace-selector/current-card.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/workspace-selector/current-card.tsx
rename to packages/frontend/apps/mobile/src/components/workspace-selector/current-card.tsx
diff --git a/packages/frontend/mobile/src/components/workspace-selector/index.tsx b/packages/frontend/apps/mobile/src/components/workspace-selector/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/workspace-selector/index.tsx
rename to packages/frontend/apps/mobile/src/components/workspace-selector/index.tsx
diff --git a/packages/frontend/mobile/src/components/workspace-selector/menu.css.ts b/packages/frontend/apps/mobile/src/components/workspace-selector/menu.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/components/workspace-selector/menu.css.ts
rename to packages/frontend/apps/mobile/src/components/workspace-selector/menu.css.ts
diff --git a/packages/frontend/mobile/src/components/workspace-selector/menu.tsx b/packages/frontend/apps/mobile/src/components/workspace-selector/menu.tsx
similarity index 100%
rename from packages/frontend/mobile/src/components/workspace-selector/menu.tsx
rename to packages/frontend/apps/mobile/src/components/workspace-selector/menu.tsx
diff --git a/packages/frontend/mobile/src/hooks/use-global-events.ts b/packages/frontend/apps/mobile/src/hooks/use-global-events.ts
similarity index 100%
rename from packages/frontend/mobile/src/hooks/use-global-events.ts
rename to packages/frontend/apps/mobile/src/hooks/use-global-events.ts
diff --git a/packages/frontend/mobile/src/index.tsx b/packages/frontend/apps/mobile/src/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/index.tsx
rename to packages/frontend/apps/mobile/src/index.tsx
diff --git a/packages/frontend/mobile/src/modules/index.ts b/packages/frontend/apps/mobile/src/modules/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/modules/index.ts
rename to packages/frontend/apps/mobile/src/modules/index.ts
diff --git a/packages/frontend/mobile/src/modules/search/index.ts b/packages/frontend/apps/mobile/src/modules/search/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/modules/search/index.ts
rename to packages/frontend/apps/mobile/src/modules/search/index.ts
diff --git a/packages/frontend/mobile/src/modules/search/service/search.ts b/packages/frontend/apps/mobile/src/modules/search/service/search.ts
similarity index 100%
rename from packages/frontend/mobile/src/modules/search/service/search.ts
rename to packages/frontend/apps/mobile/src/modules/search/service/search.ts
diff --git a/packages/frontend/mobile/src/pages/404.tsx b/packages/frontend/apps/mobile/src/pages/404.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/404.tsx
rename to packages/frontend/apps/mobile/src/pages/404.tsx
diff --git a/packages/frontend/mobile/src/pages/auth.tsx b/packages/frontend/apps/mobile/src/pages/auth.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/auth.tsx
rename to packages/frontend/apps/mobile/src/pages/auth.tsx
diff --git a/packages/frontend/mobile/src/pages/index.tsx b/packages/frontend/apps/mobile/src/pages/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/index.tsx
rename to packages/frontend/apps/mobile/src/pages/index.tsx
diff --git a/packages/frontend/mobile/src/pages/sign-in.tsx b/packages/frontend/apps/mobile/src/pages/sign-in.tsx
similarity index 94%
rename from packages/frontend/mobile/src/pages/sign-in.tsx
rename to packages/frontend/apps/mobile/src/pages/sign-in.tsx
index 367bf2186..09a4171e1 100644
--- a/packages/frontend/mobile/src/pages/sign-in.tsx
+++ b/packages/frontend/apps/mobile/src/pages/sign-in.tsx
@@ -5,6 +5,7 @@ import {
import { AuthService } from '@affine/core/modules/cloud';
import { useLiveData, useService } from '@toeverything/infra';
import { useEffect } from 'react';
+// eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { useNavigate, useSearchParams } from 'react-router-dom';
import { MobileSignIn } from '../views/sign-in/mobile-sign-in';
diff --git a/packages/frontend/mobile/src/pages/workspace/all.tsx b/packages/frontend/apps/mobile/src/pages/workspace/all.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/all.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/all.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/collection/detail.tsx b/packages/frontend/apps/mobile/src/pages/workspace/collection/detail.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/collection/detail.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/collection/detail.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/collection/index.tsx b/packages/frontend/apps/mobile/src/pages/workspace/collection/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/collection/index.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/collection/index.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/journal-icon-button.tsx b/packages/frontend/apps/mobile/src/pages/workspace/detail/journal-icon-button.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/journal-icon-button.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/journal-icon-button.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/mobile-detail-page.css.ts b/packages/frontend/apps/mobile/src/pages/workspace/detail/mobile-detail-page.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/mobile-detail-page.css.ts
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/mobile-detail-page.css.ts
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/mobile-detail-page.tsx b/packages/frontend/apps/mobile/src/pages/workspace/detail/mobile-detail-page.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/mobile-detail-page.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/mobile-detail-page.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/page-header-more-button.css.ts b/packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-more-button.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/page-header-more-button.css.ts
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-more-button.css.ts
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/page-header-more-button.tsx b/packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-more-button.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/page-header-more-button.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-more-button.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/page-header-share-button.css.ts b/packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-share-button.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/page-header-share-button.css.ts
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-share-button.css.ts
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/page-header-share-button.tsx b/packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-share-button.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/page-header-share-button.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/page-header-share-button.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/sheets/doc-info.css.ts b/packages/frontend/apps/mobile/src/pages/workspace/detail/sheets/doc-info.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/sheets/doc-info.css.ts
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/sheets/doc-info.css.ts
diff --git a/packages/frontend/mobile/src/pages/workspace/detail/sheets/doc-info.tsx b/packages/frontend/apps/mobile/src/pages/workspace/detail/sheets/doc-info.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/detail/sheets/doc-info.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/detail/sheets/doc-info.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/home.tsx b/packages/frontend/apps/mobile/src/pages/workspace/home.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/home.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/home.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/index.tsx b/packages/frontend/apps/mobile/src/pages/workspace/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/index.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/index.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/layout.tsx b/packages/frontend/apps/mobile/src/pages/workspace/layout.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/layout.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/layout.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/search.tsx b/packages/frontend/apps/mobile/src/pages/workspace/search.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/search.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/search.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/tag/detail.tsx b/packages/frontend/apps/mobile/src/pages/workspace/tag/detail.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/tag/detail.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/tag/detail.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/tag/index.tsx b/packages/frontend/apps/mobile/src/pages/workspace/tag/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/tag/index.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/tag/index.tsx
diff --git a/packages/frontend/mobile/src/pages/workspace/trash.tsx b/packages/frontend/apps/mobile/src/pages/workspace/trash.tsx
similarity index 100%
rename from packages/frontend/mobile/src/pages/workspace/trash.tsx
rename to packages/frontend/apps/mobile/src/pages/workspace/trash.tsx
diff --git a/packages/frontend/mobile/src/polyfill/dispose.ts b/packages/frontend/apps/mobile/src/polyfill/dispose.ts
similarity index 100%
rename from packages/frontend/mobile/src/polyfill/dispose.ts
rename to packages/frontend/apps/mobile/src/polyfill/dispose.ts
diff --git a/packages/frontend/mobile/src/polyfill/intl-segmenter.ts b/packages/frontend/apps/mobile/src/polyfill/intl-segmenter.ts
similarity index 100%
rename from packages/frontend/mobile/src/polyfill/intl-segmenter.ts
rename to packages/frontend/apps/mobile/src/polyfill/intl-segmenter.ts
diff --git a/packages/frontend/mobile/src/polyfill/promise-with-resolvers.ts b/packages/frontend/apps/mobile/src/polyfill/promise-with-resolvers.ts
similarity index 100%
rename from packages/frontend/mobile/src/polyfill/promise-with-resolvers.ts
rename to packages/frontend/apps/mobile/src/polyfill/promise-with-resolvers.ts
diff --git a/packages/frontend/mobile/src/polyfill/request-idle-callback.ts b/packages/frontend/apps/mobile/src/polyfill/request-idle-callback.ts
similarity index 100%
rename from packages/frontend/mobile/src/polyfill/request-idle-callback.ts
rename to packages/frontend/apps/mobile/src/polyfill/request-idle-callback.ts
diff --git a/packages/frontend/mobile/src/provider/model-provider.tsx b/packages/frontend/apps/mobile/src/provider/model-provider.tsx
similarity index 100%
rename from packages/frontend/mobile/src/provider/model-provider.tsx
rename to packages/frontend/apps/mobile/src/provider/model-provider.tsx
diff --git a/packages/frontend/mobile/src/router.tsx b/packages/frontend/apps/mobile/src/router.tsx
similarity index 98%
rename from packages/frontend/mobile/src/router.tsx
rename to packages/frontend/apps/mobile/src/router.tsx
index 44b5d5fca..dd44d2a06 100644
--- a/packages/frontend/mobile/src/router.tsx
+++ b/packages/frontend/apps/mobile/src/router.tsx
@@ -6,6 +6,7 @@ import {
createBrowserRouter as reactRouterCreateBrowserRouter,
Outlet,
redirect,
+ // eslint-disable-next-line @typescript-eslint/no-restricted-imports
useNavigate,
} from 'react-router-dom';
diff --git a/packages/frontend/mobile/src/styles/mobile.css.ts b/packages/frontend/apps/mobile/src/styles/mobile.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/styles/mobile.css.ts
rename to packages/frontend/apps/mobile/src/styles/mobile.css.ts
diff --git a/packages/frontend/mobile/src/views/README.md b/packages/frontend/apps/mobile/src/views/README.md
similarity index 100%
rename from packages/frontend/mobile/src/views/README.md
rename to packages/frontend/apps/mobile/src/views/README.md
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/detail.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/collection/detail.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/detail.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/detail.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/detail.tsx b/packages/frontend/apps/mobile/src/views/all-docs/collection/detail.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/detail.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/detail.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/empty.tsx b/packages/frontend/apps/mobile/src/views/all-docs/collection/empty.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/empty.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/empty.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/index.ts b/packages/frontend/apps/mobile/src/views/all-docs/collection/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/index.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/index.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/item.tsx b/packages/frontend/apps/mobile/src/views/all-docs/collection/item.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/item.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/item.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/list.tsx b/packages/frontend/apps/mobile/src/views/all-docs/collection/list.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/list.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/list.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/collection/styles.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/collection/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/collection/styles.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/collection/styles.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/index.ts b/packages/frontend/apps/mobile/src/views/all-docs/doc/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/index.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/index.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/list.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/doc/list.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/list.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/list.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/list.tsx b/packages/frontend/apps/mobile/src/views/all-docs/doc/list.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/list.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/list.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/masonry.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/doc/masonry.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/masonry.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/masonry.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/masonry.tsx b/packages/frontend/apps/mobile/src/views/all-docs/doc/masonry.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/masonry.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/masonry.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/menu.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/doc/menu.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/menu.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/menu.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/doc/menu.tsx b/packages/frontend/apps/mobile/src/views/all-docs/doc/menu.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/doc/menu.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/doc/menu.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/header.tsx b/packages/frontend/apps/mobile/src/views/all-docs/header.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/header.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/header.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/index.ts b/packages/frontend/apps/mobile/src/views/all-docs/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/index.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/index.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/style.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/style.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/style.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/tabs.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tabs.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tabs.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tabs.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/detail-header.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tag/detail-header.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/detail-header.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/detail-header.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/detail.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/tag/detail.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/detail.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/detail.css.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/detail.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tag/detail.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/detail.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/detail.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/empty.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tag/empty.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/empty.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/empty.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/index.ts b/packages/frontend/apps/mobile/src/views/all-docs/tag/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/index.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/index.ts
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/item.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tag/item.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/item.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/item.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/list.tsx b/packages/frontend/apps/mobile/src/views/all-docs/tag/list.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/list.tsx
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/list.tsx
diff --git a/packages/frontend/mobile/src/views/all-docs/tag/styles.css.ts b/packages/frontend/apps/mobile/src/views/all-docs/tag/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/all-docs/tag/styles.css.ts
rename to packages/frontend/apps/mobile/src/views/all-docs/tag/styles.css.ts
diff --git a/packages/frontend/mobile/src/views/home-header/index.tsx b/packages/frontend/apps/mobile/src/views/home-header/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/home-header/index.tsx
rename to packages/frontend/apps/mobile/src/views/home-header/index.tsx
diff --git a/packages/frontend/mobile/src/views/home-header/styles.css.ts b/packages/frontend/apps/mobile/src/views/home-header/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/home-header/styles.css.ts
rename to packages/frontend/apps/mobile/src/views/home-header/styles.css.ts
diff --git a/packages/frontend/mobile/src/views/index.ts b/packages/frontend/apps/mobile/src/views/index.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/index.ts
rename to packages/frontend/apps/mobile/src/views/index.ts
diff --git a/packages/frontend/mobile/src/views/recent-docs/index.tsx b/packages/frontend/apps/mobile/src/views/recent-docs/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/recent-docs/index.tsx
rename to packages/frontend/apps/mobile/src/views/recent-docs/index.tsx
diff --git a/packages/frontend/mobile/src/views/recent-docs/styles.css.ts b/packages/frontend/apps/mobile/src/views/recent-docs/styles.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/recent-docs/styles.css.ts
rename to packages/frontend/apps/mobile/src/views/recent-docs/styles.css.ts
diff --git a/packages/frontend/mobile/src/views/search/search-results.tsx b/packages/frontend/apps/mobile/src/views/search/search-results.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/search/search-results.tsx
rename to packages/frontend/apps/mobile/src/views/search/search-results.tsx
diff --git a/packages/frontend/mobile/src/views/search/style.css.ts b/packages/frontend/apps/mobile/src/views/search/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/search/style.css.ts
rename to packages/frontend/apps/mobile/src/views/search/style.css.ts
diff --git a/packages/frontend/mobile/src/views/settings/about/index.tsx b/packages/frontend/apps/mobile/src/views/settings/about/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/about/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/about/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/appearance/font.tsx b/packages/frontend/apps/mobile/src/views/settings/appearance/font.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/appearance/font.tsx
rename to packages/frontend/apps/mobile/src/views/settings/appearance/font.tsx
diff --git a/packages/frontend/mobile/src/views/settings/appearance/index.tsx b/packages/frontend/apps/mobile/src/views/settings/appearance/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/appearance/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/appearance/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/appearance/language.tsx b/packages/frontend/apps/mobile/src/views/settings/appearance/language.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/appearance/language.tsx
rename to packages/frontend/apps/mobile/src/views/settings/appearance/language.tsx
diff --git a/packages/frontend/mobile/src/views/settings/appearance/theme.tsx b/packages/frontend/apps/mobile/src/views/settings/appearance/theme.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/appearance/theme.tsx
rename to packages/frontend/apps/mobile/src/views/settings/appearance/theme.tsx
diff --git a/packages/frontend/mobile/src/views/settings/dropdown-select.css.ts b/packages/frontend/apps/mobile/src/views/settings/dropdown-select.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/dropdown-select.css.ts
rename to packages/frontend/apps/mobile/src/views/settings/dropdown-select.css.ts
diff --git a/packages/frontend/mobile/src/views/settings/dropdown-select.tsx b/packages/frontend/apps/mobile/src/views/settings/dropdown-select.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/dropdown-select.tsx
rename to packages/frontend/apps/mobile/src/views/settings/dropdown-select.tsx
diff --git a/packages/frontend/mobile/src/views/settings/group.css.ts b/packages/frontend/apps/mobile/src/views/settings/group.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/group.css.ts
rename to packages/frontend/apps/mobile/src/views/settings/group.css.ts
diff --git a/packages/frontend/mobile/src/views/settings/group.tsx b/packages/frontend/apps/mobile/src/views/settings/group.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/group.tsx
rename to packages/frontend/apps/mobile/src/views/settings/group.tsx
diff --git a/packages/frontend/mobile/src/views/settings/index.tsx b/packages/frontend/apps/mobile/src/views/settings/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/others/index.tsx b/packages/frontend/apps/mobile/src/views/settings/others/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/others/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/others/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/row.layout.tsx b/packages/frontend/apps/mobile/src/views/settings/row.layout.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/row.layout.tsx
rename to packages/frontend/apps/mobile/src/views/settings/row.layout.tsx
diff --git a/packages/frontend/mobile/src/views/settings/style.css.ts b/packages/frontend/apps/mobile/src/views/settings/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/style.css.ts
rename to packages/frontend/apps/mobile/src/views/settings/style.css.ts
diff --git a/packages/frontend/mobile/src/views/settings/user-profile/index.tsx b/packages/frontend/apps/mobile/src/views/settings/user-profile/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/user-profile/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/user-profile/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/user-profile/style.css.ts b/packages/frontend/apps/mobile/src/views/settings/user-profile/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/user-profile/style.css.ts
rename to packages/frontend/apps/mobile/src/views/settings/user-profile/style.css.ts
diff --git a/packages/frontend/mobile/src/views/settings/user-usage/index.tsx b/packages/frontend/apps/mobile/src/views/settings/user-usage/index.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/user-usage/index.tsx
rename to packages/frontend/apps/mobile/src/views/settings/user-usage/index.tsx
diff --git a/packages/frontend/mobile/src/views/settings/user-usage/style.css.ts b/packages/frontend/apps/mobile/src/views/settings/user-usage/style.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/settings/user-usage/style.css.ts
rename to packages/frontend/apps/mobile/src/views/settings/user-usage/style.css.ts
diff --git a/packages/frontend/mobile/src/views/sign-in/art-dark.inline.svg b/packages/frontend/apps/mobile/src/views/sign-in/art-dark.inline.svg
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/art-dark.inline.svg
rename to packages/frontend/apps/mobile/src/views/sign-in/art-dark.inline.svg
diff --git a/packages/frontend/mobile/src/views/sign-in/art-light.inline.svg b/packages/frontend/apps/mobile/src/views/sign-in/art-light.inline.svg
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/art-light.inline.svg
rename to packages/frontend/apps/mobile/src/views/sign-in/art-light.inline.svg
diff --git a/packages/frontend/mobile/src/views/sign-in/background.css.ts b/packages/frontend/apps/mobile/src/views/sign-in/background.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/background.css.ts
rename to packages/frontend/apps/mobile/src/views/sign-in/background.css.ts
diff --git a/packages/frontend/mobile/src/views/sign-in/background.tsx b/packages/frontend/apps/mobile/src/views/sign-in/background.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/background.tsx
rename to packages/frontend/apps/mobile/src/views/sign-in/background.tsx
diff --git a/packages/frontend/mobile/src/views/sign-in/layout.css.ts b/packages/frontend/apps/mobile/src/views/sign-in/layout.css.ts
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/layout.css.ts
rename to packages/frontend/apps/mobile/src/views/sign-in/layout.css.ts
diff --git a/packages/frontend/mobile/src/views/sign-in/layout.tsx b/packages/frontend/apps/mobile/src/views/sign-in/layout.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/layout.tsx
rename to packages/frontend/apps/mobile/src/views/sign-in/layout.tsx
diff --git a/packages/frontend/mobile/src/views/sign-in/mobile-sign-in.tsx b/packages/frontend/apps/mobile/src/views/sign-in/mobile-sign-in.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/mobile-sign-in.tsx
rename to packages/frontend/apps/mobile/src/views/sign-in/mobile-sign-in.tsx
diff --git a/packages/frontend/mobile/src/views/sign-in/modal.tsx b/packages/frontend/apps/mobile/src/views/sign-in/modal.tsx
similarity index 100%
rename from packages/frontend/mobile/src/views/sign-in/modal.tsx
rename to packages/frontend/apps/mobile/src/views/sign-in/modal.tsx
diff --git a/packages/frontend/web/tsconfig.json b/packages/frontend/apps/mobile/tsconfig.json
similarity index 68%
rename from packages/frontend/web/tsconfig.json
rename to packages/frontend/apps/mobile/tsconfig.json
index af59eddff..0bb809226 100644
--- a/packages/frontend/web/tsconfig.json
+++ b/packages/frontend/apps/mobile/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.json",
+ "extends": "../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"outDir": "lib",
@@ -8,5 +8,5 @@
"rootDir": "./src"
},
"include": ["./src"],
- "references": [{ "path": "../core" }]
+ "references": [{ "path": "../../core" }]
}
diff --git a/packages/frontend/apps/web/README.md b/packages/frontend/apps/web/README.md
new file mode 100644
index 000000000..4634fb5d6
--- /dev/null
+++ b/packages/frontend/apps/web/README.md
@@ -0,0 +1,3 @@
+# web
+
+AFFiNE Desktop Edition Web app.
diff --git a/packages/frontend/web/package.json b/packages/frontend/apps/web/package.json
similarity index 82%
rename from packages/frontend/web/package.json
rename to packages/frontend/apps/web/package.json
index e13389c30..e1449e942 100644
--- a/packages/frontend/web/package.json
+++ b/packages/frontend/apps/web/package.json
@@ -12,13 +12,17 @@
"dependencies": {
"@affine/component": "workspace:*",
"@affine/core": "workspace:*",
+ "@affine/electron-api": "workspace:*",
"@affine/env": "workspace:*",
+ "@affine/i18n": "workspace:*",
+ "@emotion/react": "^11.11.4",
"@sentry/react": "^8.0.0",
"core-js": "^3.36.1",
"intl-segmenter-polyfill-rs": "^0.1.7",
"jotai": "^2.8.0",
"react": "^18.2.0",
- "react-dom": "^18.2.0"
+ "react-dom": "^18.2.0",
+ "react-router-dom": "^6.22.3"
},
"devDependencies": {
"@affine/cli": "workspace:*",
diff --git a/packages/frontend/web/project.json b/packages/frontend/apps/web/project.json
similarity index 94%
rename from packages/frontend/web/project.json
rename to packages/frontend/apps/web/project.json
index 3d4118408..d5a45d4a5 100644
--- a/packages/frontend/web/project.json
+++ b/packages/frontend/apps/web/project.json
@@ -1,6 +1,6 @@
{
"name": "@affine/web",
- "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+ "$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"targets": {
"build": {
"executor": "nx:run-script",
diff --git a/packages/frontend/web/src/app.tsx b/packages/frontend/apps/web/src/app.tsx
similarity index 82%
rename from packages/frontend/web/src/app.tsx
rename to packages/frontend/apps/web/src/app.tsx
index 0b41b13de..745568c37 100644
--- a/packages/frontend/web/src/app.tsx
+++ b/packages/frontend/apps/web/src/app.tsx
@@ -28,8 +28,7 @@ import {
getCurrentStore,
LifecycleService,
} from '@toeverything/infra';
-import type { PropsWithChildren, ReactElement } from 'react';
-import { lazy, Suspense } from 'react';
+import { Suspense } from 'react';
import { RouterProvider } from 'react-router-dom';
if (environment.isElectron && environment.isDebug) {
@@ -40,19 +39,6 @@ if (environment.isElectron && environment.isDebug) {
const performanceI18nLogger = performanceLogger.namespace('i18n');
const cache = createEmotionCache();
-const DevTools = lazy(() =>
- import('jotai-devtools').then(m => ({ default: m.DevTools }))
-);
-
-const DebugProvider = ({ children }: PropsWithChildren): ReactElement => {
- return (
- <>
- {process.env.DEBUG_JOTAI === 'true' && }
- {children}
- >
- );
-};
-
const future = {
v7_startTransition: true,
} as const;
@@ -99,14 +85,12 @@ export function App() {
-
-
- }
- router={router}
- future={future}
- />
-
+
+ }
+ router={router}
+ future={future}
+ />
diff --git a/packages/frontend/web/src/index.tsx b/packages/frontend/apps/web/src/index.tsx
similarity index 100%
rename from packages/frontend/web/src/index.tsx
rename to packages/frontend/apps/web/src/index.tsx
diff --git a/packages/frontend/web/src/polyfill/dispose.ts b/packages/frontend/apps/web/src/polyfill/dispose.ts
similarity index 100%
rename from packages/frontend/web/src/polyfill/dispose.ts
rename to packages/frontend/apps/web/src/polyfill/dispose.ts
diff --git a/packages/frontend/web/src/polyfill/intl-segmenter.ts b/packages/frontend/apps/web/src/polyfill/intl-segmenter.ts
similarity index 100%
rename from packages/frontend/web/src/polyfill/intl-segmenter.ts
rename to packages/frontend/apps/web/src/polyfill/intl-segmenter.ts
diff --git a/packages/frontend/web/src/polyfill/promise-with-resolvers.ts b/packages/frontend/apps/web/src/polyfill/promise-with-resolvers.ts
similarity index 100%
rename from packages/frontend/web/src/polyfill/promise-with-resolvers.ts
rename to packages/frontend/apps/web/src/polyfill/promise-with-resolvers.ts
diff --git a/packages/frontend/web/src/polyfill/request-idle-callback.ts b/packages/frontend/apps/web/src/polyfill/request-idle-callback.ts
similarity index 100%
rename from packages/frontend/web/src/polyfill/request-idle-callback.ts
rename to packages/frontend/apps/web/src/polyfill/request-idle-callback.ts
diff --git a/packages/frontend/mobile/tsconfig.json b/packages/frontend/apps/web/tsconfig.json
similarity index 68%
rename from packages/frontend/mobile/tsconfig.json
rename to packages/frontend/apps/web/tsconfig.json
index af59eddff..0bb809226 100644
--- a/packages/frontend/mobile/tsconfig.json
+++ b/packages/frontend/apps/web/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../tsconfig.json",
+ "extends": "../../../../tsconfig.json",
"compilerOptions": {
"composite": true,
"outDir": "lib",
@@ -8,5 +8,5 @@
"rootDir": "./src"
},
"include": ["./src"],
- "references": [{ "path": "../core" }]
+ "references": [{ "path": "../../core" }]
}
diff --git a/packages/frontend/electron-api/tsconfig.json b/packages/frontend/electron-api/tsconfig.json
index 638bfe244..04bc6f555 100644
--- a/packages/frontend/electron-api/tsconfig.json
+++ b/packages/frontend/electron-api/tsconfig.json
@@ -11,7 +11,7 @@
"path": "../../common/infra"
},
{
- "path": "../../frontend/electron"
+ "path": "../../frontend/apps/electron"
}
]
}
diff --git a/scripts/download-blocksuite-fonts.mjs b/scripts/download-blocksuite-fonts.mjs
index d821cc2a3..a310b8548 100644
--- a/scripts/download-blocksuite-fonts.mjs
+++ b/scripts/download-blocksuite-fonts.mjs
@@ -10,6 +10,7 @@ const fontPath = join(
'..',
'packages',
'frontend',
+ 'apps',
'web',
'dist',
'assets'
diff --git a/tests/kit/electron.ts b/tests/kit/electron.ts
index 36e184628..bcdfafdfd 100644
--- a/tests/kit/electron.ts
+++ b/tests/kit/electron.ts
@@ -10,7 +10,7 @@ import { test as base, testResultDir } from './playwright';
import { removeWithRetry } from './utils/utils';
const projectRoot = join(__dirname, '..', '..');
-const electronRoot = join(projectRoot, 'packages/frontend/electron');
+const electronRoot = join(projectRoot, 'packages/frontend/apps/electron');
function generateUUID() {
return crypto.randomUUID();
diff --git a/tools/cli/src/config/cwd.cjs b/tools/cli/src/config/cwd.cjs
index 0fad1774b..2c3006d23 100644
--- a/tools/cli/src/config/cwd.cjs
+++ b/tools/cli/src/config/cwd.cjs
@@ -18,13 +18,13 @@ module.exports.getCwdFromDistribution = function getCwdFromDistribution(
case 'web':
case undefined:
case null:
- return join(projectRoot, 'packages/frontend/web');
+ return join(projectRoot, 'packages/frontend/apps/web');
case 'desktop':
- return join(projectRoot, 'packages/frontend/electron/renderer');
+ return join(projectRoot, 'packages/frontend/apps/electron/renderer');
case 'admin':
return join(projectRoot, 'packages/frontend/admin');
case 'mobile':
- return join(projectRoot, 'packages/frontend/mobile');
+ return join(projectRoot, 'packages/frontend/apps/mobile');
default: {
throw new Error(
'DISTRIBUTION must be one of web, desktop, admin, mobile'
diff --git a/tsconfig.json b/tsconfig.json
index e113621ca..cee1a9069 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -72,7 +72,7 @@
"@affine/native/*": ["./packages/frontend/native/*"],
"@affine/server-native": ["./packages/backend/native/index.d.ts"],
// Development only
- "@affine/electron/*": ["./packages/frontend/electron/src/*"]
+ "@affine/electron/*": ["./packages/frontend/apps/electron/src/*"]
}
},
"include": [],
@@ -95,16 +95,16 @@
"path": "./packages/frontend/core"
},
{
- "path": "./packages/frontend/web"
+ "path": "./packages/frontend/apps/web"
},
{
- "path": "./packages/frontend/mobile"
+ "path": "./packages/frontend/apps/mobile"
},
{
- "path": "./packages/frontend/electron/tsconfig.test.json"
+ "path": "./packages/frontend/apps/electron/tsconfig.test.json"
},
{
- "path": "./packages/frontend/electron/renderer/tsconfig.json"
+ "path": "./packages/frontend/apps/electron/renderer/tsconfig.json"
},
{
"path": "./packages/frontend/graphql"
diff --git a/vitest.config.ts b/vitest.config.ts
index d73a91747..ae537e167 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -62,7 +62,7 @@ export default defineConfig({
'**/dist',
'**/build',
'**/out,',
- '**/packages/frontend/electron',
+ '**/packages/frontend/apps/electron',
],
testTimeout: 5000,
coverage: {
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
index e7c2f7e2f..89cb8a283 100644
--- a/vitest.workspace.ts
+++ b/vitest.workspace.ts
@@ -1 +1 @@
-export default ['.', './packages/frontend/electron'];
+export default ['.', './packages/frontend/apps/electron'];
diff --git a/yarn.lock b/yarn.lock
index b10bfc5cd..6d94f9434 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -543,9 +543,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@affine/electron@workspace:packages/frontend/electron":
+"@affine/electron@workspace:packages/frontend/apps/electron":
version: 0.0.0-use.local
- resolution: "@affine/electron@workspace:packages/frontend/electron"
+ resolution: "@affine/electron@workspace:packages/frontend/apps/electron"
dependencies:
"@affine-test/kit": "workspace:*"
"@affine/component": "workspace:*"
@@ -587,7 +587,6 @@ __metadata:
fs-extra: "npm:^11.2.0"
glob: "npm:^11.0.0"
jotai: "npm:^2.8.0"
- jotai-devtools: "npm:^0.10.0"
link-preview-js: "npm:^3.0.5"
lodash-es: "npm:^4.17.21"
nanoid: "npm:^5.0.7"
@@ -663,15 +662,19 @@ __metadata:
languageName: unknown
linkType: soft
-"@affine/mobile@workspace:packages/frontend/mobile":
+"@affine/mobile@workspace:packages/frontend/apps/mobile":
version: 0.0.0-use.local
- resolution: "@affine/mobile@workspace:packages/frontend/mobile"
+ resolution: "@affine/mobile@workspace:packages/frontend/apps/mobile"
dependencies:
"@affine/cli": "workspace:*"
"@affine/component": "workspace:*"
"@affine/core": "workspace:*"
"@affine/env": "workspace:*"
+ "@affine/graphql": "workspace:*"
+ "@affine/i18n": "workspace:*"
+ "@blocksuite/blocks": "npm:^0.17.6"
"@blocksuite/icons": "npm:^2.1.66"
+ "@radix-ui/react-collapsible": "npm:^1.0.3"
"@sentry/react": "npm:^8.0.0"
"@toeverything/theme": "npm:^1.0.9"
"@types/lodash-es": "npm:^4.17.12"
@@ -685,7 +688,6 @@ __metadata:
figma-squircle: "npm:^1.0.0"
intl-segmenter-polyfill-rs: "npm:^0.1.7"
jotai: "npm:^2.9.3"
- jotai-devtools: "npm:^0.10.1"
jotai-effect: "npm:^1.0.2"
jotai-scope: "npm:^0.7.2"
lodash-es: "npm:^4.17.21"
@@ -913,14 +915,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@affine/web@workspace:packages/frontend/web":
+"@affine/web@workspace:packages/frontend/apps/web":
version: 0.0.0-use.local
- resolution: "@affine/web@workspace:packages/frontend/web"
+ resolution: "@affine/web@workspace:packages/frontend/apps/web"
dependencies:
"@affine/cli": "workspace:*"
"@affine/component": "workspace:*"
"@affine/core": "workspace:*"
+ "@affine/electron-api": "workspace:*"
"@affine/env": "workspace:*"
+ "@affine/i18n": "workspace:*"
+ "@emotion/react": "npm:^11.11.4"
"@sentry/react": "npm:^8.0.0"
"@types/react": "npm:^18.2.75"
"@types/react-dom": "npm:^18.2.24"
@@ -930,6 +935,7 @@ __metadata:
jotai: "npm:^2.8.0"
react: "npm:^18.2.0"
react-dom: "npm:^18.2.0"
+ react-router-dom: "npm:^6.22.3"
typescript: "npm:^5.4.5"
languageName: unknown
linkType: soft
@@ -3600,7 +3606,7 @@ __metadata:
languageName: node
linkType: hard
-"@blocksuite/blocks@npm:0.17.8":
+"@blocksuite/blocks@npm:0.17.8, @blocksuite/blocks@npm:^0.17.6":
version: 0.17.8
resolution: "@blocksuite/blocks@npm:0.17.8"
dependencies:
@@ -17702,7 +17708,7 @@ __metadata:
languageName: node
linkType: hard
-"builder-util-runtime@npm:9.2.5, builder-util-runtime@npm:^9.2.5-alpha.2":
+"builder-util-runtime@npm:9.2.5":
version: 9.2.5
resolution: "builder-util-runtime@npm:9.2.5"
dependencies:
@@ -17712,6 +17718,16 @@ __metadata:
languageName: node
linkType: hard
+"builder-util-runtime@npm:^9.2.5-alpha.2":
+ version: 9.2.6
+ resolution: "builder-util-runtime@npm:9.2.6"
+ dependencies:
+ debug: "npm:^4.3.4"
+ sax: "npm:^1.2.4"
+ checksum: 10/547ff72ef1147a3d3ed1e22ff0ba3c3c324235b8fd4cf19cdd546a0c1cf3cd84aae75ef9dd1172ccd0771ef265d35519cfee62488e4749b656217882f274fe22
+ languageName: node
+ linkType: hard
+
"builder-util@npm:24.13.1":
version: 24.13.1
resolution: "builder-util@npm:24.13.1"
@@ -25367,7 +25383,7 @@ __metadata:
languageName: node
linkType: hard
-"jotai-devtools@npm:^0.10.0, jotai-devtools@npm:^0.10.1":
+"jotai-devtools@npm:^0.10.0":
version: 0.10.1
resolution: "jotai-devtools@npm:0.10.1"
dependencies: