@putout/plugin-convert-commonjs-to-esm

10.0.1 • Public • Published

@putout/plugin-convert-commonjs-to-esm NPM version

CommonJS is a module system supported in Node, it provides a require function, which can be used to access the exports object exposed by another file.

EcmaScript module syntax is the standard way to import and export values between files in JavaScript. The import statement can be used to reference a value exposed by the export statement in another file.

(c) parceljs

🐊Putout plugin adds ability to convert CommonJS to ESM. Use @putout/plugin-nodejs instead.

Install

npm i @putout/plugin-convert-commonjs-to-esm -D

Rule

{
    "rules": {
        "convert-commonjs-to-esm/require": "on",
        "convert-commonjs-to-esm/exports": "on",
        "convert-commonjs-to-esm/commons": "on"
    }
}

require

❌ Example of incorrect code

const {join} = require('path');

const args = require('minimist')({
    string: ['a', 'b'],
});

✅ Example of correct code

import {join} from 'path';
import minimist from 'minimist';

const args = minimist({
    string: ['a', 'b'],
});

exports

❌ Example of incorrect code

module.exports = () => {};

✅ Example of correct code

export default () => {};

Commons

❌ Example of incorrect code

const {readFile} = require('fs/promises');

await readFile(__filename);

✅ Example of correct code

import {readFile} from 'fs/promises';
import {fileURLToPath} from 'url';

const __filename = fileURLToPath(import.meta.url);
await readFile(__filename);

License

MIT

Package Sidebar

Install

npm i @putout/plugin-convert-commonjs-to-esm

Weekly Downloads

19,052

Version

10.0.1

License

MIT

Unpacked Size

11.2 kB

Total Files

7

Last publish

Collaborators

  • coderaiser