refactor(core): add version in worker url (#11614)
Co-authored-by: renovate <29139614+renovate@users.noreply.github.com>
This commit is contained in:
8
packages/common/env/src/worker.ts
vendored
8
packages/common/env/src/worker.ts
vendored
@@ -1,7 +1,5 @@
|
|||||||
export function getWorkerUrl(name: string) {
|
export function getWorkerUrl(name: string) {
|
||||||
if (BUILD_CONFIG.debug && !name.endsWith('.worker.js')) {
|
return (
|
||||||
throw new Error(`worker should be named with '.worker.js', get ${name}`);
|
environment.workerPath + `${name}-${BUILD_CONFIG.appVersion}.worker.js`
|
||||||
}
|
);
|
||||||
|
|
||||||
return environment.workerPath + name + '?v=' + BUILD_CONFIG.appVersion;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import { AffineTheme } from './plugins/affine-theme';
|
|||||||
import { AIButton } from './plugins/ai-button';
|
import { AIButton } from './plugins/ai-button';
|
||||||
|
|
||||||
const storeManagerClient = new StoreManagerClient(
|
const storeManagerClient = new StoreManagerClient(
|
||||||
new OpClient(new Worker(getWorkerUrl('nbstore.worker.js')))
|
new OpClient(new Worker(getWorkerUrl('nbstore')))
|
||||||
);
|
);
|
||||||
window.addEventListener('beforeunload', () => {
|
window.addEventListener('beforeunload', () => {
|
||||||
storeManagerClient.dispose();
|
storeManagerClient.dispose();
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ export function App() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createStoreManagerClient() {
|
function createStoreManagerClient() {
|
||||||
const worker = new Worker(getWorkerUrl('nbstore.worker.js'));
|
const worker = new Worker(getWorkerUrl('nbstore'));
|
||||||
const { port1: nativeDBApiChannelServer, port2: nativeDBApiChannelClient } =
|
const { port1: nativeDBApiChannelServer, port2: nativeDBApiChannelClient } =
|
||||||
new MessageChannel();
|
new MessageChannel();
|
||||||
AsyncCall<typeof NbStoreNativeDBApis>(NbStoreNativeDBApis, {
|
AsyncCall<typeof NbStoreNativeDBApis>(NbStoreNativeDBApis, {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import { RouterProvider } from 'react-router-dom';
|
|||||||
|
|
||||||
let storeManagerClient: StoreManagerClient;
|
let storeManagerClient: StoreManagerClient;
|
||||||
|
|
||||||
const workerUrl = getWorkerUrl('nbstore.worker.js');
|
const workerUrl = getWorkerUrl('nbstore');
|
||||||
if (window.SharedWorker) {
|
if (window.SharedWorker) {
|
||||||
const worker = new SharedWorker(workerUrl, { name: 'affine-shared-worker' });
|
const worker = new SharedWorker(workerUrl, { name: 'affine-shared-worker' });
|
||||||
storeManagerClient = new StoreManagerClient(new OpClient(worker.port));
|
storeManagerClient = new StoreManagerClient(new OpClient(worker.port));
|
||||||
|
|||||||
@@ -24,13 +24,15 @@ const cache = createEmotionCache();
|
|||||||
|
|
||||||
let storeManagerClient: StoreManagerClient;
|
let storeManagerClient: StoreManagerClient;
|
||||||
|
|
||||||
const workerUrl = getWorkerUrl('nbstore.worker.js');
|
const workerUrl = getWorkerUrl('nbstore');
|
||||||
|
|
||||||
if (
|
if (
|
||||||
window.SharedWorker &&
|
window.SharedWorker &&
|
||||||
localStorage.getItem('disableSharedWorker') !== 'true'
|
localStorage.getItem('disableSharedWorker') !== 'true'
|
||||||
) {
|
) {
|
||||||
const worker = new SharedWorker(workerUrl);
|
const worker = new SharedWorker(workerUrl, {
|
||||||
|
name: 'affine-shared-worker',
|
||||||
|
});
|
||||||
storeManagerClient = new StoreManagerClient(new OpClient(worker.port));
|
storeManagerClient = new StoreManagerClient(new OpClient(worker.port));
|
||||||
} else {
|
} else {
|
||||||
const worker = new Worker(workerUrl);
|
const worker = new Worker(workerUrl);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
} from '@blocksuite/affine/gfx/turbo-renderer';
|
} from '@blocksuite/affine/gfx/turbo-renderer';
|
||||||
|
|
||||||
function createPainterWorker() {
|
function createPainterWorker() {
|
||||||
const worker = new Worker(getWorkerUrl('turbo-painter.worker.js'));
|
const worker = new Worker(getWorkerUrl('turbo-painter'));
|
||||||
return worker;
|
return worker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export class PDFRenderer extends OpClient<ClientOps> {
|
|||||||
private readonly worker: Worker;
|
private readonly worker: Worker;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
const worker = new Worker(getWorkerUrl('pdf.worker.js'));
|
const worker = new Worker(getWorkerUrl('pdf'));
|
||||||
super(worker);
|
super(worker);
|
||||||
|
|
||||||
this.worker = worker;
|
this.worker = worker;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export function getWorkspaceProfileWorker() {
|
|||||||
return worker;
|
return worker;
|
||||||
}
|
}
|
||||||
|
|
||||||
const rawWorker = new Worker(getWorkerUrl('workspace-profile.worker.js'));
|
const rawWorker = new Worker(getWorkerUrl('workspace-profile'));
|
||||||
|
|
||||||
worker = new OpClient<WorkerOps>(rawWorker);
|
worker = new OpClient<WorkerOps>(rawWorker);
|
||||||
return worker;
|
return worker;
|
||||||
|
|||||||
@@ -405,10 +405,7 @@ export function createWorkerTargetConfig(
|
|||||||
pkg: Package,
|
pkg: Package,
|
||||||
entry: string
|
entry: string
|
||||||
): Omit<webpack.Configuration, 'name'> & { name: string } {
|
): Omit<webpack.Configuration, 'name'> & { name: string } {
|
||||||
const workerName = path.basename(entry).replace(/\.([^.]+)$/, '');
|
const workerName = path.basename(entry).replace(/\.worker\.ts$/, '');
|
||||||
if (!workerName.endsWith('.worker')) {
|
|
||||||
throw new Error('Worker name must end with `.worker.[ext]`');
|
|
||||||
}
|
|
||||||
const buildConfig = getBuildConfigFromEnv(pkg);
|
const buildConfig = getBuildConfigFromEnv(pkg);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -423,7 +420,7 @@ export function createWorkerTargetConfig(
|
|||||||
[workerName]: entry,
|
[workerName]: entry,
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
filename: 'js/[name].js',
|
filename: `js/${workerName}-${buildConfig.appVersion}.worker.js`,
|
||||||
path: pkg.distPath.value,
|
path: pkg.distPath.value,
|
||||||
clean: false,
|
clean: false,
|
||||||
globalObject: 'globalThis',
|
globalObject: 'globalThis',
|
||||||
|
|||||||
Reference in New Issue
Block a user