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
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ module.exports = require('babel-preset-stage-1')
✗ import stage1 from 'babel-preset-stage-1'
Babel 6 presets are CommonJS modules. ESM import syntax is not supported directly. Use require() or configure in .babelrc.
babel-preset-stage-1 in .babelrc
✓ {"presets": ["stage-1"]}
✗ {"presets": ["babel-preset-stage-1"]}
Babel resolves short preset names (without 'babel-preset-') automatically. Using the full name works but is not conventional.
babel-preset-stage-1 via Node API
✓ require('babel-core').transform(code, { presets: [require('babel-preset-stage-1')] })
✗ require('babel-core').transform(code, { presets: ['stage-1'] })
When using Node API, you can pass either a string (resolved by Babel) or the preset object directly. Both work.
Shows how to install and configure Babel 6 stage-1 preset via .babelrc or Node API, enabling stage 1 proposals like decorators.
// Install: npm install --save-dev babel-preset-stage-1 babel-cli
// .babelrc
{
"presets": ["stage-1"]
}
// Or via Node API
const babel = require('babel-core');
const result = babel.transform('class A { @decorator method() {} }', {
presets: ['stage-1']
});
console.log(result.code);
Errors
Common errors & fixes
Error: Plugin/Preset files are not allowed to export objects, only functions.
Using a Babel 6 preset with Babel 7 or vice versa.
fixEnsure your Babel version matches the preset version. Use @babel/preset-env for Babel 7, or downgrade to Babel 6.
Cannot find module 'babel-preset-stage-1'
Preset not installed or not in node_modules.
fixRun 'npm install --save-dev babel-preset-stage-1' and verify it is listed in package.json.
ReferenceError: [BABEL] unknown: Decorators transform is necessary.
Trying to use decorators without the proper plugin configuration.
fixThe stage-1 preset should include decorators. If not, add 'babel-plugin-transform-decorators-legacy' explicitly.
Audit
Dependencies
babel-preset-stage-2requiredStage 1 preset extends stage 2 preset, which in turn extends stage 3.
babel-plugin-syntax-trailing-function-commasrequiredIncluded in stage 1 preset for trailing function comma support.
babel-plugin-transform-async-to-generatorrequiredTransforms async functions to generator functions.
babel-plugin-transform-exponentiation-operatorrequiredTransforms exponentiation operator **.
babel-plugin-transform-class-constructor-callrequiredTransforms class constructor call proposal (stage 1).
babel-plugin-transform-decoratorsrequiredTransforms decorators (legacy stage 1 proposal).
babel-plugin-transform-export-extensionsrequiredTransforms export extensions proposal.
babel-plugin-transform-object-rest-spreadrequiredTransforms object rest/spread properties.