Describe the Bug
INSERT_UPLOAD_WITH_DRAWER_COMMAND exists internally in @payloadcms/richtext-lexical, but there is no supported public import path for it in the published package.
In @payloadcms/richtext-lexical@3.80.0:
- the package
exports map does not expose the internal drawer command module
@payloadcms/richtext-lexical/client does not re-export INSERT_UPLOAD_WITH_DRAWER_COMMAND
This makes it difficult to extend the upload drawer behavior from userland. The only working option I found is importing from a private built file under node_modules/@payloadcms/richtext-lexical/dist/..., which is brittle and couples app code to the package's internal layout.
Expected behavior:
INSERT_UPLOAD_WITH_DRAWER_COMMAND should be available from a supported public import path, ideally:
import { INSERT_UPLOAD_WITH_DRAWER_COMMAND } from '@payloadcms/richtext-lexical/client'
Link to the code that reproduces this issue
N/A - this issue is about a missing public export in the published package API, not a behavior bug with a standalone runtime reproduction.
Reproduction Steps
- Install
@payloadcms/richtext-lexical@3.80.0.
- Check
@payloadcms/richtext-lexical/client and confirm it does not export INSERT_UPLOAD_WITH_DRAWER_COMMAND.
- Check the package contents and confirm the command exists internally at
dist/features/upload/client/drawer/commands.js.
- Confirm the package
exports map does not expose that module as a public import path.
Which area(s) are affected?
plugin: richtext-lexical
Environment Info
Binaries:
Node: 24.14.0
npm: 11.9.0
Yarn: 1.22.22
pnpm: 9.6.0
Relevant Packages:
payload: 3.80.0
next: 16.2.1
@payloadcms/db-postgres: 3.80.0
@payloadcms/db-vercel-postgres: 3.80.0
@payloadcms/drizzle: 3.80.0
@payloadcms/email-nodemailer: 3.80.0
@payloadcms/graphql: 3.80.0
@payloadcms/live-preview: 3.80.0
@payloadcms/live-preview-react: 3.80.0
@payloadcms/next/utilities: 3.80.0
@payloadcms/payload-cloud: 3.80.0
@payloadcms/plugin-cloud-storage: 3.80.0
@payloadcms/plugin-import-export: 3.80.0
@payloadcms/plugin-multi-tenant: 3.80.0
@payloadcms/plugin-seo: 3.80.0
@payloadcms/richtext-lexical: 3.80.0
@payloadcms/storage-vercel-blob: 3.80.0
@payloadcms/translations: 3.80.0
@payloadcms/typescript-plugin: 3.80.0
@payloadcms/ui/shared: 3.80.0
react: 19.2.4
react-dom: 19.2.4
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 25.2.0: Tue Nov 18 21:09:45 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T6030
Available memory (MB): 36864
Available CPU cores: 12
Describe the Bug
INSERT_UPLOAD_WITH_DRAWER_COMMANDexists internally in@payloadcms/richtext-lexical, but there is no supported public import path for it in the published package.In
@payloadcms/richtext-lexical@3.80.0:exportsmap does not expose the internal drawer command module@payloadcms/richtext-lexical/clientdoes not re-exportINSERT_UPLOAD_WITH_DRAWER_COMMANDThis makes it difficult to extend the upload drawer behavior from userland. The only working option I found is importing from a private built file under
node_modules/@payloadcms/richtext-lexical/dist/..., which is brittle and couples app code to the package's internal layout.Expected behavior:
INSERT_UPLOAD_WITH_DRAWER_COMMANDshould be available from a supported public import path, ideally:Link to the code that reproduces this issue
N/A - this issue is about a missing public export in the published package API, not a behavior bug with a standalone runtime reproduction.
Reproduction Steps
@payloadcms/richtext-lexical@3.80.0.@payloadcms/richtext-lexical/clientand confirm it does not exportINSERT_UPLOAD_WITH_DRAWER_COMMAND.dist/features/upload/client/drawer/commands.js.exportsmap does not expose that module as a public import path.Which area(s) are affected?
plugin: richtext-lexical
Environment Info