0

I have a project that webpack happily builds with the webpack from below[1]. I want to interactively test the app so I try to use node-babel. Every time it complains about the syntax of my imports or exports.

 $ ./node_modules/.bin/babel-node server_tests.js 

/.../src/config/config_defaults.js:48
export default DefaultConfiguration;
^^^^^^

SyntaxError: Unexpected token export
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:533:28)
    at Module._compile (/.../node_modules/pirates/lib/index.js:83:24)

Here is my .babelrc:

{
"presets": [["@babel/preset-env",
{
    "targets": {
      "esmodules": true
    }
  }]]
}

Webpack Config

const path = require('path');

module.exports = {
    mode: 'production',
    target: 'node',
    entry: ['@babel/polyfill',
            path.resolve(__dirname, './server_tests.js'),
              ],
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'server_tests.bundle.js',
      },
      module: {
        rules: [
          {
            test: /\.m?js$/,
            exclude: /(node_modules|bower_components)/,
            use: {
              loader: 'babel-loader',
              options: {
                presets: ['@babel/preset-env']
              }
            }
          }
        ]
      },
  };

And in my package.json:

"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/node": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.5",
"mochawesome": "^3.1.1",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14"
 },
Harsh Khare
  • 507
  • 1
  • 3
  • 13
Paul Prescod
  • 443
  • 1
  • 4
  • 17

0 Answers0