Skip to content

coderaiser/simport

Repository files navigation

Simport License NPM version Build Status Coverage Status

Use dynamic imports just like plain old require.

With simport you can:

Install

npm i simport

API

createSimport

Commonjs:

const {createSimport} = require('simport');
const simport = createSimport(__filename);

ESM:

import {createSimport} from 'simport';
const simport = createSimport(import.meta.url);

// you can import json
await simport('./package.json');
// returns
({
    name: simport,
});

// you can avoid .js extension
await simport('./server');

// you can avoid destructure default
const validate = await simport('./validate');
// same as
const {default: validate2} = await import('./validate.js');

createCommons

import {createCommons} from 'simport';

const {
    __filename,
    __dirname,
    require,
} = createCommons(import.meta.url);

// now you have plain old CommonJS variables

License

MIT