Greetings,
My question is related to configuration of babel/webpack to be able to use nodeJS modules - and unrelated to K6 as such. Thanks in advance for any advise.
Here is my webpack configuration:
var path = require('path'); var webpack = require('webpack'); module.exports = { mode: "production", entry: './sam-svt.js', output: { path: path.resolve(__dirname, '.'), libraryTarget: "commonjs", filename: 'app.bundle.js' }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', options: { plugins: ["node_modules/jsdoc-babel"] } } ] }, stats: { colors: true }, target: "node", externals: /k6(\/.*)?/, devtool: 'source-map' };
Here is my package.json file:
{ "name": "test-repo", "version": "1.0.0", "description": "test-repo", "main": "main.js", "devDependencies": { "@babel/core": "^7.4.4", "@babel/preset-env": "^7.4.4", "babel-loader": "^8.0.6", "core-js": "^3.0.1", "moment": "^2.24.0", "webpack": "^4.31.0", "webpack-cli": "^3.3.2" }, "scripts": { "webpack": "webpack", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ ], "author": "AAA", "dependencies": { "custom-library": "^3.1.13" } }
The log is a bit confusing to me, but I have tried to include elements of note below:
msg="SyntaxError: file:///sam/app.bundle.js: Unexpected token (420:29407)\n 418 | * Copyright(c) 2014-2016 Douglas Christopher Wilson\n 419 | * MIT Licensed\n> 420 | *..../e.exports=function(e,t){if(!e)throw new TypeError(\"req argument is required\")at <eval>:2:28542(114)"
Note: The error happens when K6 is run, and not during the build process.
I have tinkered around using some information from external sources and some trial-and-error on my own, and at the outset it seems like my configuration does not like certain syntax that are used for comments (i.e. “/*! */”).
I say this because when I try and remove offending characters at the line specified in the error and re-bundle, the next error in the logs seems to move on from where it was (to the next place with similar syntax).
For example, running built code seems to fail at:
//! moment-timezone.js
//! version : 0.5.33
//! Copyright (c) JS Foundation and other contributors
//! license : MIT
//! GitHub - moment/moment-timezone: Timezone support for moment.js
Changing the code in the node_module to
// moment-timezone.js
// version : 0.5.33
// Copyright (c) JS Foundation and other contributors
// license : MIT
// GitHub - moment/moment-timezone: Timezone support for moment.js
Moves the error during runtime to:
/*!
- FileStreamRotator
- Copyright(c) 2012-2017 Holiday Extras.
- Copyright(c) 2017 Roger C.
- MIT Licensed
Could someone offer some insight or share their experience with a similar issue ?
Thank you very much.