Socket
Socket
Sign inDemoInstall

esm-loader-import-meta-custom

Package Overview
Dependencies
115
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    esm-loader-import-meta-custom

Chainable ESModule Loader to stub custom import.meta.* properties


Version published
Maintainers
1
Install size
4.60 MB
Created

Readme

Source

esm-loader-import-meta-custom

Node.js ESModule Loader to stub custom import.meta.* properties.

This loader will ignore any valid import.meta properties, such as:

  • import.meta.resolve
  • import.meta.url

Warning! Using experimental Node.js features and flags, API will likely change. This may be helpful for development and testing, but should not be used in production.

Usage

Some web frameworks will override import.meta with custom properties, not known to Node.js. Your production web code might contain something like this:

// index.js
const dbUrl = import.meta.env.VITE_DATABASE_URL

If you try testing this web code in isolation under Node.js it will fail, as Node does not recoginze import.meta.env*.

Chainable

This loader can be configured, and chained with other loaders, using node-esm-loader.

npm install --save-dev esm-loader-import-meta-custom node-esm-loader
// .loaderrc.js
export default {
  loaders: [
    {
      loader: 'esm-loader-import-meta-custom',
      options: {
        meta: {
          env: {
            VITE_DATABASE_URL: 'postgres://user@localhost/db',
          },
        },
      },
    },
  ],
}
# node >= 20.7
NODE_OPTIONS="--import node-esm-loader/register" node index.js

# node < 20.7
NODE_OPTIONS="--loader node-esm-loader" node index.js
Options
Meta

See example above.

Debug
// .loaderrc.js
export default {
  loaders: [
    {
      loader: 'esm-loader-import-meta-custom',
      options: {
        debug: true,
      },
    },
  ],
}

License

MIT

Keywords

FAQs

Last updated on 01 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc