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 { defaultBlockPlainTextAdapterMatchers } from './plain-text/block-matcher';
export const AdapterFactoryExtensions: ExtensionType[] = [
AttachmentAdapterFactoryExtension,
ImageAdapterFactoryExtension,
MarkdownAdapterFactoryExtension,
PlainTextAdapterFactoryExtension,
HtmlAdapterFactoryExtension,
NotionTextAdapterFactoryExtension,
NotionHtmlAdapterFactoryExtension,
MixTextAdapterFactoryExtension,
];
export function getAdapterFactoryExtensions(): ExtensionType[] {
return [
AttachmentAdapterFactoryExtension,
ImageAdapterFactoryExtension,
MarkdownAdapterFactoryExtension,
PlainTextAdapterFactoryExtension,
HtmlAdapterFactoryExtension,
NotionTextAdapterFactoryExtension,
NotionHtmlAdapterFactoryExtension,
MixTextAdapterFactoryExtension,
];
}
export const HtmlAdapterExtension: ExtensionType[] = [
...HtmlInlineToDeltaAdapterExtensions,
...defaultBlockHtmlAdapterMatchers,
...InlineDeltaToHtmlAdapterExtensions,
];
export function getHtmlAdapterExtensions(): ExtensionType[] {
return [
...HtmlInlineToDeltaAdapterExtensions,
...defaultBlockHtmlAdapterMatchers,
...InlineDeltaToHtmlAdapterExtensions,
];
}
export const MarkdownAdapterExtension: ExtensionType[] = [
...MarkdownInlineToDeltaAdapterExtensions,
...defaultBlockMarkdownAdapterMatchers,
...InlineDeltaToMarkdownAdapterExtensions,
...defaultMarkdownPreprocessors,
];
export function getMarkdownAdapterExtensions(): ExtensionType[] {
return [
...MarkdownInlineToDeltaAdapterExtensions,
...defaultBlockMarkdownAdapterMatchers,
...InlineDeltaToMarkdownAdapterExtensions,
...defaultMarkdownPreprocessors,
];
}
export const NotionHtmlAdapterExtension: ExtensionType[] = [
...NotionHtmlInlineToDeltaAdapterExtensions,
...defaultBlockNotionHtmlAdapterMatchers,
];
export function getNotionHtmlAdapterExtensions(): ExtensionType[] {
return [
...NotionHtmlInlineToDeltaAdapterExtensions,
...defaultBlockNotionHtmlAdapterMatchers,
];
}
export const PlainTextAdapterExtension: ExtensionType[] = [
...defaultBlockPlainTextAdapterMatchers,
...InlineDeltaToPlainTextAdapterExtensions,
];
export function getPlainTextAdapterExtensions(): ExtensionType[] {
return [
...defaultBlockPlainTextAdapterMatchers,
...InlineDeltaToPlainTextAdapterExtensions,
];
}
+10 -10
View File
@@ -51,11 +51,11 @@ import {
import type { ExtensionType } from '@blocksuite/store';
import {
AdapterFactoryExtensions,
HtmlAdapterExtension,
MarkdownAdapterExtension,
NotionHtmlAdapterExtension,
PlainTextAdapterExtension,
getAdapterFactoryExtensions,
getHtmlAdapterExtensions,
getMarkdownAdapterExtensions,
getNotionHtmlAdapterExtensions,
getPlainTextAdapterExtensions,
} from '../adapters/extension.js';
export const StoreExtensions: ExtensionType[] = [
@@ -96,11 +96,11 @@ export const StoreExtensions: ExtensionType[] = [
DatabaseSelectionExtension,
TableSelectionExtension,
HtmlAdapterExtension,
MarkdownAdapterExtension,
NotionHtmlAdapterExtension,
PlainTextAdapterExtension,
AdapterFactoryExtensions,
getHtmlAdapterExtensions(),
getMarkdownAdapterExtensions(),
getNotionHtmlAdapterExtensions(),
getPlainTextAdapterExtensions(),
getAdapterFactoryExtensions(),
FeatureFlagService,
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 type {
AttachmentBlockModel,
@@ -119,7 +119,7 @@ function generateMarkdownPreviewBuilder(
};
const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => {
getMarkdownAdapterExtensions().forEach(ext => {
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 { I18n } from '@affine/i18n';
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 {
docLinkBaseURLMiddleware,
@@ -199,7 +199,7 @@ framework.impl(AIButtonProvider, {
const snapshot = transformer.docToSnapshot(blockSuiteDoc);
const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => {
getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container);
});
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 { I18n } from '@affine/i18n';
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 { Container } from '@blocksuite/affine/global/di';
import {
@@ -262,7 +262,7 @@ const frameworkProvider = framework.provider();
const snapshot = transformer.docToSnapshot(blockSuiteDoc);
const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => {
getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container);
});
const provider = container.provider();
@@ -1,5 +1,5 @@
import { createReactComponentFromLit } from '@affine/component';
import { MarkdownAdapterExtension } from '@blocksuite/affine/adapters';
import { getMarkdownAdapterExtensions } from '@blocksuite/affine/adapters';
import {
defaultImageProxyMiddleware,
ImageProxyService,
@@ -211,7 +211,7 @@ export class TextRenderer extends WithDisposable(ShadowlessElement) {
provider = this.host.std.provider;
} else {
const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => {
getMarkdownAdapterExtensions().forEach(ext => {
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 { TestWorkspace } from '@blocksuite/affine/store/test';
import { describe, expect, test } from 'vitest';
@@ -6,7 +6,7 @@ import { describe, expect, test } from 'vitest';
import { markdownToMindmap } from '../mindmap-preview.js';
const container = new Container();
[...MarkdownAdapterExtension].forEach(ext => {
getMarkdownAdapterExtensions().forEach(ext => {
ext.setup(container);
});
const provider = container.provider();
+4 -32
View File
@@ -67,7 +67,7 @@ export function createHTMLTargetConfig(
//#region basic webpack config
name: entry['index'],
dependencies: deps,
context: pkg.path.value,
context: ProjectRoot.value,
experiments: {
topLevelAwait: true,
outputModule: false,
@@ -335,7 +335,6 @@ export function createHTMLTargetConfig(
minimizer: [
new TerserPlugin({
minify: TerserPlugin.swcMinify,
exclude: [/plugins\/.+\/.+\.js$/, /plugins\/.+\/.+\.mjs$/],
parallel: true,
extractComments: true,
terserOptions: {
@@ -498,35 +497,6 @@ export function createWorkerTargetConfig(
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: [
new TerserPlugin({
minify: TerserPlugin.swcMinify,
exclude: [/plugins\/.+\/.+\.js$/, /plugins\/.+\/.+\.mjs$/],
parallel: true,
extractComments: true,
terserOptions: {
@@ -583,5 +552,8 @@ export function createWorkerTargetConfig(
runtimeChunk: false,
splitChunks: false,
},
performance: {
hints: false,
},
};
}