
Security News
Insecure Agents Podcast: Certified Patches, Supply Chain Security, and AI Agents
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.
babel-plugin-inline-constants
Advanced tools
Babel plugin to inline constants in code.
This package is a Babel plugin to inline constants in code.
This package is useful because gzip likes repeated patterns (such as using magic numbers or strings multiple times), whereas looking things up in objects is easier to develop with. “Constants” here are specific files that are imported or required which contain primitives (numbers, strings, booleans, null).
An example is micromark, which is a complex state machine that uses a lot of
constants.
Developing with those constants exported from a file, rather than inline, is
easier.
Shipping those inlines helps with bundle size.
This package is ESM only. In Node.js (version 14.14+, 16.0+), install with npm:
npm install babel-plugin-inline-constants
In Deno with esm.sh:
import inlineConstants from 'https://esm.sh/babel-plugin-inline-constants@4'
In browsers with esm.sh:
<script type="module">
import inlineConstants from 'https://esm.sh/babel-plugin-inline-constants@4?bundle'
</script>
First, this plugin must be configured with a modules, so in a .babelrc or
so, do:
{
"plugins": [["babel-plugin-inline-constants", {"modules": "./math.js"}]]
}
…then, our module math.js:
export const pi = 3.14
…and example.js:
import {pi} from './math.js'
console.log('one pi:', pi)
console.log('two pi:', 2 * pi)
console.log('pi pi:', pi * pi)
…now running Babel:
babel example.js
Yields:
console.log('one pi:', 3.14);
console.log('two pi:', 2 * 3.14);
console.log('pi pi:', 3.14 * 3.14);
This package does not export identifiers.
The default export is inlineConstants
inlineConstantsBabel plugin to inline constants in code. See Babel’s documentation on how to use Babel plugins.
This plugin must be configured with a modules array.
Values in this array are the same as the x in import y from x, and resolve
from the current working directory that babel is running in.
When these modules are then used in code, their values are inlined.
So, if you are going to inline a file from node_modules such as
charcodes, you can use modules: ['charcodes'].
ESM (import) and CJS (require) are supported.
⚠️ Danger: modules to be inlined are evaluated with Node, so only use this plugin if you completely trust your code.
👉 Note: PRs welcome to make this rather experimental project better
optionsConfiguration (required).
options.modulesList of modules to inline (string|Array<string>).
options.ignoreModuleNotFoundIgnore the error when modules cannot be found (boolean, default: false).
This package is fully typed with TypeScript.
It exports the additional type Options.
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 18+. It also works in Deno and modern browsers.
This package is safe assuming you trust the code you use.
babel-plugin-undebug
— remove debugYes please! See How to Contribute to Open Source.
FAQs
Babel plugin to inline constants
The npm package babel-plugin-inline-constants receives a total of 334 weekly downloads. As such, babel-plugin-inline-constants popularity was classified as not popular.
We found that babel-plugin-inline-constants demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.

Security News
The planned feature introduces a review step before releases go live, following the Shai-Hulud attacks and a rocky migration off classic tokens that disrupted maintainer workflows.