├── .gitignore ├── lex.js ├── out.js ├── package.json └── src └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /lex.js: -------------------------------------------------------------------------------- 1 | const { parse } = require('cjs-module-lexer') 2 | 3 | const src = require('fs').readFileSync('out.js', 'utf-8') 4 | const { reexports } = parse(src) 5 | 6 | console.log( 7 | `detected re-exports: ${JSON.stringify(reexports)} (expects ["foo"])` 8 | ) 9 | -------------------------------------------------------------------------------- /out.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var foo = require('foo'); 4 | 5 | 6 | 7 | for (var k in foo) { 8 | if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = foo[k]; 9 | } 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "build": "rollup src/index.js --no-externalLiveBindings -f cjs -e foo -o out.js", 4 | "build-working": "rollup src/index.js -f cjs -e foo -o out.js" 5 | }, 6 | "dependencies": { 7 | "cjs-module-lexer": "^1.2.2", 8 | "rollup": "^3.0.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | export * from 'foo' --------------------------------------------------------------------------------