Skip to content

A babel preset used by the Jitesoft organization.

License

Notifications You must be signed in to change notification settings

jitesoft/babel-preset-main

Repository files navigation

@jitesoft/babel-preset-main

npm (scoped) Known Vulnerabilities pipeline status npm Back project

Main preset for Jitesoft javascript projects which uses babel.

Includes the following presets and plugins:

@babel/preset-env

@babel/plugin-proposal-async-do-expressions
@babel/plugin-proposal-decorators
@babel/plugin-proposal-export-default-from
@babel/plugin-proposal-function-bind
@babel/plugin-proposal-partial-application
@babel/plugin-proposal-pipeline-operator
@babel/plugin-proposal-record-and-tuple
@babel/plugin-proposal-throw-expressions
@babel/plugin-transform-object-assign
@babel/plugin-transform-runtime
@babel/runtime-corejs3
@babel/plugin-proposal-regexp-modifiers

Requires corejs (v 3+) and @babel/core.

Options

This preset uses the same options as preset-env including the options that the different plugins have.
Other than those, the following options are possible to use:

  • exclude - Takes an array of plugins that should NOT be used (full plugin name including @babel) (defaults to []).
  • mode - Flags build mode (web, node or undefined for default).
    • node will set the targets value to node >= 14.
    • web will set the targets value to defaults.
    • undefined/default will set the targets value to defaults, node >= 12.
  • recordAndTuple
    • syntaxType (defaults to 'hash)
    • polyfill (defaults to false)
    • polyfillModuleName (defaults to peerDependency @bloomberg/record-tuple-polyfill)
  • decorators
    • version (defaults to 2023-01)
  • pipeline
    • poposal (defaults to hack)
    • topicToken (defaults to ^^)

Excluding

When excluding plugins and presets, the values checked are not the whole name with scope and all. So you can use shorter forms in your exclude array.
The following values are checked with a indexOf check:

preset-env                             => @babel/preset-env
decorators                             => @babel/plugin-proposal-decorators
transform-runtime                      => @babel/plugin-transform-runtime
partial-application                    => @babel/plugin-proposal-partial-application
throw-expressions                      => @babel/plugin-proposal-throw-expressions
async-do-expressions                   => @babel/plugin-proposal-async-do-expressions
function-bind                          => @babel/plugin-proposal-function-bind
pipeline-operator                      => @babel/plugin-proposal-pipeline-operator
record-and-tuple                       => @babel/plugin-proposal-record-and-tuple
export-default-from                    => @babel/plugin-proposal-export-default-from
object-assign                          => @babel/plugin-transform-object-assign
regexp-modifiers                       => @babel/plugin-proposal-regexp-modifiers