@tybys/native-require
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.3 • Public • Published

    native-require

    Try to get native require function in any environment.

    $ npm install @tybys/native-require

    When should you use this package

    If you want to write a library which supports both Node.js and browser, and you hope it can be work well with webpack, you can use this package instead of writing __non_webpack_require__ directly in your code.

    Usage:

    Webpack

    Plugin is not neccesary.

    const { NativeRequireWebpackPlugin } = require('@tybys/native-require/plugins/webpack.js')
    
    module.exports = {
      /* ... */
      plugins: [
        new NativeRequireWebpackPlugin()
      ]
    }

    CommonJS:

    const { tryGetRequireFunction } = require('@tybys/native-require/index.js') // index.js can not be omitted
    const nativeRequire = tryGetRequireFunction()
    if (typeof nativeRequire === 'function') {
      // ...
    }

    ESM format input / TypeScript:

    import { tryGetRequireFunction } from '@tybys/native-require'
    const nativeRequire = tryGetRequireFunction()
    if (typeof nativeRequire === 'function') {
      // ...
    }

    Rollup

    NOTE: If you are using commonjs require('@tybys/native-require/index.js') with @rollup/plugin-commonjs, you need to add @tybys/native-require/plugins/rollup.js.

    const { nativeRequireRollupPlugin } = require('@tybys/native-require/plugins/rollup.js')
    
    module.exports = {
      plugins: [
        nativeRequireRollupPlugin(),
        /* commonjs node-resolve ... */
      ]
    }
    const { tryGetRequireFunction } = require('@tybys/native-require/index.js') // index.js can not be omitted

    ESM / TypeScript:

    import { tryGetRequireFunction } from '@tybys/native-require'
    const nativeRequire = tryGetRequireFunction()
    if (typeof nativeRequire === 'function') {
      // ...
    }

    Browser (Generally do not use) / Electron renderer process

    <script src="node_modules/@tybys/native-require/dist/native-require.js"></script>
    <script>
      (function () {
        var nativeRequire = nr.tryGetRequireFunction(typeof module !== 'undefined' ? module : undefined)();
        if (typeof nativeRequire === 'function') {
          // ...
        }
      })();
    </script>

    Examples are in test folder.

    Keywords

    none

    Install

    npm i @tybys/native-require

    DownloadsWeekly Downloads

    14

    Version

    3.0.3

    License

    MIT

    Unpacked Size

    16.8 kB

    Total Files

    12

    Last publish

    Collaborators

    • toyobayashi