Davie
Davie

Reputation: 171

making sure the polymer build process doesn't mess with a dependency of my element

I have built a custom element/web component to load and display Unity generated WebGL content. The web component imports the UnityLoader.js module - and works fine when used within an app served with 'polymer serve'.

However, when I build an app that uses my web component via the Polymer-CLI build process, no errors are given, but when I access a page using my component I always end up with an error from within UnityLoader.js:

"ReferenceError: BabelHelpers is not defined" 

If I create the element directly within my app (in other words it is no longer managed by bower) then I can exclude the minification and compilation steps within the build section of my application's polymer.json file and the built version of the app works fine.

  "builds": [
{
  "preset": "es5-bundled",
  "js": {
    "compile": {"exclude": ["content/**/*","UnityLoader.js"]},
    "minify": {"exclude": ["content/**/*","UnityLoader.js"]}
    },
    "html": {
      "minify": {"exclude": ["content/**/*"]}
    }
}
]

I've looked at my application's polymer.json file and I can see that the extraDependecies node contains some dependencies that other web components have placed there:

"extraDependencies": [
  "bower_components/webcomponentsjs/*.js",
  "!bower_components/webcomponentsjs/gulpfile.js",
  "manifest.json",
  "bower_components/plastic-image/intersection-observer.js",
  "bower_components/ua-parser-js/dist/ua-parser.min.js"
  ],

I have UnityLoader.js within the extraDependencies of the element's polymer.json but that isn't getting cascaded up to an application that imports/consumes the element - which I guess must be possible as plastic-image and ua-parser-js have done it (I've looked at their bower_components folders and nothing seems obvious - other than the latter is installed as a dependency of the former).

Any ideas on how I can make sure that the UnityLoader.js that my web component uses is not compiled or minified during the build process of an application that consumes it?

Upvotes: 3

Views: 470

Answers (1)

Alejandro Sanclemente
Alejandro Sanclemente

Reputation: 21

I was having a similar issue with firebase-auth.js when making an ES5 build using polymer-cli 1.7.0. There might be a problem when compiling/minifying specific files. I had to roll back to 1.6.0 using npm install -g [email protected] to fix the problem.

Upvotes: 2

Related Questions