OpenShare / openshare

Customizable API wrappers for social platforms
http://openshare.social
113 stars 17 forks source link

parse error when using uglify #2

Closed jakeburden closed 8 years ago

jakeburden commented 8 years ago

steps to reproduce

index.js:

require('open-share')

cli:

browserify index.js | uglifyjs -cm > bundle.js

error:

$ browserify index.js | uglifyjs -cm > bundle.js
Parse error at -:6,7
SyntaxError: Unexpected token: name (count)
Error
    at new JS_Parse_Error (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1545:18)
    at js_error (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1553:11)
    at croak (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2089:9)
    at token_error (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2097:9)
    at unexpected (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2103:9)
    at semicolon (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2123:56)
    at simple_statement (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2314:73)
    at eval (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2183:19)
    at eval (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2136:24)
    at block_ (eval at <anonymous> (/Users/Jake/.nvm/versions/node/v6.2.1/lib/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2429:20)

The weird thing is that we use uglify to create the precompiled version of OpenShare in the dist folder without any error.

jakeburden commented 8 years ago

fixed

If you are using a build step be sure to have babelify installed and be using babel-preset-es2015.

If you are not using a build step, you can ignore the example below and use the precompiled version of open-share like this: require('open-share/dist/open-share.js')

example build:

{
  "scripts": {
    "build": "browserify index.js -g uglifyify | uglifyjs -cm > bundle.js"
  },
  "browserify": {
    "transform": [
      [
        "babelify",
        {
          "presets": [
            "es2015"
          ]
        }
      ]
    ]
  },
  "dependencies": {
    "open-share": "^1.2.3",
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.9.0",
    "babelify": "^7.3.0",
    "browserify": "^13.0.1",
    "uglify-js": "^2.7.0",
    "uglifyify": "^3.0.2"
  }
}