budo
                                
                                 budo copied to clipboard
                                
                                    budo copied to clipboard
                            
                            
                            
                        Specifying babelify options with node API
How can I pass babelify options using the node API?
With the command line API, I can do something like this:
-t [ babelify --presets [ env ] --extensions .ts ]
But with the Node API, this fails:
budo('src/app.ts:dist/app.js', {
    ...
    browserify: {
        transform: [babelify, {
            presets: ['@babel/preset-env'],
            extensions: '.ts',
        }],
    },
    ...
The error messages is TypeError: Path must be a string.. That error message comes from node_modules/resolve/lib/async.js.
What's the proper syntax for passing options to babelify? Maybe an example could be added to the README.
Probably the best is to require('babelify').configure({ ... })
You can also use subarg with a nested array, I believe. Not at my work station now to check, though.
budo('src/app.ts:dist/app.js', {
    ...
    browserify: {
        transform: [
            [ babelify, {
              presets: ['@babel/preset-env'],
              extensions: '.ts',
            } ]
        ],
    }
@mattdesl thanks, that seems to work! However, now I'm having issues with specifying a plugin.
This works:
budo src/app.ts:dist/app.js \
    -d public -d . -d src \
    --live -- \
        -d -p tsify -t [ babelify --presets [ @babel/env ] --extensions .ts ]
However, with this node based config...
budo('src/app.ts:dist/app.js', {
    dir: ['public', '.', 'src'],
    live: true,
    stream: process.stdout,
    port: 9966,
    debug: true,
    browserify: {
        plugin: tsify,
        transform: [babelify.configure({
            presets: ['@babel/preset-env'],
            extensions: '.ts',
        })],
    },
})
...I'm getting TypeScript errors:

It seems that the TypeScript files aren't being processed, even though the two configs look equivalent to me (but I must be overlooking something).
Any idea?