This repository was archived by the owner on May 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
This repository was archived by the owner on May 11, 2021. It is now read-only.
Webpack build error: Unexpected token: name (RxCookieJar) #12
Copy link
Copy link
Closed
Labels
Description
I'm experiencing an error during build after migrating from the deprecated rx-http-request package. I'm not using Browserify - Webpack is dumping warnings and errors similar to #11. I am pretty sure that the problem is in my Webpack config... somewhere. Any chance you could take a peek and see if anything stands out?
Build error:
✗ npm run build
> main-js@0.11.2 build /Users/emcniece/Code/nodejs/mainjs
> rm -rf dist && ./node_modules/webpack/bin/webpack.js --config config/webpack.build.js --progress --profile --bail
2429ms building modules
17ms sealing
3ms optimizing
0ms basic module optimization
2ms module optimization
0ms advanced module optimization
0ms basic chunk optimization
0ms chunk optimization
1ms advanced chunk optimization
2ms module and chunk tree optimization
0ms chunk modules optimization
1ms advanced chunk modules optimization
6ms module reviving
2ms module order optimization
5ms module id optimization
0ms chunk reviving
0ms chunk order optimization
14ms chunk id optimization
13ms hashing
1ms module assets processing
30ms chunk assets processing
1ms additional chunk assets processing
0ms recording
469ms additional asset processing
701ms chunk asset optimization
0ms asset optimization
38ms emitting
Hash: f92200e5c576702109c8
Version: webpack 3.4.1
Time: 3774ms
Asset Size Chunks Chunk Names
main.js 2.28 MB 0 [emitted] [big] main
main.js.map 2.84 MB 0 [emitted] main
[71] ./src/error/index.js 4.18 kB {0} [built]
[] -> factory:165ms building:42ms = 207ms
[81] ./node_modules/@akanass/rx-http-request/lib 160 bytes {0} [built]
[] -> factory:1ms building:0ms = 1ms
[131] ./src/connection.js 3.36 kB {0} [built]
[] -> factory:3ms building:96ms = 99ms
[168] ./node_modules/ajv/lib 160 bytes {0} [optional] [built]
[] -> factory:6ms building:0ms = 6ms
[179] ./src/message-translator.js 8.52 kB {0} [built]
[] -> factory:4ms building:379ms dependencies:83ms = 466ms
[190] ./src/index.js 632 bytes {0} [built]
factory:28ms building:468ms = 496ms
[191] ./src/device.js 17.5 kB {0} [built]
[] -> factory:2ms building:298ms dependencies:1ms = 301ms
[473] ./src/proto-resource.js 3.23 kB {0} [built]
[] -> factory:87ms building:38ms dependencies:41ms = 166ms
[474] ./node_modules/@akanass/rx-http-request 160 bytes {0} [built]
[] -> factory:2ms building:0ms = 2ms
[553] ./node_modules/ajv/lib/compile 160 bytes {0} [optional] [built]
[] -> factory:1ms building:0ms = 1ms
[593] ./src/error/command.errors.js 441 bytes {0} [built]
[] -> factory:62ms building:88ms = 150ms
[594] ./src/error/notification.errors.js 272 bytes {0} [built]
[] -> factory:63ms building:79ms = 142ms
[595] ./src/report-resource.js 2.74 kB {0} [built]
[] -> factory:87ms building:67ms dependencies:128ms = 282ms
[614] ./src/constants.js 191 bytes {0} [built]
[] -> factory:88ms building:76ms = 164ms
+ 601 hidden modules
WARNING in ./node_modules/@akanass/rx-http-request/index.js
3:24-31 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./node_modules/@akanass/rx-http-request/lib/index.js
3:24-31 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./node_modules/@akanass/rx-http-request/lib/RxHttpRequest.js
3:24-31 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./node_modules/@akanass/rx-http-request/lib/RxCookieJar.js
3:24-31 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./node_modules/ajv/lib/async.js
96:20-33 Critical dependency: the request of a dependency is an expression
WARNING in ./node_modules/ajv/lib/async.js
119:15-28 Critical dependency: the request of a dependency is an expression
WARNING in ./node_modules/ajv/lib/compile/index.js
13:21-34 Critical dependency: the request of a dependency is an expression
ERROR in main.js from UglifyJs
Unexpected token: name (RxCookieJar) [main.js:27499,10]
package.json: (stripped down)
{
"main": "dist/main.js",
"scripts": {
"test": "./node_modules/karma/bin/karma start",
"test-watch": "./node_modules/karma/bin/karma start --auto-watch --no-single-run",
"docs": "rm -rf docs && ./node_modules/jsdoc/jsdoc.js src -r -c ./config/jsdoc.conf.json -d docs",
"build": "rm -rf dist && ./node_modules/webpack/bin/webpack.js --config config/webpack.build.js --progress --profile --bail",
"lint": "./node_modules/eslint/bin/eslint.js 'src/**/*.js'"
},
"devDependencies": {
"babel": "6.23.0",
"babel-cli": "6.24.1",
"babel-loader": "7.1.1",
"babel-preset-es2015": "6.24.1",
"eslint": "4.1.1",
"eslint-loader": "1.8.0",
"husky": "0.14.1",
"jasmine": "^2.7.0",
"jasmine-core": "^2.7.0",
"jasmine-webpack-plugin": "0.1.1",
"jsdoc": "3.4.3",
"json-loader": "^0.5.7",
"karma": "1.7.0",
"karma-chrome-launcher": "2.2.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.2",
"phantomjs-polyfill-object-assign": "0.0.2",
"phantomjs-prebuilt": "^2.1.14",
"rewire": "^2.5.2",
"uglify-loader": "2.0.0",
"validate-commit-msg": "2.12.2",
"webpack": "^3.4.1",
"webpack-dev-server": "^2.6.1",
"webpack-merge": "4.1.0",
"webpack-node-externals": "1.6.0"
},
"dependencies": {
"@akanass/rx-http-request": "^2.5.0",
"camel-case": "^3.0.0",
"google-protobuf": "3.3.0",
"protobufjs": "6.8.0",
"rxjs": "^5.4.3"
}
}
webpack.build.js:
'use strict';
const webpack = require('webpack');
const webpackMerge = require('webpack-merge');
const commonConfig = require('./webpack.common.js');
const path = require('path');
const nodeExternals = require('webpack-node-externals');
module.exports = webpackMerge(commonConfig, {
devtool: 'source-map',
target: 'node',
module: {
rules: [{
enforce: 'pre',
test: /\.js$/,
loader: "eslint-loader",
exclude: /node_modules/
}]
},
output: {
path: path.resolve(__dirname, '../dist'),
filename: 'main.js',
library: 'mainjs',
libraryTarget: 'umd'
},
plugins: [
new webpack.optimize.UglifyJsPlugin()
]
});webpack.common.js:
'use strict';
const webpack = require('webpack');
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, '../src/index.js'),
module: {
rules: [{
test: /\.js$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}]
}
};Offending file: proto-resource.js
import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { RxHR } from '@akanass/rx-http-request';
import { PROTO_FETCH, PROTO_DECODE } from './error';
export class ProtoResource{
constructor(baseUrl){
this.connectionState = new BehaviorSubject(false);
this.output = new Observable
.forkJoin(
RxHR.get(`${baseUrl}/proto.json`),
RxHR.get(`${baseUrl}/command.json`),
RxHR.get(`${baseUrl}/notification.json`)
)
.map((responses)=>{
let output = [];
responses.forEach((res)=>{
if(res.response.statusCode !== 200){
throw {
code: PROTO_FETCH
}
} else {
try{
output.push(JSON.parse(res.body));
} catch(err){
throw {
code: PROTO_DECODE
}
}
}
});
return output;
});
}
}My current theory is that rx-http-request is being built or included in the wrong build order, possibly too late for Babel to convert it to es5. Any ideas?
Reactions are currently unavailable