mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 04:48:53 +00:00
refactor: webpack config (#11421)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { getWorkerUrl } from '@affine/env/worker';
|
||||
import { ListLayoutHandlerExtension } from '@blocksuite/affine/blocks/list';
|
||||
import { ParagraphLayoutHandlerExtension } from '@blocksuite/affine/blocks/paragraph';
|
||||
import {
|
||||
@@ -6,15 +7,7 @@ import {
|
||||
} from '@blocksuite/affine/gfx/turbo-renderer';
|
||||
|
||||
function createPainterWorker() {
|
||||
const worker = new Worker(
|
||||
/* webpackChunkName: "turbo-painter-entry" */ new URL(
|
||||
'./turbo-painter-entry.worker.ts',
|
||||
import.meta.url
|
||||
),
|
||||
{
|
||||
type: 'module',
|
||||
}
|
||||
);
|
||||
const worker = new Worker(getWorkerUrl('turbo-painter-entry.worker.js'));
|
||||
return worker;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { mixpanel, sentry } from '@affine/track';
|
||||
import { APP_SETTINGS_STORAGE_KEY } from '@toeverything/infra';
|
||||
import { APP_SETTINGS_STORAGE_KEY } from '@toeverything/infra/atom';
|
||||
|
||||
mixpanel.init();
|
||||
sentry.init();
|
||||
|
||||
@@ -36,7 +36,7 @@ export const Captcha = () => {
|
||||
return (
|
||||
<Turnstile
|
||||
className={style.captchaWrapper}
|
||||
siteKey={process.env.CAPTCHA_SITE_KEY || '1x00000000000000000000AA'}
|
||||
siteKey={BUILD_CONFIG.CAPTCHA_SITE_KEY || '1x00000000000000000000AA'}
|
||||
onSuccess={handleTurnstileSuccess}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -9,19 +9,24 @@ import { DebugLogger } from '@affine/debug';
|
||||
import { apis } from '@affine/electron-api';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import { useService } from '@toeverything/infra';
|
||||
import { useLayoutEffect } from 'react';
|
||||
import { useLayoutEffect, useRef } from 'react';
|
||||
|
||||
const logger = new DebugLogger('ImportWorkspaceDialog');
|
||||
|
||||
export const ImportWorkspaceDialog = ({
|
||||
close,
|
||||
}: DialogComponentProps<GLOBAL_DIALOG_SCHEMA['import-workspace']>) => {
|
||||
const effectRef = useRef(false);
|
||||
const t = useI18n();
|
||||
const workspacesService = useService(WorkspacesService);
|
||||
|
||||
// TODO(@Peng): maybe refactor using xstate?
|
||||
useLayoutEffect(() => {
|
||||
let canceled = false;
|
||||
if (effectRef.current) {
|
||||
return;
|
||||
}
|
||||
effectRef.current = true;
|
||||
|
||||
// a hack for now
|
||||
// when adding a workspace, we will immediately let user select a db file
|
||||
// after it is done, it will effectively add a new workspace to app-data folder
|
||||
@@ -32,7 +37,7 @@ export const ImportWorkspaceDialog = ({
|
||||
}
|
||||
logger.info('load db file');
|
||||
const result = await apis.dialog.loadDBFile();
|
||||
if (result.workspaceId && !canceled) {
|
||||
if (result.workspaceId) {
|
||||
_addLocalWorkspace(result.workspaceId);
|
||||
workspacesService.list.revalidate();
|
||||
close({
|
||||
@@ -50,9 +55,6 @@ export const ImportWorkspaceDialog = ({
|
||||
})().catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
return () => {
|
||||
canceled = true;
|
||||
};
|
||||
}, [close, t, workspacesService]);
|
||||
|
||||
return null;
|
||||
|
||||
@@ -191,13 +191,9 @@ export const BackupSettingPanel = () => {
|
||||
const t = useI18n();
|
||||
const backupService = useService(BackupService);
|
||||
|
||||
const handlePageChange = useCallback(() => {
|
||||
backupService.revalidate();
|
||||
}, [backupService]);
|
||||
|
||||
useEffect(() => {
|
||||
backupService.revalidate();
|
||||
}, [backupService, handlePageChange]);
|
||||
}, [backupService]);
|
||||
|
||||
const isLoading = useLiveData(backupService.isLoading$);
|
||||
const backupWorkspaces = useLiveData(backupService.pageBackupWorkspaces$);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getWorkerUrl } from '@affine/env/worker';
|
||||
import { OpClient } from '@toeverything/infra/op';
|
||||
|
||||
import type { ClientOps } from './ops';
|
||||
@@ -6,12 +7,7 @@ export class PDFRenderer extends OpClient<ClientOps> {
|
||||
private readonly worker: Worker;
|
||||
|
||||
constructor() {
|
||||
const worker = new Worker(
|
||||
/* webpackChunkName: "pdf.worker" */ new URL(
|
||||
'./worker.ts',
|
||||
import.meta.url
|
||||
)
|
||||
);
|
||||
const worker = new Worker(getWorkerUrl('pdf.worker.js'));
|
||||
super(worker);
|
||||
|
||||
this.worker = worker;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getWorkerUrl } from '@affine/env/worker';
|
||||
import { OpClient } from '@toeverything/infra/op';
|
||||
|
||||
import type { WorkerOps } from './worker-ops';
|
||||
@@ -9,12 +10,7 @@ export function getWorkspaceProfileWorker() {
|
||||
return worker;
|
||||
}
|
||||
|
||||
const rawWorker = new Worker(
|
||||
new URL(
|
||||
/* webpackChunkName: "workspace-profile-worker" */ './in-worker.ts',
|
||||
import.meta.url
|
||||
)
|
||||
);
|
||||
const rawWorker = new Worker(getWorkerUrl('workspace-profile.worker.js'));
|
||||
|
||||
worker = new OpClient<WorkerOps>(rawWorker);
|
||||
return worker;
|
||||
|
||||
@@ -23,8 +23,7 @@ export const schemeToChannel = {
|
||||
|
||||
export const channelToScheme = {
|
||||
stable: 'affine',
|
||||
canary:
|
||||
process.env.NODE_ENV === 'development' ? 'affine-dev' : 'affine-canary',
|
||||
canary: BUILD_CONFIG.debug ? 'affine-dev' : 'affine-canary',
|
||||
beta: 'affine-beta',
|
||||
internal: 'affine-internal',
|
||||
} as Record<Channel, Scheme>;
|
||||
|
||||
@@ -36,7 +36,7 @@ export const createIsland = () => {
|
||||
Provider: ({ children }: React.PropsWithChildren) => {
|
||||
const target = useLiveData(targetLiveData$);
|
||||
useEffect(() => {
|
||||
if (provided === true && process.env.NODE_ENV !== 'production') {
|
||||
if (provided === true && BUILD_CONFIG.debug) {
|
||||
throw new Error('Island should not be provided more than once');
|
||||
}
|
||||
provided = true;
|
||||
|
||||
Reference in New Issue
Block a user