GithubHelp home page GithubHelp logo

babel-preset-extendscript's Introduction

babel-preset-extendscript

What

Babel preset for transpiling ES2015 and modern JS conventions to ES3. Intended for use with Extendscript.

Install

With NPM:

$ npm install --save-dev babel-preset-extendscript

With Yarn:

$ yarn add --dev babel-preset-extendscript

Usage

Via .babelrc (Recommended)

.babelrc

{
  "presets": ["extendscript"]
}

Via CLI

$ babel script.js --presets extendscript

Via Node API

require('babel-core').transform('code', {
  presets: ['extendscript'],
});

Options

  • loose - Enable "loose" transformations for any plugins in this preset that allow them (Disabled by default).
  • modules - Enable transformation of ES6 module syntax to another module type (Enabled by default to "commonjs").
    • Can be false to not transform modules, or one of ["amd", "umd", "systemjs", "commonjs"]
{
  presets: [
    ["extendscript", {"loose": true, "modules": "amd"}]
  ]
}
{
  presets: [
    ["extendscript", {"loose": true, "modules": false}]
  ]
}

Features

ES2015

  • babel-plugin-transform-es2015

Convenience

  • console.log
  • JSON.stringify
  • JSON.parse
  • setTimeout
  • setInterval
  • clearTimeout
  • clearInterval

Shims

  • Object.keys
  • Object.assign
  • Object.create
  • Array.isArray
  • Number.isFinite
  • Array.prototype.forEach
  • Array.prototype.find
  • Array.prototype.filter
  • Array.prototype.map
  • Array.prototype.reduce

Shams

  • Object.getPrototypeOf
  • Object.defineProperty
  • Object.defineProperties
  • Object.getOwnPropertyNames
  • Object.getOwnPropertyDescriptor
  • Object.seal
  • Object.freeze
  • Object.isSealed
  • Object.isFrozen
  • Object.isExtensible

Fixes

  • Wraps all conditional expressions in parentheses to prevent Expected: : error.

Known Issues

โ€ข CallExpression's that uses other transforms from this preset only insert them 1 level deep due to path.unshiftContainer adding a new CallExpression in Program:exit(). Need to figure out a way to do another Program:exit() after the first if new CallExpressions have been added so state[name].matches can be += 1'd.

babel-preset-extendscript's People

Contributors

fusepilot avatar tracker1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.