Détail du package

simport

coderaiser68kMIT1.2.0

import like require but async

dynamic, import, require, commonjs

readme

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

changelog

2021.04.20, v1.2.0 feature:

  • (simport) add support of function constructors
  • (package) eslint-plugin-putout v7.4.0
  • (package) supertape v5.1.0
  • (package) putout v16.7.0

2021.01.25, v1.1.3

fix:

  • (simport) default is frozen object (#1)
  • (simport) default is frozen function (#1)

2021.01.25, v1.1.2

feature:

  • (simport) add importAbsolute

2021.01.23, v1.1.1

fix:

  • (simport) namespaced imports

2021.01.22, v1.1.0

feature:

  • (simport) improve windows support

2021.01.21, v1.0.7

fix:

  • (simport) json support

feature:

  • (package) putout v13.8.0

2021.01.20, v1.0.6

fix:

  • (simport) ability to handle windows paths (coderaiser/cloudcmd#317)

2021.01.12, v1.0.5

fix:

  • (simport) url processing

2020.12.28, v1.0.4

fix:

  • (package) main: super-impomrt -> simport

2020.12.25, v1.0.3

fix:

  • (simport) createSimport

2020.12.25, v1.0.2

fix:

  • (package) rm lib

2020.12.25, v1.0.1

feature:

  • (simport) add readjson