Node fork modules & moduleResolution bundler (#5774)

This commit is contained in:
Bob Ippolito
2024-04-01 16:33:51 -07:00
committed by GitHub
parent 48629ea801
commit edae3d36ef
55 changed files with 1805 additions and 1072 deletions

View File

@ -6,59 +6,43 @@
*
*/
// eslint-disable-next-line simple-import-sort/imports
import type {
BaseSelection,
LexicalCommand,
LexicalEditor,
LexicalNode,
RangeSelection,
LineBreakNode,
NodeKey,
BaseSelection,
RangeSelection,
} from 'lexical';
import * as Prism from 'prismjs';
import 'prismjs/components/prism-clike';
import 'prismjs/components/prism-javascript';
import 'prismjs/components/prism-markup';
import 'prismjs/components/prism-markdown';
import 'prismjs/components/prism-c';
import 'prismjs/components/prism-css';
import 'prismjs/components/prism-objectivec';
import 'prismjs/components/prism-sql';
import 'prismjs/components/prism-python';
import 'prismjs/components/prism-rust';
import 'prismjs/components/prism-swift';
import 'prismjs/components/prism-typescript';
import 'prismjs/components/prism-java';
import 'prismjs/components/prism-cpp';
import {mergeRegister} from '@lexical/utils';
import {
$createLineBreakNode,
$createTabNode,
$createTextNode,
$getNodeByKey,
$getSelection,
$insertNodes,
$isLineBreakNode,
$createTabNode,
$isRangeSelection,
$isTabNode,
$isTextNode,
COMMAND_PRIORITY_LOW,
INSERT_TAB_COMMAND,
INDENT_CONTENT_COMMAND,
INSERT_TAB_COMMAND,
KEY_ARROW_DOWN_COMMAND,
KEY_ARROW_UP_COMMAND,
KEY_TAB_COMMAND,
MOVE_TO_END,
MOVE_TO_START,
$insertNodes,
OUTDENT_CONTENT_COMMAND,
KEY_TAB_COMMAND,
TextNode,
$isTabNode,
TabNode,
TextNode,
} from 'lexical';
import invariant from 'shared/invariant';
import {Prism, reifyPrismLanguages} from './CodeHighlighterPrism';
import {
$createCodeHighlightNode,
$isCodeHighlightNode,
@ -67,9 +51,7 @@ import {
getFirstCodeNodeOfLine,
getLastCodeNodeOfLine,
} from './CodeHighlightNode';
import {$isCodeNode, CodeNode} from './CodeNode';
import invariant from 'shared/invariant';
type TokenContent = string | Token | (string | Token)[];
@ -823,6 +805,7 @@ export function registerCodeHighlighting(
editor: LexicalEditor,
tokenizer?: Tokenizer,
): () => void {
reifyPrismLanguages();
if (!editor.hasNodes([CodeNode, CodeHighlightNode])) {
throw new Error(
'CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor',