diff --git a/packages/babel-standalone/examples/example.htm b/packages/babel-standalone/examples/example.htm index cdbda4cde166..6116a5805198 100644 --- a/packages/babel-standalone/examples/example.htm +++ b/packages/babel-standalone/examples/example.htm @@ -31,7 +31,7 @@ [ "stage-0", { - decoratorsBeforeExport: false, + pipelineProposal: "fsharp", }, ], ], diff --git a/packages/babel-standalone/src/preset-stage-0.ts b/packages/babel-standalone/src/preset-stage-0.ts index 452991bcca4d..6a1e83f1bb59 100644 --- a/packages/babel-standalone/src/preset-stage-0.ts +++ b/packages/babel-standalone/src/preset-stage-0.ts @@ -6,23 +6,35 @@ export default (_: any, opts: any = {}) => { loose = false, useBuiltIns = false, decoratorsLegacy = false, - decoratorsBeforeExport, pipelineProposal = "minimal", importAssertionsVersion = "september-2020", } = opts; + if (!process.env.BABEL_8_BREAKING) { + // eslint-disable-next-line no-var + var { decoratorsBeforeExport } = opts; + } + return { presets: [ [ presetStage1, - { - loose, - useBuiltIns, - decoratorsLegacy, - decoratorsBeforeExport, - pipelineProposal, - importAssertionsVersion, - }, + process.env.BABEL_8_BREAKING + ? { + loose, + useBuiltIns, + decoratorsLegacy, + pipelineProposal, + importAssertionsVersion, + } + : { + loose, + useBuiltIns, + decoratorsLegacy, + decoratorsBeforeExport, + pipelineProposal, + importAssertionsVersion, + }, ], ], plugins: [proposalFunctionBind], diff --git a/packages/babel-standalone/src/preset-stage-1.ts b/packages/babel-standalone/src/preset-stage-1.ts index 5448a3189c86..a1076c09d8cb 100644 --- a/packages/babel-standalone/src/preset-stage-1.ts +++ b/packages/babel-standalone/src/preset-stage-1.ts @@ -6,16 +6,22 @@ export default (_: any, opts: any = {}) => { loose = false, useBuiltIns = false, decoratorsLegacy = false, - decoratorsBeforeExport, pipelineProposal = "minimal", recordAndTupleSyntax: recordAndTupleSyntax = "hash", } = opts; + if (!process.env.BABEL_8_BREAKING) { + // eslint-disable-next-line no-var + var { decoratorsBeforeExport } = opts; + } + return { presets: [ [ presetStage2, - { loose, useBuiltIns, decoratorsLegacy, decoratorsBeforeExport }, + process.env.BABEL_8_BREAKING + ? { loose, useBuiltIns, decoratorsLegacy } + : { loose, useBuiltIns, decoratorsLegacy, decoratorsBeforeExport }, ], ], plugins: [ diff --git a/packages/babel-standalone/src/preset-stage-2.ts b/packages/babel-standalone/src/preset-stage-2.ts index 2c4610116e72..31f238b19375 100644 --- a/packages/babel-standalone/src/preset-stage-2.ts +++ b/packages/babel-standalone/src/preset-stage-2.ts @@ -2,12 +2,12 @@ import presetStage3 from "./preset-stage-3"; import * as babelPlugins from "./generated/plugins"; export default (_: any, opts: any = {}) => { - const { - loose = false, - useBuiltIns = false, - decoratorsLegacy = false, - decoratorsBeforeExport, - } = opts; + const { loose = false, useBuiltIns = false, decoratorsLegacy = false } = opts; + + if (!process.env.BABEL_8_BREAKING) { + // eslint-disable-next-line no-var + var { decoratorsBeforeExport } = opts; + } return { presets: [[presetStage3, { loose, useBuiltIns }]], @@ -15,7 +15,9 @@ export default (_: any, opts: any = {}) => { babelPlugins.proposalClassStaticBlock, [ babelPlugins.proposalDecorators, - { legacy: decoratorsLegacy, decoratorsBeforeExport }, + process.env.BABEL_8_BREAKING + ? { legacy: decoratorsLegacy } + : { legacy: decoratorsLegacy, decoratorsBeforeExport }, ], babelPlugins.proposalFunctionSent, babelPlugins.proposalPrivatePropertyInObject,