Naughty Platypus Memorabilia

    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

    Install

    npm i simport

    DownloadsWeekly Downloads

    4,640

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    8.76 kB

    Total Files

    9

    Last publish

    Collaborators

    • coderaiser