simport

1.2.0 • Public • Published

Simport License NPM version Dependency Status Build Status Coverage Status

Use dynamic imports just like plain old require.

With simport you can:

  • get require
  • get __filename or __dirname
  • load json
  • avoid extensions
  • avoid destructuring default
  • pass simport into functions like tryCatch
  • use absolute path in windows

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

Dependencies (2)

Dev Dependencies (10)

Package Sidebar

Install

npm i simport

Weekly Downloads

22,487

Version

1.2.0

License

MIT

Unpacked Size

8.76 kB

Total Files

9

Last publish

Collaborators

  • coderaiser