chore: bring treeshake back (#11577)

This commit is contained in:
liuyi
2025-04-10 14:12:36 +08:00
committed by GitHub
parent 0ce5a9544b
commit e376aa57c5
8 changed files with 63 additions and 81 deletions
+39 -29
View File
@@ -24,36 +24,46 @@ import { defaultMarkdownPreprocessors } from './markdown/preprocessor';
import { defaultBlockNotionHtmlAdapterMatchers } from './notion-html/block-matcher'; import { defaultBlockNotionHtmlAdapterMatchers } from './notion-html/block-matcher';
import { defaultBlockPlainTextAdapterMatchers } from './plain-text/block-matcher'; import { defaultBlockPlainTextAdapterMatchers } from './plain-text/block-matcher';
export const AdapterFactoryExtensions: ExtensionType[] = [ export function getAdapterFactoryExtensions(): ExtensionType[] {
AttachmentAdapterFactoryExtension, return [
ImageAdapterFactoryExtension, AttachmentAdapterFactoryExtension,
MarkdownAdapterFactoryExtension, ImageAdapterFactoryExtension,
PlainTextAdapterFactoryExtension, MarkdownAdapterFactoryExtension,
HtmlAdapterFactoryExtension, PlainTextAdapterFactoryExtension,
NotionTextAdapterFactoryExtension, HtmlAdapterFactoryExtension,
NotionHtmlAdapterFactoryExtension, NotionTextAdapterFactoryExtension,
MixTextAdapterFactoryExtension, NotionHtmlAdapterFactoryExtension,
]; MixTextAdapterFactoryExtension,
];
}
export const HtmlAdapterExtension: ExtensionType[] = [ export function getHtmlAdapterExtensions(): ExtensionType[] {
...HtmlInlineToDeltaAdapterExtensions, return [
...defaultBlockHtmlAdapterMatchers, ...HtmlInlineToDeltaAdapterExtensions,
...InlineDeltaToHtmlAdapterExtensions, ...defaultBlockHtmlAdapterMatchers,
]; ...InlineDeltaToHtmlAdapterExtensions,
];
}
export const MarkdownAdapterExtension: ExtensionType[] = [ export function getMarkdownAdapterExtensions(): ExtensionType[] {
...MarkdownInlineToDeltaAdapterExtensions, return [
...defaultBlockMarkdownAdapterMatchers, ...MarkdownInlineToDeltaAdapterExtensions,
...InlineDeltaToMarkdownAdapterExtensions, ...defaultBlockMarkdownAdapterMatchers,
...defaultMarkdownPreprocessors, ...InlineDeltaToMarkdownAdapterExtensions,
]; ...defaultMarkdownPreprocessors,
];
}
export const NotionHtmlAdapterExtension: ExtensionType[] = [ export function getNotionHtmlAdapterExtensions(): ExtensionType[] {
...NotionHtmlInlineToDeltaAdapterExtensions, return [
...defaultBlockNotionHtmlAdapterMatchers, ...NotionHtmlInlineToDeltaAdapterExtensions,
]; ...defaultBlockNotionHtmlAdapterMatchers,
];
}
export const PlainTextAdapterExtension: ExtensionType[] = [ export function getPlainTextAdapterExtensions(): ExtensionType[] {
...defaultBlockPlainTextAdapterMatchers, return [
...InlineDeltaToPlainTextAdapterExtensions, ...defaultBlockPlainTextAdapterMatchers,
]; ...InlineDeltaToPlainTextAdapterExtensions,
];
}
+10 -10
View File
@@ -51,11 +51,11 @@ import {
import type { ExtensionType } from '@blocksuite/store'; import type { ExtensionType } from '@blocksuite/store';
import { import {
AdapterFactoryExtensions, getAdapterFactoryExtensions,
HtmlAdapterExtension, getHtmlAdapterExtensions,
MarkdownAdapterExtension, getMarkdownAdapterExtensions,
NotionHtmlAdapterExtension, getNotionHtmlAdapterExtensions,
PlainTextAdapterExtension, getPlainTextAdapterExtensions,
} from '../adapters/extension.js'; } from '../adapters/extension.js';
export const StoreExtensions: ExtensionType[] = [ export const StoreExtensions: ExtensionType[] = [
@@ -96,11 +96,11 @@ export const StoreExtensions: ExtensionType[] = [
DatabaseSelectionExtension, DatabaseSelectionExtension,
TableSelectionExtension, TableSelectionExtension,
HtmlAdapterExtension, getHtmlAdapterExtensions(),
MarkdownAdapterExtension, getMarkdownAdapterExtensions(),
NotionHtmlAdapterExtension, getNotionHtmlAdapterExtensions(),
PlainTextAdapterExtension, getPlainTextAdapterExtensions(),
AdapterFactoryExtensions, getAdapterFactoryExtensions(),
FeatureFlagService, FeatureFlagService,
LinkPreviewerService, LinkPreviewerService,
@@ -1,4 +1,4 @@
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters'; import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import { Container } from '@blocksuite/affine/global/di'; import { Container } from '@blocksuite/affine/global/di';
import type { import type {
AttachmentBlockModel, AttachmentBlockModel,
@@ -119,7 +119,7 @@ function generateMarkdownPreviewBuilder(
}; };
const container = new Container(); const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => { getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container); ext.setup(container);
}); });
+2 -2
View File
@@ -26,7 +26,7 @@ import { configureBrowserWorkspaceFlavours } from '@affine/core/modules/workspac
import { getWorkerUrl } from '@affine/env/worker'; import { getWorkerUrl } from '@affine/env/worker';
import { I18n } from '@affine/i18n'; import { I18n } from '@affine/i18n';
import { StoreManagerClient } from '@affine/nbstore/worker/client'; import { StoreManagerClient } from '@affine/nbstore/worker/client';
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters'; import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import { Container } from '@blocksuite/affine/global/di'; import { Container } from '@blocksuite/affine/global/di';
import { import {
docLinkBaseURLMiddleware, docLinkBaseURLMiddleware,
@@ -199,7 +199,7 @@ framework.impl(AIButtonProvider, {
const snapshot = transformer.docToSnapshot(blockSuiteDoc); const snapshot = transformer.docToSnapshot(blockSuiteDoc);
const container = new Container(); const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => { getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container); ext.setup(container);
}); });
const provider = container.provider(); const provider = container.provider();
+2 -2
View File
@@ -38,7 +38,7 @@ import { configureBrowserWorkspaceFlavours } from '@affine/core/modules/workspac
import { getWorkerUrl } from '@affine/env/worker'; import { getWorkerUrl } from '@affine/env/worker';
import { I18n } from '@affine/i18n'; import { I18n } from '@affine/i18n';
import { StoreManagerClient } from '@affine/nbstore/worker/client'; import { StoreManagerClient } from '@affine/nbstore/worker/client';
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters'; import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import { MarkdownTransformer } from '@blocksuite/affine/blocks/root'; import { MarkdownTransformer } from '@blocksuite/affine/blocks/root';
import { Container } from '@blocksuite/affine/global/di'; import { Container } from '@blocksuite/affine/global/di';
import { import {
@@ -262,7 +262,7 @@ const frameworkProvider = framework.provider();
const snapshot = transformer.docToSnapshot(blockSuiteDoc); const snapshot = transformer.docToSnapshot(blockSuiteDoc);
const container = new Container(); const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => { getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container); ext.setup(container);
}); });
const provider = container.provider(); const provider = container.provider();
@@ -1,5 +1,5 @@
import { createReactComponentFromLit } from '@affine/component'; import { createReactComponentFromLit } from '@affine/component';
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters'; import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import { import {
defaultImageProxyMiddleware, defaultImageProxyMiddleware,
ImageProxyService, ImageProxyService,
@@ -211,7 +211,7 @@ export class TextRenderer extends WithDisposable(ShadowlessElement) {
provider = this.host.std.provider; provider = this.host.std.provider;
} else { } else {
const container = new Container(); const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => { getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container); ext.setup(container);
}); });
@@ -1,4 +1,4 @@
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters'; import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import { Container } from '@blocksuite/affine/global/di'; import { Container } from '@blocksuite/affine/global/di';
import { TestWorkspace } from '@blocksuite/affine/store/test'; import { TestWorkspace } from '@blocksuite/affine/store/test';
import { describe, expect, test } from 'vitest'; import { describe, expect, test } from 'vitest';
@@ -6,7 +6,7 @@ import { describe, expect, test } from 'vitest';
import { markdownToMindmap } from '../mindmap-preview.js'; import { markdownToMindmap } from '../mindmap-preview.js';
const container = new Container(); const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => { getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container); ext.setup(container);
}); });
const provider = container.provider(); const provider = container.provider();
+4 -32
View File
@@ -67,7 +67,7 @@ export function createHTMLTargetConfig(
//#region basic webpack config //#region basic webpack config
name: entry['index'], name: entry['index'],
dependencies: deps, dependencies: deps,
context: pkg.path.value, context: ProjectRoot.value,
experiments: { experiments: {
topLevelAwait: true, topLevelAwait: true,
outputModule: false, outputModule: false,
@@ -335,7 +335,6 @@ export function createHTMLTargetConfig(
minimizer: [ minimizer: [
new TerserPlugin({ new TerserPlugin({
minify: TerserPlugin.swcMinify, minify: TerserPlugin.swcMinify,
exclude: [/plugins\/.+\/.+\.js$/, /plugins\/.+\/.+\.mjs$/],
parallel: true, parallel: true,
extractComments: true, extractComments: true,
terserOptions: { terserOptions: {
@@ -498,35 +497,6 @@ export function createWorkerTargetConfig(
inlineSourcesContent: true, inlineSourcesContent: true,
}, },
}, },
{
test: /\.tsx$/,
exclude: /node_modules/,
loader: 'swc-loader',
options: {
// https://swc.rs/docs/configuring-swc/
jsc: {
preserveAllComments: true,
parser: {
syntax: 'typescript',
dynamicImport: true,
topLevelAwait: false,
tsx: true,
decorators: true,
},
target: 'es2022',
externalHelpers: false,
transform: {
react: {
runtime: 'automatic',
},
useDefineForClassFields: false,
decoratorVersion: '2022-03',
},
},
sourceMaps: true,
inlineSourcesContent: true,
},
},
], ],
}, },
], ],
@@ -561,7 +531,6 @@ export function createWorkerTargetConfig(
minimizer: [ minimizer: [
new TerserPlugin({ new TerserPlugin({
minify: TerserPlugin.swcMinify, minify: TerserPlugin.swcMinify,
exclude: [/plugins\/.+\/.+\.js$/, /plugins\/.+\/.+\.mjs$/],
parallel: true, parallel: true,
extractComments: true, extractComments: true,
terserOptions: { terserOptions: {
@@ -583,5 +552,8 @@ export function createWorkerTargetConfig(
runtimeChunk: false, runtimeChunk: false,
splitChunks: false, splitChunks: false,
}, },
performance: {
hints: false,
},
}; };
} }