mirror of
https://github.com/hanzoai/minutes.git
synced 2026-10-30 18:27:58 +00:00
Pin ProseMirror packages to the known-good versions used by BlockNote and force webpack to resolve BlockNote/ProseMirror modules through single instances. This prevents duplicate ProseMirror selection registration errors after clean installs. Replace render-time BlockNote requires with static imports and wrap blocksToMarkdownLossy only once to avoid recursive wrapper buildup during editor reuse.
52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
const path = require('path');
|
|
const tiptapPmResolveBase = path.dirname(require.resolve('@tiptap/pm/model'));
|
|
const resolveFromTiptapPm = (pkg) =>
|
|
require.resolve(pkg, { paths: [tiptapPmResolveBase] });
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
reactStrictMode: false, // Disabled for BlockNote compatibility
|
|
output: 'export',
|
|
images: {
|
|
unoptimized: true,
|
|
},
|
|
// Add basePath configuration
|
|
basePath: '',
|
|
assetPrefix: '/',
|
|
|
|
// Add webpack configuration for Tauri
|
|
webpack: (config, { isServer }) => {
|
|
if (!isServer) {
|
|
config.resolve.fallback = {
|
|
...config.resolve.fallback,
|
|
fs: false,
|
|
path: false,
|
|
os: false,
|
|
};
|
|
|
|
// Keep ProseMirror single-instanced for BlockNote/Tiptap.
|
|
config.resolve.alias = {
|
|
...config.resolve.alias,
|
|
'@blocknote/core$': require.resolve('@blocknote/core'),
|
|
'@blocknote/react$': require.resolve('@blocknote/react'),
|
|
'@blocknote/shadcn$': require.resolve('@blocknote/shadcn'),
|
|
'prosemirror-model': resolveFromTiptapPm('prosemirror-model'),
|
|
'prosemirror-state': resolveFromTiptapPm('prosemirror-state'),
|
|
'prosemirror-view': resolveFromTiptapPm('prosemirror-view'),
|
|
'prosemirror-transform': resolveFromTiptapPm('prosemirror-transform'),
|
|
'prosemirror-tables': resolveFromTiptapPm('prosemirror-tables'),
|
|
'prosemirror-schema-list': resolveFromTiptapPm('prosemirror-schema-list'),
|
|
'prosemirror-keymap': resolveFromTiptapPm('prosemirror-keymap'),
|
|
'prosemirror-commands': resolveFromTiptapPm('prosemirror-commands'),
|
|
'prosemirror-history': resolveFromTiptapPm('prosemirror-history'),
|
|
'prosemirror-inputrules': resolveFromTiptapPm('prosemirror-inputrules'),
|
|
'prosemirror-gapcursor': resolveFromTiptapPm('prosemirror-gapcursor'),
|
|
'prosemirror-dropcursor': resolveFromTiptapPm('prosemirror-dropcursor'),
|
|
};
|
|
}
|
|
return config;
|
|
},
|
|
}
|
|
|
|
module.exports = nextConfig
|