Skip to content

Commit

Permalink
Fix build of fork modules
Browse files Browse the repository at this point in the history
  • Loading branch information
etrepum committed Mar 12, 2024
1 parent d7aaaae commit 0feb18b
Show file tree
Hide file tree
Showing 3 changed files with 175 additions and 7 deletions.
160 changes: 160 additions & 0 deletions packages/lexical-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,161 +44,321 @@
"import": "./LexicalAutoEmbedPlugin.esm.js",
"require": "./LexicalAutoEmbedPlugin.js"
},
"./LexicalAutoEmbedPlugin.js": {
"import": "./LexicalAutoEmbedPlugin.esm.js",
"require": "./LexicalAutoEmbedPlugin.js"
},
"./LexicalAutoFocusPlugin": {
"import": "./LexicalAutoFocusPlugin.esm.js",
"require": "./LexicalAutoFocusPlugin.js"
},
"./LexicalAutoFocusPlugin.js": {
"import": "./LexicalAutoFocusPlugin.esm.js",
"require": "./LexicalAutoFocusPlugin.js"
},
"./LexicalAutoLinkPlugin": {
"import": "./LexicalAutoLinkPlugin.esm.js",
"require": "./LexicalAutoLinkPlugin.js"
},
"./LexicalAutoLinkPlugin.js": {
"import": "./LexicalAutoLinkPlugin.esm.js",
"require": "./LexicalAutoLinkPlugin.js"
},
"./LexicalBlockWithAlignableContents": {
"import": "./LexicalBlockWithAlignableContents.esm.js",
"require": "./LexicalBlockWithAlignableContents.js"
},
"./LexicalBlockWithAlignableContents.js": {
"import": "./LexicalBlockWithAlignableContents.esm.js",
"require": "./LexicalBlockWithAlignableContents.js"
},
"./LexicalCharacterLimitPlugin": {
"import": "./LexicalCharacterLimitPlugin.esm.js",
"require": "./LexicalCharacterLimitPlugin.js"
},
"./LexicalCharacterLimitPlugin.js": {
"import": "./LexicalCharacterLimitPlugin.esm.js",
"require": "./LexicalCharacterLimitPlugin.js"
},
"./LexicalCheckListPlugin": {
"import": "./LexicalCheckListPlugin.esm.js",
"require": "./LexicalCheckListPlugin.js"
},
"./LexicalCheckListPlugin.js": {
"import": "./LexicalCheckListPlugin.esm.js",
"require": "./LexicalCheckListPlugin.js"
},
"./LexicalClearEditorPlugin": {
"import": "./LexicalClearEditorPlugin.esm.js",
"require": "./LexicalClearEditorPlugin.js"
},
"./LexicalClearEditorPlugin.js": {
"import": "./LexicalClearEditorPlugin.esm.js",
"require": "./LexicalClearEditorPlugin.js"
},
"./LexicalClickableLinkPlugin": {
"import": "./LexicalClickableLinkPlugin.esm.js",
"require": "./LexicalClickableLinkPlugin.js"
},
"./LexicalClickableLinkPlugin.js": {
"import": "./LexicalClickableLinkPlugin.esm.js",
"require": "./LexicalClickableLinkPlugin.js"
},
"./LexicalCollaborationContext": {
"import": "./LexicalCollaborationContext.esm.js",
"require": "./LexicalCollaborationContext.js"
},
"./LexicalCollaborationContext.js": {
"import": "./LexicalCollaborationContext.esm.js",
"require": "./LexicalCollaborationContext.js"
},
"./LexicalCollaborationPlugin": {
"import": "./LexicalCollaborationPlugin.esm.js",
"require": "./LexicalCollaborationPlugin.js"
},
"./LexicalCollaborationPlugin.js": {
"import": "./LexicalCollaborationPlugin.esm.js",
"require": "./LexicalCollaborationPlugin.js"
},
"./LexicalComposer": {
"import": "./LexicalComposer.esm.js",
"require": "./LexicalComposer.js"
},
"./LexicalComposer.js": {
"import": "./LexicalComposer.esm.js",
"require": "./LexicalComposer.js"
},
"./LexicalComposerContext": {
"import": "./LexicalComposerContext.esm.js",
"require": "./LexicalComposerContext.js"
},
"./LexicalComposerContext.js": {
"import": "./LexicalComposerContext.esm.js",
"require": "./LexicalComposerContext.js"
},
"./LexicalContentEditable": {
"import": "./LexicalContentEditable.esm.js",
"require": "./LexicalContentEditable.js"
},
"./LexicalContentEditable.js": {
"import": "./LexicalContentEditable.esm.js",
"require": "./LexicalContentEditable.js"
},
"./LexicalContextMenuPlugin": {
"import": "./LexicalContextMenuPlugin.esm.js",
"require": "./LexicalContextMenuPlugin.js"
},
"./LexicalContextMenuPlugin.js": {
"import": "./LexicalContextMenuPlugin.esm.js",
"require": "./LexicalContextMenuPlugin.js"
},
"./LexicalDecoratorBlockNode": {
"import": "./LexicalDecoratorBlockNode.esm.js",
"require": "./LexicalDecoratorBlockNode.js"
},
"./LexicalDecoratorBlockNode.js": {
"import": "./LexicalDecoratorBlockNode.esm.js",
"require": "./LexicalDecoratorBlockNode.js"
},
"./LexicalEditorRefPlugin": {
"import": "./LexicalEditorRefPlugin.esm.js",
"require": "./LexicalEditorRefPlugin.js"
},
"./LexicalEditorRefPlugin.js": {
"import": "./LexicalEditorRefPlugin.esm.js",
"require": "./LexicalEditorRefPlugin.js"
},
"./LexicalErrorBoundary": {
"import": "./LexicalErrorBoundary.esm.js",
"require": "./LexicalErrorBoundary.js"
},
"./LexicalErrorBoundary.js": {
"import": "./LexicalErrorBoundary.esm.js",
"require": "./LexicalErrorBoundary.js"
},
"./LexicalHashtagPlugin": {
"import": "./LexicalHashtagPlugin.esm.js",
"require": "./LexicalHashtagPlugin.js"
},
"./LexicalHashtagPlugin.js": {
"import": "./LexicalHashtagPlugin.esm.js",
"require": "./LexicalHashtagPlugin.js"
},
"./LexicalHistoryPlugin": {
"import": "./LexicalHistoryPlugin.esm.js",
"require": "./LexicalHistoryPlugin.js"
},
"./LexicalHistoryPlugin.js": {
"import": "./LexicalHistoryPlugin.esm.js",
"require": "./LexicalHistoryPlugin.js"
},
"./LexicalHorizontalRuleNode": {
"import": "./LexicalHorizontalRuleNode.esm.js",
"require": "./LexicalHorizontalRuleNode.js"
},
"./LexicalHorizontalRuleNode.js": {
"import": "./LexicalHorizontalRuleNode.esm.js",
"require": "./LexicalHorizontalRuleNode.js"
},
"./LexicalHorizontalRulePlugin": {
"import": "./LexicalHorizontalRulePlugin.esm.js",
"require": "./LexicalHorizontalRulePlugin.js"
},
"./LexicalHorizontalRulePlugin.js": {
"import": "./LexicalHorizontalRulePlugin.esm.js",
"require": "./LexicalHorizontalRulePlugin.js"
},
"./LexicalLinkPlugin": {
"import": "./LexicalLinkPlugin.esm.js",
"require": "./LexicalLinkPlugin.js"
},
"./LexicalLinkPlugin.js": {
"import": "./LexicalLinkPlugin.esm.js",
"require": "./LexicalLinkPlugin.js"
},
"./LexicalListPlugin": {
"import": "./LexicalListPlugin.esm.js",
"require": "./LexicalListPlugin.js"
},
"./LexicalListPlugin.js": {
"import": "./LexicalListPlugin.esm.js",
"require": "./LexicalListPlugin.js"
},
"./LexicalMarkdownShortcutPlugin": {
"import": "./LexicalMarkdownShortcutPlugin.esm.js",
"require": "./LexicalMarkdownShortcutPlugin.js"
},
"./LexicalMarkdownShortcutPlugin.js": {
"import": "./LexicalMarkdownShortcutPlugin.esm.js",
"require": "./LexicalMarkdownShortcutPlugin.js"
},
"./LexicalNestedComposer": {
"import": "./LexicalNestedComposer.esm.js",
"require": "./LexicalNestedComposer.js"
},
"./LexicalNestedComposer.js": {
"import": "./LexicalNestedComposer.esm.js",
"require": "./LexicalNestedComposer.js"
},
"./LexicalNodeEventPlugin": {
"import": "./LexicalNodeEventPlugin.esm.js",
"require": "./LexicalNodeEventPlugin.js"
},
"./LexicalNodeEventPlugin.js": {
"import": "./LexicalNodeEventPlugin.esm.js",
"require": "./LexicalNodeEventPlugin.js"
},
"./LexicalNodeMenuPlugin": {
"import": "./LexicalNodeMenuPlugin.esm.js",
"require": "./LexicalNodeMenuPlugin.js"
},
"./LexicalNodeMenuPlugin.js": {
"import": "./LexicalNodeMenuPlugin.esm.js",
"require": "./LexicalNodeMenuPlugin.js"
},
"./LexicalOnChangePlugin": {
"import": "./LexicalOnChangePlugin.esm.js",
"require": "./LexicalOnChangePlugin.js"
},
"./LexicalOnChangePlugin.js": {
"import": "./LexicalOnChangePlugin.esm.js",
"require": "./LexicalOnChangePlugin.js"
},
"./LexicalPlainTextPlugin": {
"import": "./LexicalPlainTextPlugin.esm.js",
"require": "./LexicalPlainTextPlugin.js"
},
"./LexicalPlainTextPlugin.js": {
"import": "./LexicalPlainTextPlugin.esm.js",
"require": "./LexicalPlainTextPlugin.js"
},
"./LexicalRichTextPlugin": {
"import": "./LexicalRichTextPlugin.esm.js",
"require": "./LexicalRichTextPlugin.js"
},
"./LexicalRichTextPlugin.js": {
"import": "./LexicalRichTextPlugin.esm.js",
"require": "./LexicalRichTextPlugin.js"
},
"./LexicalTabIndentationPlugin": {
"import": "./LexicalTabIndentationPlugin.esm.js",
"require": "./LexicalTabIndentationPlugin.js"
},
"./LexicalTabIndentationPlugin.js": {
"import": "./LexicalTabIndentationPlugin.esm.js",
"require": "./LexicalTabIndentationPlugin.js"
},
"./LexicalTableOfContents": {
"import": "./LexicalTableOfContents.esm.js",
"require": "./LexicalTableOfContents.js"
},
"./LexicalTableOfContents.js": {
"import": "./LexicalTableOfContents.esm.js",
"require": "./LexicalTableOfContents.js"
},
"./LexicalTablePlugin": {
"import": "./LexicalTablePlugin.esm.js",
"require": "./LexicalTablePlugin.js"
},
"./LexicalTablePlugin.js": {
"import": "./LexicalTablePlugin.esm.js",
"require": "./LexicalTablePlugin.js"
},
"./LexicalTreeView": {
"import": "./LexicalTreeView.esm.js",
"require": "./LexicalTreeView.js"
},
"./LexicalTreeView.js": {
"import": "./LexicalTreeView.esm.js",
"require": "./LexicalTreeView.js"
},
"./LexicalTypeaheadMenuPlugin": {
"import": "./LexicalTypeaheadMenuPlugin.esm.js",
"require": "./LexicalTypeaheadMenuPlugin.js"
},
"./LexicalTypeaheadMenuPlugin.js": {
"import": "./LexicalTypeaheadMenuPlugin.esm.js",
"require": "./LexicalTypeaheadMenuPlugin.js"
},
"./useLexicalEditable": {
"import": "./useLexicalEditable.esm.js",
"require": "./useLexicalEditable.js"
},
"./useLexicalEditable.js": {
"import": "./useLexicalEditable.esm.js",
"require": "./useLexicalEditable.js"
},
"./useLexicalIsTextContentEmpty": {
"import": "./useLexicalIsTextContentEmpty.esm.js",
"require": "./useLexicalIsTextContentEmpty.js"
},
"./useLexicalIsTextContentEmpty.js": {
"import": "./useLexicalIsTextContentEmpty.esm.js",
"require": "./useLexicalIsTextContentEmpty.js"
},
"./useLexicalNodeSelection": {
"import": "./useLexicalNodeSelection.esm.js",
"require": "./useLexicalNodeSelection.js"
},
"./useLexicalNodeSelection.js": {
"import": "./useLexicalNodeSelection.esm.js",
"require": "./useLexicalNodeSelection.js"
},
"./useLexicalSubscription": {
"import": "./useLexicalSubscription.esm.js",
"require": "./useLexicalSubscription.js"
},
"./useLexicalSubscription.js": {
"import": "./useLexicalSubscription.esm.js",
"require": "./useLexicalSubscription.js"
},
"./useLexicalTextEntity": {
"import": "./useLexicalTextEntity.esm.js",
"require": "./useLexicalTextEntity.js"
},
"./useLexicalTextEntity.js": {
"import": "./useLexicalTextEntity.esm.js",
"require": "./useLexicalTextEntity.js"
}
}
}
13 changes: 7 additions & 6 deletions scripts/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -613,24 +613,25 @@ async function moveTSDeclarationFilesIntoDist(packageName, outputPath) {
}

function buildForkModule(outputPath, outputFileName, format, exports) {
const lines = [getComment(), `'use strict'`];
const lines = [getComment()];
const extension = getExtension(format);
const devFileName = `./${outputFileName}.dev${extension}`;
const prodFileName = `./${outputFileName}.prod${extension}`;
if (format === 'esm') {
lines.append(
`const mod = await import(process.env.NODE_ENV === 'development' ? '${devFileName}' : '${prodFileName}');`,
lines.push(
`const mod = process.env.NODE_ENV === 'development' ? await import('${devFileName}') : await import('${prodFileName}');`,
);
for (const name of exports) {
lines.append(
lines.push(
name === 'default'
? `export default mod.default;`
: `export const ${name} = mod.${name};`,
);
}
} else {
lines.append(
`const ${outputFileName} = process.env.NODE_ENV === 'development' ? require('${devFileName}') : require('${prodFileName}')`,
lines.push(
`'use strict'`,
`const ${outputFileName} = process.env.NODE_ENV === 'development' ? require('${devFileName}') : require('${prodFileName}');`,
`module.exports = ${outputFileName};`,
);
}
Expand Down
9 changes: 8 additions & 1 deletion scripts/updateVersion.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,18 @@ function updateModule(packageJSON, pkg) {
} else if (fs.existsSync(`./packages/${pkg}/dist`)) {
const exports = {};
for (const file of fs.readdirSync(`./packages/${pkg}/dist`)) {
if (file.endsWith('.js')) {
if (/^[^.]+\.js$/.test(file)) {
// support for import "@lexical/react/LexicalComposer"
exports[`./${file.replace(/\.js$/, '')}`] = {
import: `./${withEsmExtension(file)}`,
require: `./${file}`,
};
// support for import "@lexical/react/LexicalComposer.js"
// @mdxeditor/editor uses this at least as of 2.13.1
exports[`./${file}`] = {
import: `./${withEsmExtension(file)}`,
require: `./${file}`,
};
}
}
packageJSON.exports = exports;
Expand Down

0 comments on commit 0feb18b

Please sign in to comment.