npm.io
10.0.1 • Published 2 years ago

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

Licence
MIT
Version
10.0.1
Deps
1
Size
11 kB
Vulns
0
Weekly
5.9K
Stars
796

@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

Keywords