cjs-esm

Another CommonJs transform ESModule lib.

MIT 12 个版本
安装
npm install cjs-esm
yarn add cjs-esm
pnpm add cjs-esm
bun add cjs-esm
README

cjs-esm

Another CommonJs transform ESModule lib.

NPM version NPM Downloads

English | 简体中文

Usage

import cjs2esm from 'cjs-esm'
// or
// const cjs2esm = require('cjs-esm').default

const { code, map } = cjs2esm(`const fs = require('fs')`)

TODO

✅ Nested scope(function-scope) 🚧-🐞

function load(path) {
  require(path);
}

function load(path) {
  import/*🚧-🐞*/(path).then(m => m.default || m);
}

❌ Dynamic require id

✅ require statement

// Top-level scope
const foo = require('foo').default

import foo from 'foo';

const foo = require('foo')

import * as foo from 'foo';

const foo = require('foo').bar

import * as __CJS_import__0__ from 'foo'; const { bar: foo } = __CJS_import__0__;

// Non top-level scope
const foo = [{ bar: require('foo').bar }]

import * as __CJS_import__0__ from 'foo'; const foo = [{ bar: __CJS_import__0__.bar }]

✅ exports statement

module.exports = fn() { };

const __CJS__export_default__ = module.exports = fn() { };
export { __CJS__export_default__ as default }

exports.foo = 'foo';

const __CJS__export_foo__ = (module.exports == null ? {} : module.exports).foo;
export { __CJS__export_foo__ as foo }
版本列表
0.4.3 2022-05-13
0.4.2 2022-05-12
0.4.1 2022-05-11
0.4.0 2022-05-10
0.3.0 2022-05-08
0.2.0 2021-08-12
0.1.4 2021-08-12
0.1.3 2021-08-09
0.1.2 2021-08-09
0.1.1 2021-08-09
0.1.0 2021-08-08
0.0.1 2021-08-08