Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-babel

😎A list of awesome Babel plugins, presets, etc.
https://github.com/babel/awesome-babel

Last synced: 3 days ago
JSON representation

  • Presets

    • Alternative Programming Paradigms

      • env - **The recommended preset** which includes transforms based on the specified environment (browsers, node, electron, etc).
      • React - Babel preset for all React plugins.
      • React Optimize - A Babel preset and plugins for optimizing React code.
  • Tooling

    • Alternative Programming Paradigms

  • Plugins

    • React

    • Internationalization

      • c-3po - Localization tool based on es6 template literals.
      • react-intl - Extracts string messages for translation from modules that use [React Intl](https://github.com/yahoo/react-intl).
      • react-intl - Extracts string messages for translation from modules that use [React Intl](https://github.com/yahoo/react-intl).
      • localize - Modify static jsx text and string attributes with function call. πŸ”§
    • Types

      • flow-runtime - Turns Flow annotations into runtime checks. Part of [Flow-Runtime](https://codemix.github.io/flow-runtime).
      • tcomb - Turns Flow annotations into typechecks with [tcomb](https://github.com/gcanti/tcomb).
      • jsdoc-to-assert - Turns JSDoc into runtime checks.
      • runtyper - Detects type-mismatch operations in runtime without annotations.
    • General Plugins

      • external-helpers - Moves helper functions to a single imported module.
      • babel-plugin-debug-tools
      • fast-async - Uses nodent to compile async/await to fast Promise output.
      • feature-flags - Helper for managing application feature flags.
      • transform-builtin-extend - Enable extending builtin types like `Error` and `Array`, which require special treatment and require static analysis to detect.
      • console-source - Prepends the file name and line numbers for all console commands
      • version - Babel plugin replace defined identifier `__VERSION__` to pkg.version.
    • Module Resolution

      • lodash - Cherry-picks Lodash modules so you don’t have to.
      • ramda - Cherry-picks Ramda modules so you don’t have to.
      • module-resolver - Custom module resolver.
      • root-import - Import modules from the root with `require('~/foo')` syntax.
      • webpack-alias - Allows you to use webpack aliases and most of webpack resolve features in Babel.
      • hash-resolve - Allows you to use `require('#/path')` instead of `require('../../path')`, the number of `../` needed is worked out by the plugin
      • rewrite-module-path - Rewrite module resolving path.
    • Testing

      • espower - Annotates call sites for descriptive messages when using [power-assert](https://github.com/power-assert-js/power-assert).
      • istanbul - Instruments your code with Istanbul coverage.
      • rewire - Adds the ability to rewire module dependencies. This enables to mock modules for testing purposes.
    • Optimization

    • Syntax Sugar

      • implicit-return - Transforms last statement in a function block to a return statement.
      • transform-iota - Golang-style `iota()`. πŸ”§
      • offside-js - Coffeescript-like indented block syntax hack. πŸ”§πŸš§
      • trace - Syntax shortcuts for console logging.
      • meaningful-logs - Adds file name and line number of caller to `console.log()` calls.
      • implicit-function - Implicit functions via `~` operator, transforming, for example, `~x` in `() => x`.
      • function-composition - Function piping and composition via `&` operator, for example, `toUpper & console.log`.
      • auto-await - Automatically `await` every `Promise` in `async` functions.
    • Alternative Programming Paradigms

      • macros - Hygienic, non-syntactic macros. πŸ”§
      • contracts - Design by Contract; Includes preconditions, postconditions, and invariant conditions.
      • transform-scala-lambda - Enable Scala-style lambdas (using `_`). πŸ”§
      • partial-application - Scala/Kotlin-esque partial application syntax for JavaScript (using `_`). πŸ”§
      • overload - Allow overloading default operators like `+` or `===` for specific classes. πŸ”§πŸš§
      • holes - Holes (like Scala and Elixir) to help point-free programming, using operators as functions. πŸ”§
  • Parsers