diff --git a/packages/create-freesewing-pattern/index.js b/packages/create-freesewing-pattern/index.js index ccc1e3cc521..5b5cf83b32c 100755 --- a/packages/create-freesewing-pattern/index.js +++ b/packages/create-freesewing-pattern/index.js @@ -1,6 +1,8 @@ #!/usr/bin/env node 'use strict' +require('util.promisify/shim')() + const meow = require('meow') const getLibraryDefaults = require('./lib/get-library-defaults') diff --git a/packages/create-freesewing-pattern/webpack.config.js b/packages/create-freesewing-pattern/webpack.config.js index ed59403d883..8281e14e1b8 100644 --- a/packages/create-freesewing-pattern/webpack.config.js +++ b/packages/create-freesewing-pattern/webpack.config.js @@ -10,6 +10,7 @@ const nodeExternals = require('webpack-node-externals') const path = require('path') +const webpack = require('webpack') module.exports = { target: 'node', @@ -28,23 +29,36 @@ module.exports = { externals: [ nodeExternals() ], + plugins: [ + new webpack.BannerPlugin({ + banner: '#!/usr/bin/env node', + raw: true + }) + ], module: { loaders: [ { - loader: 'babel-loader', test: /.js$/, exclude: /node_modules/, - query: { - babelrc: false, - plugins: [ - 'transform-async-to-generator', - 'transform-runtime' - ], - presets: [ - 'env', - 'stage-0' - ] - } + loaders: [ + { + loader: 'shebang-loader' + }, + { + loader: 'babel-loader', + query: { + babelrc: false, + plugins: [ + 'transform-async-to-generator', + 'transform-runtime' + ], + presets: [ + 'env', + 'stage-0' + ] + } + } + ] } ] }