Registry / web-framework / vite-plugin-conditional-import

vite-plugin-conditional-import

JSON →
library0.1.7jsnpmunverified

A Vite plugin for conditionally importing modules based on environment, using file naming conventions (e.g., foo.client.js, foo.server.js). Version 0.1.7 is the current release; development appears to be in early stages. It supports both static and dynamic imports, and is inspired by vite-plugin-iso-import. Unlike build-time environment variable substitution, this plugin allows tree-shaking and import splitting per environment. Requires manual setup of define and currentEnv. Limited ecosystem adoption; use with caution for production.

npm install vite-plugin-conditional-import
INSTALL
IMPORT
SIG · VITE-PLUGIN-CONDIT
V
vite-plugin-conditional-import
web-frameworkjavascriptv0.1.7
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–223 runs
build_error
glibc
node 18–223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default export
✓ import conditionalImportPlugin from 'vite-plugin-conditional-import'
✗ const conditionalImportPlugin = require('vite-plugin-conditional-import')
ESM-only; CJS require will fail. Plugin is default-exported.
conditionalImportPlugin (as type)
✓ import type conditionalImportPlugin from 'vite-plugin-conditional-import'
✗ import { conditionalImportPlugin } from 'vite-plugin-conditional-import'
Type imports are available for TypeScript users, but the symbol is the default export, not named.
PluginOptions
✓ import type { PluginOptions } from 'vite-plugin-conditional-import'
✗ import { PluginOptions } from 'vite-plugin-conditional-import'
Options type is named export; use type import for TypeScript.

Shows Vite config setup with environment variables and the plugin, enabling conditional imports based on client/server environment.

import { defineConfig } from 'vite'; import conditionalImportPlugin from 'vite-plugin-conditional-import'; const isClient = process.env.IS_CLIENT === 'true'; export default defineConfig({ define: { 'import.meta.env.IS_CLIENT': isClient ? 'true' : 'false', 'import.meta.env.IS_SERVER': isClient ? 'false' : 'true', }, plugins: [ conditionalImportPlugin({ currentEnv: isClient ? 'client' : 'server', envs: ['client', 'server'], }), ], });
Debug
Known issues
breakingPlugin may not work with SSR or Vite 5+ due to outdated internal API usage.
fix
Test thoroughly; consider alternatives like vite-plugin-conditional-compile.
affects: >=0.1.0
gotchaFile naming must match pattern `filename.env.js` exactly; environment names are case-sensitive.
fix
Ensure filename uses lowercase env strings (e.g., foo.client.js, not foo.Client.js).
affects: >=0.1.0
gotchaThe `define` block must declare the same environment variables used in source code; missing definitions cause runtime errors.
fix
Always pair plugin's currentEnv with corresponding define entries matching import.meta.env.* names.
affects: >=0.1.0
deprecatedNo recent updates; package may be considered unmaintained.
fix
Monitor repository for activity; consider forking or using alternative plugins.
affects: >=0.1.7
Errors
Common errors & fixes
Error: The environment 'client' is not defined in the plugin options.
Missing 'client' in `envs` array or typo in environment name.
fix
Ensure `envs` includes all environments used in filenames: envs: ['client', 'server'].
[vite] Internal server error: Cannot find module './foo.client.js'
File does not exist or path is incorrect relative to import statement.
fix
Verify the file exists at the correct path and the naming convention is strict (e.g., foo.client.js).
TypeError: conditionalImportPlugin is not a function
Using `require` instead of `import` (ESM-only package).
fix
Change to `import conditionalImportPlugin from 'vite-plugin-conditional-import'`.
Upgrade
Version history
0.1.7latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
9 hits · last 30 days
node
8
OpenAI (training)
1
Resources
vite-plugin-conditional-import — npm install vite-plugin-conditional-import · libregistry