Registry / devops / unplugin-keywords

unplugin-keywords

JSON →
library2.17.0jsnpmunverified

A build plugin for structural string literal minification and obfuscation, supporting Vite, Rollup, esbuild, and Webpack via unplugin. Version 2.17.0 is current, with active development. It transforms string literals based on keyword patterns, reducing bundle size and obfuscating code, differentiating itself from generic minifiers by targeting specific strings. Frequent releases with breaking changes in v2.

npm install unplugin-keywords
INSTALL
IMPORT
SIG · UNPLUGIN-KEYWORDS
U
unplugin-keywords
devopsjavascriptv2.17.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

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

default export
import keywords from 'unplugin-keywords'
const keywords = require('unplugin-keywords')
Package is ESM-only; CommonJS require will fail.
Vite plugin
keywords.vite({ ... })
keywords({ ... })
Use .vite() method for Vite, not direct call.
Rollup plugin
keywords.rollup({ ... })
import { rollup } from 'unplugin-keywords'
Access as method on default export, not named import.
Webpack plugin
keywords.webpack({ ... })
new keywords.WebpackPlugin()
Use .webpack() method, not constructor.

Shows how to configure the plugin in Vite with keyword replacements and file filters.

// vite.config.js import { defineConfig } from 'vite'; import keywords from 'unplugin-keywords'; export default defineConfig({ plugins: [ keywords.vite({ keywords: { 'myVariable': '__obfuscated_1__', 'http://example.com': '__url_1__' }, exclude: ['node_modules'], include: ['src/**/*.js'] }) ] });
Debug
Known issues
breakingVersion 2.0 changed plugin API from object with methods to default export with methods
fix
Replace `import { viteKeywords } from 'unplugin-keywords'` with `import keywords from 'unplugin-keywords'; keywords.vite()`
affects: >=2.0.0
gotchaKeyword replacements are only applied to string literals, not identifiers or comments
fix
Ensure target strings are quoted in source code.
affects: >=1.0.0
breakingDrop support for Node 14 in v2.17.0
fix
Upgrade to Node 16+.
affects: >=2.17.0
deprecatedThe 'regex' option in <2.17.0 is deprecated, use 'pattern' instead
fix
Rename 'regex' to 'pattern' in config.
affects: >=2.0.0, <2.17.0
Errors
Common errors & fixes
Error: Cannot find module 'unplugin-keywords'
Package not installed or import path incorrect
fix
Run `npm install unplugin-keywords` and ensure import is `import keywords from 'unplugin-keywords'`
TypeError: keywords.vite is not a function
Using default import from old version or wrong import pattern
fix
Update to v2+ and use `import keywords from 'unplugin-keywords'`
ReferenceError: require is not defined in ES module scope
Using require() in ESM context
fix
Replace `const keywords = require('unplugin-keywords')` with `import keywords from 'unplugin-keywords'`
Error: [unplugin-keywords] 'keywords' option must be an object
Passed non-object as keywords parameter
fix
Provide a plain object with string keys and values.
Upgrade
Version history
2.17.0latest on npm
Audit
Dependencies
svelteoptionalRequired peer dependency for Svelte integration
Agent activity
2 hits · last 30 days
node
2
Resources
unplugin-keywords — npm install unplugin-keywords · libregistry