- Rollup Plugin Name:
- Rollup Plugin Version:
- Rollup Version:
- Operating System (or Browser):
- Node Version:
- Link to reproduction (⚠️ read below):
Expected Behavior
Only one example but we need to tackle that in all plugins
node rollup.build.mjs
import { rollup } from './node_modules/rollup/dist/es/rollup.js'
// This Should work and also this
import resolve from '@rollup/plugin-node-resolve/dist/index.js';
// This Should work and also this
import resolve from '@rollup/plugin-node-resolve/dist/index.es.js';
Actual Behavior
build.mjs
import { rollup } from './node_modules/rollup/dist/es/rollup.js'
// Example importing cjs inside node esm
import resolve from '@rollup/plugin-node-resolve/dist/index.js'; // fails as { DEFAULTS, nodeResolve, default } gets exported
// Here resolve === { DEFAULTS, nodeResolve, default }
const { nodeResolve: resolve } = resolveExports
// Example importing es inside node esm
import resolve from '@rollup/plugin-node-resolve/dist/index.es.js'; // fails as the package it self is not marked as module
Solution is to do it like with rollup and create for every plugin a structure like /dist/es/${plugin-name}.js
and a added package.json {"type": "module"}
Additional Information
reproducer
npm install rollup @rollup/plugin-node-resolve@8.0.0
build.mjs
import { rollup } from './node_modules/rollup/dist/es/rollup.js'
// Example importing cjs inside node esm
import resolve from '@rollup/plugin-node-resolve/dist/index.js'; // fails as { DEFAULTS, nodeResolve, default } gets exported
// Here resolve === { DEFAULTS, nodeResolve, default }
// Workaround
import resolve from '@rollup/plugin-node-resolve/dist/index.js'; // fails as { DEFAULTS, nodeResolve, default } gets exported
const { nodeResolve: resolve } = resolveExports
// Example importing es inside node esm
import resolve from '@rollup/plugin-node-resolve/dist/index.es.js'; // fails as the package it self is not marked as module
We should think about way to solve that for all plugins like rollup-plugin-string which is from TrySound we need a consistent Plugin Boilerplate maybe.
Expected Behavior
Only one example but we need to tackle that in all plugins
node rollup.build.mjs
Actual Behavior
build.mjs
Solution is to do it like with rollup and create for every plugin a structure like /dist/es/${plugin-name}.js
and a added package.json {"type": "module"}
Additional Information
reproducer
npm install rollup @rollup/plugin-node-resolve@8.0.0
build.mjs
We should think about way to solve that for all plugins like rollup-plugin-string which is from TrySound we need a consistent Plugin Boilerplate maybe.