Skip to content

Meteor 1.5 and Polymer 2.0 #24

@faburem

Description

@faburem

First of all I would like to apologise for this rather unqualified bug report, but I'm really stuck and don't know if this is due to changes in Meteor 1.5 or Polymer 2.0 (or both).

Here are the steps to reproduce this:

  1. create a new project with Meteor 1.5
    meteor create --bare polymer-test
  2. remove static-html and add synthesis
    meteor remove static-html && meteor add mwc:synthesis
  3. create a client and imports folder
    mkdir client && mkdir imports
  4. add the polymer 2.0 dependencies to bower.json inside the imports folder
{
  "dependencies": {
    "polymer": "Polymer/polymer#^2.0.0-rc.3",
    "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0-rc.7"
  },
  "resolutions": {
    "polymer": "^2.0.0-rc.3"
  },
  "private": true
}
  1. run bower install inside the imports folder
    bower install
  2. create a simple polymer element in the imports folder, i.e.
<link rel="import" href="bower_components/polymer/polymer-element.html">
<dom-module id="my-view1">
  <template>
    <div>
      <h1>View One</h1>
      <p>Ut labores minimum atomorum pro. Laudem tibique ut has.</p>
    </div>
  </template>
  <script>
    class MyView1 extends Polymer.Element {
      static get is() { return 'my-view1'; }
    }
    window.customElements.define(MyView1.is, MyView1);
  </script>
</dom-module>
  1. create a index.html inside the client folder which utilises the element
  <body>
    <my-view1></my-view1>
  </body>
  1. create index.js inside the client folder to import polymer dependencies and the custom element
import '/imports/bower_components/webcomponentsjs/webcomponents-loader.js'
import '/imports/bower_components/polymer/polymer.html'
import '/imports/src/my-view1.html'
  1. run meteor and go to http://localhost:3000
    meteor

In the browser console I get the following errors:

Uncaught TypeError: Failed to construct 'HTMLElement': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
    at new DomModule (app.js?hash=8ff5241…:1191)
    at _synthesizer.render (synthesis-client.js:10)
    at eval (/imports/template.my-view1.js:16)
    at dynamic-import.js?hash=5d031ac…:135
    at fileEvaluate (modules-runtime.js?hash=8587d18…:343)
    at require (modules-runtime.js?hash=8587d18…:238)
    at eval (/imports/my-view1.html:9)
    at dynamic-import.js?hash=5d031ac…:135
    at fileEvaluate (modules-runtime.js?hash=8587d18…:343)
    at require (modules-runtime.js?hash=8587d18…:238)

Uncaught TypeError: Failed to construct 'HTMLElement': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
    at MyView1.PropertyAccessors (app.js?hash=8ff5241…:5718)
    at MyView1.TemplateStamp (app.js?hash=8ff5241…:9124)
    at MyView1.PropertyEffects (app.js?hash=8ff5241…:7330)
    at MyView1.PolymerElement (app.js?hash=8ff5241…:4799)
    at new MyView1 (/imports/my-view1.js:35)
    at eval (my-view1.js:8)
    at dynamic-import.js?hash=5d031ac…:135
    at fileEvaluate (modules-runtime.js?hash=8587d18…:343)
    at Module.require (modules-runtime.js?hash=8587d18…:238)
    at getNamespace (dynamic-import.js?hash=5d031ac…:175)

Any help is greatly appreciated - maybe I'm doing something wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions