vite-register
v0.0.9
Published
Use Vite env variables inside Node scripts and tests runners via a require hook.
Maintainers
Readme
Install
npm install --save-dev vite-registerFeatures
Pretty much like Vite does, vite-register will statically replace variables.
- [x] Support
import.meta.env.MODE - [x] Support
import.meta.env.DEV - [x] Support
import.meta.env.PROD - [ ] Support
import.meta.env.SSR(defaults tofalse) - [x] Support
import.meta.env.BASE_URL - [x] Support loading variables
- [x] from a
.envfile - [x] from a
.env.localfile - [x] from a
.env.[mode]file - [x] from a
.env.[mode].localfile
- [x] from a
- [x] Support
<UserConfig>.envPrefix(defaults toVITE_) - [x] Support
<UserConfig>.envDir(defaults to project root)
Usage
This hook can be used with the Node CLI and some test runners supporting hooks via the -r (--require) option.
# Assuming envPrefix => 'VITE_'
echo 'VITE_FOO="hello world"' > .env
echo 'console.log(import.meta.env.VITE_FOO);' > index.js
node -r vite-register index.js
> hello worldvite-register can look into Vite configuration files (vite.config.[ext]) and retrieve base and mode.
In most cases, TypeScript/JSX/ESM support in configuration files and scripts can be provided by third-party hooks like tsm, esbuild-runner or esbuild-register, before vite-register hook.
node -r esbuild-runner/register -r vite-register index.tsMocha
↪️ mochajs/mocha
Can be combined with esbuild-runner for TypeScript/JSX/ESM support.
mocha -r esbuild-runner/register -r vite-register [pattern]uvu
↪️ lukeed/uvu
Can be combined with tsm or esbuild-runner for TypeScript/JSX/ESM support.
uvu -r tsm -r vite-register [pattern]FAQ
- Support Jest? Jest currently implements its own
require(no hooks support) based onvm, see facebook/jest#11295.
License
MIT
