videojs / videojs-errors

A video.js plugin that displays error messages to video viewers.
Other
87 stars 29 forks source link

v4.1.1 Breaks webpack uglifier #123

Closed daveferrara1 closed 6 years ago

daveferrara1 commented 6 years ago

Description

Briefly describe the issue. The newest release throws a webpack error. The result is a non uglified js file so its much larger in file size.

ERROR in p_videojs.js from UglifyJs Unexpected token: name (monitor) [p_videojs.js:49757,6]

Steps to reproduce

"./node_modules/.bin/webpack -p --config webpack.config.js"

the -p flag is important. Make sure not using any extra uglifer plugin. See package.json below.

"devDependencies": {
    "babel-core": "^6.24.1",
    "babel-loader": "^6.4.1",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-object-assign": "^6.22.0",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-plugin-transform-react-inline-elements": "^6.22.0",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2016": "^6.24.1",
    "babel-preset-react": "^6.22.0",
    "classnames": "^2.2.5",
    "css-loader": "^0.28.4",
    "extract-text-webpack-plugin": "^2.1.2",
    "node-sass": "^4.7.2",
    "promise-polyfill": "6.0.2",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.18.2",
    "url-loader": "^0.6.2",
    "webpack": "^3.10.0"
  },
  "dependencies": {
    "can-autoplay": "^3.0.0",
    "es6-promise": "^4.1.1",
    "global": "^4.3.2",
    "ie-array-find-polyfill": "^1.1.0",
    "is-empty": "^1.2.0",
    "query-string": "^5.1.0",
    "react": "^15.4.2",
    "react-dom": "^15.6.2",
    "video.js": "^6.9.0",
    "videojs-contrib-ads": "^6.2.0",
    "videojs-contrib-hls": "^5.14.1",
    "videojs-errors": "4.1.0",
    "videojs-flash": "^2.1.0",
    "videojs-hotkeys": "^0.2.21",
    "videojs-ima": "^1.3.0"
  }

Webpack config:

var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  context: __dirname + "/src",
  entry: "./index.js",
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader?presets[]=es2016,presets[]=react'
      },
      {
        test: /\.scss$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader', // The backup style loader
          use: 'css-loader?sourceMap!sass-loader?sourceMap'
        })
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'url-loader'
      }
    ],
  },
  output: {
    filename: "p_videojs.js",
    path: __dirname + "/dist",
  },
  plugins: [
    new ExtractTextPlugin('p_videojs.css')
  ],
}

babel.rc

{
  "compact": true,
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 2 versions", "safari >= 7"]
      }
    }]
  ],
  "plugins": [
    "transform-object-assign",
    "transform-class-properties",
    "transform-react-inline-elements",
    "transform-object-rest-spread"
  ]
}

Results

Expected

Would compile and uglifiy as normal.

Actual

Throws error.

v4.1.0 works fine.