@0kzh/babel-plugin-transform-vite-meta-env
TypeScript icon, indicating that this package has built-in type declarations

0.0.0-semantically-released • Public • Published

babel-plugin-transform-vite-meta-env

Build Status codecov version downloads MIT License

PRs Welcome Code of Conduct Discord

Watch on GitHub Star on GitHub Tweet

Please note: this plugin is intended to provide an approximation of some of Vite specific transformations when running the code in non-Vite environment, for example, running tests with a NodeJS based test runner.

The functionality within these transformations should not be relied upon in production.

Example

In

const mode = import.meta.env.MODE;
const baseUrl = import.meta.env.BASE_URL;
const nodeEnv = import.meta.env.NODE_ENV;
const dev = import.meta.env.DEV;
const prod = import.meta.env.PROD;
const viteVar = import.meta.env.VITE_VAR;
const other = import.meta.env.OTHER;
const env = import.meta.env;

Out

const mode = process.env.MODE;
const baseUrl = '/';
const nodeEnv = process.env.NODE_ENV || 'test';
const dev = process.env.NODE_ENV !== 'production';
const prod = process.env.NODE_ENV === 'production';
const viteVar = process.env.VITE_VAR;
const other = {
  ...Object.fromEntries(Object.entries(process.env).filter(([k]) => /^VITE_/.test(k))),
  NODE_ENV: process.env.NODE_ENV || 'test',
  MODE: process.env.NODE_ENV || 'test',
  BASE_URL: '/',
  DEV: process.env.NODE_ENV !== 'production',
  PROD: process.env.NODE_ENV === 'production'
}.OTHER;
const env = {
  ...Object.fromEntries(Object.entries(process.env).filter(([k]) => /^VITE_/.test(k))),
  NODE_ENV: process.env.NODE_ENV || 'test',
  MODE: process.env.NODE_ENV || 'test',
  BASE_URL: '/',
  DEV: process.env.NODE_ENV !== 'production',
  PROD: process.env.NODE_ENV === 'production'
};

Installation

npm install --save-dev babel-plugin-transform-vite-meta-env

Usage

With a configuration file (Recommended)

{
  "plugins": ["babel-plugin-transform-vite-meta-env"]
}

Via CLI

babel --plugins babel-plugin-transform-vite-meta-env script.js

Via Node API

require('@babel/core').transformSync('code', {
  plugins: ['babel-plugin-transform-vite-meta-env']
})

Package Sidebar

Install

npm i @0kzh/babel-plugin-transform-vite-meta-env

Weekly Downloads

2

Version

0.0.0-semantically-released

License

MIT

Unpacked Size

16 kB

Total Files

8

Last publish

Collaborators

  • 0kzh