Git Product home page Git Product logo

lebab-sublime's Introduction

Lebab for Sublime Text 3

A plugin to convert ES5 code to ES6 code.

Installation

Prerequisites

The plugin requires an npm module lebab installed in your machine locally.

  1. Install Node.js
  2. Install lebab
npm install -g lebab

Install plugin

Please use Package Control to install the plugin. This will ensure that the plugin will be updated when new versions are available. If you want to install from source so you can modify the source code, you probably know what you are doing so we won’t cover that here.

To install via Package Control, do the following:

  1. Within Sublime Text, bring up the Command Palette and type install. Among the commands you should see Package Control: Install Package. If that command is not highlighted, use the keyboard or mouse to select it. There will be a pause of a few seconds while Package Control fetches the list of available plugins.
  2. When the plugin list appears, type lebab. Among the entries you should see Lebab. If that entry is not highlighted, use the keyboard or mouse to select it.

Install manually (Optional)

Download this repository to your sublime's package:

Windows:

%APPDATA%\Sublime Text 3\Packages

OS X:

~/Library/Application Support/Sublime Text 3/Packages

Linux:

~/.config/sublime-text-3/packages

Commands

Command palette:

  • Lebab: convert ES5 to ES6

Options

Transforms:

This plugin only enables the safest transforms from Lebab, but you can enable all or any of them by changing the transforms option in your user settings.

NOTE: To see a full list of transforms run lebab -h in your terminal

Here is the active transforms by default:

{
  "transforms": [
    "arrow",
    "arg-spread",
    "obj-method",
    "obj-shorthand",
    "no-strict",
    "commonjs"
  ]
}

Contributing

If you find any bugs feel free to report them here.

Pull requests are also encouraged.

lebab-sublime's People

Contributors

aziz avatar inkless avatar nene avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

aziz nene

lebab-sublime's Issues

remove `*.sublime-keymap`

All of them are empty

[
  {
    "keys": [],
    "command": "lebab"
  }
]

and Sublime is complaining about it:

Unable to parse binding {command: lebab, keys: []}

Default list of transforms is a bit problematic

While I think it's good to enable just the safe transforms, two entries are problematic:

  • for-of only works with for loops that use let so it really has let transform as a pre-requisite, but the latter is currently not categorized as safe because of some bugs.
  • multi-var is just an opinionated refactoring and not about ES5->ES6 at all.

Lebab 2.0 to break compatibility

Just giving a small heads-up as I'm planning to release Lebab 2.0 which has changed the command line API.

The crucial change is that transforms are no more enabled by default. One needs to specify them explicitly using the new --transform option.

This means the simple configuration as implemented in #3 won't really suffice.

Also I'd advise against enabling all the transforms by default. Some of them are fairly safe to apply, while others are somewhat unsafe and should be applied with care, and yet others do syntax changes beyond ES6 (like the new ES7 exponent).

For details see: https://github.com/mohebifar/lebab/tree/lebab-2.0

messages folder content is totally unrelated to this plugin

you've copy and pasted some files and now the change log showed by package control is totally unrelated

lebab
-----

  JSCS-Formatter 0.0.3 changelog

  CHANGES/FIXES

  + fix python error

  JSCS-Formatter 0.0.2 changelog

  CHANGES/FIXES

  + remove default key bindings

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.