Skip to content

Instantly share code, notes, and snippets.

@eugenehp
Forked from jodyheavener/Instructions.md
Created September 29, 2015 01:58
Show Gist options
  • Save eugenehp/87be1f59eaedc0777e89 to your computer and use it in GitHub Desktop.
Save eugenehp/87be1f59eaedc0777e89 to your computer and use it in GitHub Desktop.
Use Babel (ES6) with Sails JS

Inspired by this issue, with these instructions you should be able to get Babel transpiling your JS in Sails JS for the client side.

  1. Install Grunt Babel npm install --save grunt-babel
  2. Create a babel.js file under tasks/config and add something like the following:
module.exports = function(grunt) {

    grunt.config.set('babel', {
      dev: {
        files: [{
          expand: true,
          cwd: 'assets/js/',
          src: ['**/*.js', '!dependencies/**/*.js'],
          dest: '.tmp/public/js/',
          ext: '.js'
        }]
      }
    });

    grunt.loadNpmTasks('grunt-babel');
};

It's up to you, but I'm not touching the dependencies folder.

  1. Since Babel copies the JS over, update the copy:dev tasks's src to exclude js (copy.js under tasks/config). It should looks something like this:
src: ['**/*.!(coffee|less|js)'],
  1. Update both compileAssets.js and syncAssets.js under tasks/config to include the Babel dev task: 'babel:dev'

That should do it. Try running sails lift --verbose to see if Babel is running, and then try writing some fancy ES6! If I'm missing something please advise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment