Getting reactify and browserify to work with ES6
grunt-browserify, jsx
Solution
I was missing a bracket after the transform option. This works:
module.exports = function(grunt) {
grunt.config.set('browserify', {
dev: {
src: 'assets/js/main.jsx',
dest: '.tmp/public/js/main.js',
options: {
debug: true,
extensions: ['.jsx'],
transform: [
[ 'reactify', {'es6': true} ]
]
}
}
});
grunt.loadNpmTasks('grunt-browserify');
};
Problem
I have a browserify task that is configured like so: ``` module.exports = function(grunt) { grunt.config.set('browserify', { dev: { src: 'assets/js/main.jsx', dest: '.tmp/public/js/main.js', options: { debug: true, extensions: ['.jsx'], transform: ['reactify'] } } }); grunt.loadNpmTasks('grunt-browserify'); }; ``` I tried configuring it to use es6 this way: ``` module.exports = function(grunt) { grunt.config.set('browserify', { dev: { src: 'assets/js/main.jsx', dest: '.tmp/public/js/main.js', options: { debug: true, extensions: ['.jsx'], transform: ['reactify', {'es6': true}] } } }); grunt.loadNpmTasks('grunt-browserify'); }; ``` This causes an error though: Error: path must be a string I can't understand from the docs how to do this given that I don't want to configure the transform in my package.json. Any help would be appreciated.