Skip to content

Instantly share code, notes, and snippets.

@koooge
Created January 29, 2022 12:41
Show Gist options
  • Save koooge/eda45f5bd5e4d950ce685a50791d76bf to your computer and use it in GitHub Desktop.
Save koooge/eda45f5bd5e4d950ce685a50791d76bf to your computer and use it in GitHub Desktop.
rollup exports
/* ----- default ----- */
// src: export default someFunc
// dist: module.exports = someFunc
const defaultCjs = {
input: 'src/default.js',
output: {
file: 'dist/default.cjs',
format: 'cjs'
},
plugins: [],
};
// src: export default someFunc
// dist: export { someFunc as default };
const defaultEsm = {
input: 'src/default.js',
output: {
file: 'dist/default.mjs',
format: 'esm'
},
plugins: [],
};
/* ----- named ----- */
// src: export const someFunc =
// dist: exports.someFunc = someFunc;
const namedCjs = {
input: 'src/named.js',
output: {
file: 'dist/named.cjs',
format: 'cjs'
},
plugins: [],
};
// src: export const someFunc =
// dist: export { someFunc };
const namedEsm = {
input: 'src/named.js',
output: {
file: 'dist/named.mjs',
format: 'esm'
},
plugins: [],
};
/* ----- mixed ----- */
// src:
// export default someFunc
// export someFunc2
// dist:
// Object.defineProperty(exports, '__esModule', { value: true });
// exports["default"] = someFunc;
// exports.someFunc2 = someFunc2;
const mixedCjs = {
input: 'src/mixed.js',
output: {
file: 'dist/mixed.cjs',
format: 'cjs'
},
plugins: [],
};
// src:
// export default someFunc
// export someFunc2
// dist:
// export { someFunc as default, someFunc2 };
const mixedEsm = {
input: 'src/mixed.js',
output: {
file: 'dist/mixed.mjs',
format: 'esm'
},
plugins: [],
};
export default [
defaultCjs,
defaultEsm,
namedCjs,
namedEsm,
mixedCjs,
mixedEsm,
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment