0.1.6 • Published 7 months ago

@stigma.io/dotenv-meta v0.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Install

npm install --save-dev vite-register

Features

Pretty much like Vite does, vite-register will statically replace variables.

  • Support import.meta.env.MODE
  • Support import.meta.env.DEV
  • Support import.meta.env.PROD
  • Support import.meta.env.SSR (defaults to false)
  • Support import.meta.env.BASE_URL
  • Support loading variables
    • from a .env file
    • from a .env.local file
    • from a .env.[mode] file
    • from a .env.[mode].local file
  • Support <UserConfig>.envPrefix (defaults to VITE_)
  • 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 world

vite-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.ts

Mocha

↪️ 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

When should I use vite-register over Vitest, or vice-versa ?

  • If you want a test framework, use Vitest.
  • If you need Jest features (snapshot, mocking, etc.), use Vitest.
  • If package size really matters, use vite-register.
  • If you want something actively maintained by Vite members, use Vitest.
  • If migrating tests becomes an issue, use vite-register.
  • If you really can't upgrade to Node >=v14, use vite-register.

Support Jest ?

Jest currently doesn't support hooks (facebook/jest#11295). If you need Jest unique features, you're better off switching to Vitest.

License

MIT

0.1.6

7 months ago

0.1.5

7 months ago

0.1.4

7 months ago

0.1.3

7 months ago

0.1.2

7 months ago

0.1.1

7 months ago

0.1.0

7 months ago