Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.0] Support Polymer 3.0 #60

Closed
43 of 48 tasks
t2ym opened this issue May 9, 2018 · 0 comments
Closed
43 of 48 tasks

[3.0] Support Polymer 3.0 #60

t2ym opened this issue May 9, 2018 · 0 comments

Comments

@t2ym
Copy link
Owner

t2ym commented May 9, 2018

[3.0] Support Polymer 3.0

Status

Tasks

    cd demo
    # populate empty locales/*.{de|es|fr|ja|zh-Hans}.json
    # existing JSON files are not touched
    ../node_modules/.bin/gulp locales --targets="de es fr ja zh-Hans"
    # merge en resources into localized ones
    ../node_modules/.bin/gulp
    # translate xliff/bundle.{de|es|fr|ja|zh-Hans}.xlf
    # merge XLIFF translations into localized JSON files
    ../node_modules/.bin/gulp
- [ ] TBD
  • Tests (Mixin, BaseElement, Thin, Legacy syntaxes)
browser raw preprocessed bundled coverage
Chrome 71 ✔︎ ✔︎ ✔︎ ✔︎
Firefox 64 ✔︎ ✔︎ ✔︎ ✔︎
Safari 12 ✔︎ ✔︎ ✔︎ ✔︎
Safari 9 ✔︎ ✔︎ ✔︎ ✔︎
Edge 17 ✔︎ ✔︎ ✔︎ ✔︎
IE 11 ✔︎ ✔︎ ✔︎ ✔︎
  • Documents
    • TBD
  • Code cleanup
    • Remove unreachable code as document.currentScript is always null in ES modules
    • Remove codes only for Polymer 2.x
    • Remove codes only for HTML Imports

Issues

  • Thin syntax must be reconsidered as the following patterns
    • Pattern 1) <template id> Define = class Is {}
    • Pattern 2) <template id> Define = class { is }
    • Pattern 3) Define = class Is { template }
    • Pattern 4) Define = class { is, template }
  • In Polymer 3.x, <template id="X"> is sought in the main document when both static get template() and <dom-module id="X"> are unavailable. Even if the template is in the main document, the base URI for the element must come from this.importMeta, not from document.baseURI, which can no longer serve as a base for the custom element.
  • Coverage is skipped for Sauce Labs due to the issue [SauceLabs][Edge/IE/Safari] Large coverage data in POST are blocked in SauceLabs web-component-tester-istanbul#6
    • Patch: Introduce a new "client-event-fragment" socket.io message to send large data with 64KB chunks in separate HTTP POST requests
      • t2ym/web-component-tester@5f265e7
        • The Sauce Labs support team reported the fix had finally been deployed.
          • The patches have been reverted as the fix had been verified.
  • Test timeouts
    • Some delay timers in tests are too short to load the suites in an acceptable timing for slow VMs on Sauce Labs
  • IE 11 and Safari 9 do not support new.target and Reflect
    • Fix: Eliminate new.target and Reflect
      • Invoke _renameTemplate() within _template setter call, at which timing has this and this.constructor (=new.target) available
  • Export namespace objects as well as global ones
    • Export Mixins object
    • Export BaseElements object
  • Export mixins and base element
    • Export Localizable mixin function
    • Export I18nElement base element class
  • Base URL for i18n-dom-bind locales is invalid
    • Ad-hoc Fix: Use location.href for Base URL
    • Fix: The value should be startUrl
  class I18nDomBind ...
  static get importMeta() {
    return { url: new URL(BehaviorsStore.I18nControllerBehavior.properties.startUrl.value, location.href).href };
  }
  • Handle the case if current script is undefined for "thin" syntax
  • i18n-dom-bind may have to be attached to DOM AFTER the load event of the page
    • Under Investigation

Notes

t2ym added a commit that referenced this issue Jan 5, 2019
…and demo elements to support Polymer 3.0
t2ym added a commit that referenced this issue Jan 5, 2019
t2ym added a commit that referenced this issue Jan 5, 2019
t2ym added a commit that referenced this issue Jan 5, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
…#61 Preprocess HTML templates in <template id> for "thin" syntax
t2ym added a commit that referenced this issue Jan 6, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
t2ym added a commit that referenced this issue Jan 6, 2019
@t2ym t2ym changed the title [Polymer 3.0] Support Polymer 3.0 [3.0] Support Polymer 3.0 Jan 7, 2019
t2ym added a commit that referenced this issue Jan 7, 2019
t2ym added a commit that referenced this issue Jan 7, 2019
t2ym added a commit that referenced this issue Jan 20, 2019
…ement with <template id> template in the main document
t2ym added a commit that referenced this issue Jan 20, 2019
t2ym added a commit that referenced this issue Jan 21, 2019
t2ym added a commit that referenced this issue Jan 21, 2019
@t2ym t2ym pinned this issue Jan 30, 2019
t2ym added a commit that referenced this issue Feb 1, 2019
t2ym added a commit that referenced this issue Feb 1, 2019
t2ym added a commit that referenced this issue Feb 6, 2019
t2ym added a commit that referenced this issue Feb 8, 2019
t2ym added a commit that referenced this issue Feb 8, 2019
@t2ym t2ym unpinned this issue Feb 19, 2019
@t2ym t2ym closed this as completed in f4c4726 Feb 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant