diff --git a/gen-tsd.json b/gen-tsd.json index abb67b6cab..0b9e9713e7 100644 --- a/gen-tsd.json +++ b/gen-tsd.json @@ -8,6 +8,7 @@ "index.html" ], "excludeIdentifiers": [ + "ElementMixinPatchedBase", "templatizedBase" ], "removeReferences": [ diff --git a/lib/mixins/element-mixin.js b/lib/mixins/element-mixin.js index c41b0751ba..efb82a552c 100644 --- a/lib/mixins/element-mixin.js +++ b/lib/mixins/element-mixin.js @@ -104,8 +104,13 @@ export const ElementMixin = dedupingMixin(base => { // Optimizations for ShadyDOM's on-demand patching that pre-patches // elements to work with ShadyDOM. if (window.ShadyDOM && window.ShadyDOM.patchOnDemand) { - base = class extends base {}; - ShadyDOM.patchElementProto(base.prototype); + // `ElementMixinPatchedBase` is explicitly ignored in `gen-tsd.json` so + // that it doesn't attempt to export a type for it: the type generator + // attempts to declare it as extending `base` but no type is generated for + // `base`. + class ElementMixinPatchedBase extends base {} + ShadyDOM.patchElementProto(ElementMixinPatchedBase.prototype); + base = ElementMixinPatchedBase; } /** diff --git a/lib/utils/settings.js b/lib/utils/settings.js index 582327e392..21a1e9cf43 100644 --- a/lib/utils/settings.js +++ b/lib/utils/settings.js @@ -312,7 +312,7 @@ export let lazyDefine = */ export const setLazyDefine = function(useLazyDefine) { lazyDefine = useLazyDefine; -} +}; /** * Setting to disable `dom-change` and `rendered-item-count` events from diff --git a/package-lock.json b/package-lock.json index 566c38215c..7cb0472708 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1300,14 +1300,14 @@ } }, "@webcomponents/shadycss": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.9.1.tgz", - "integrity": "sha512-IaZOnWOKXHghqk/WfPNDRIgDBi3RsVPY2IFAw6tYiL9UBGvQRy5R6uC+Fk7qTZsReTJ0xh5MTT8yAcb3MUR4mQ==" + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.9.4.tgz", + "integrity": "sha512-tgNcVEaKssyeZPbUBjVQf4aryO5Fi7fxRvOxV982ZJuRVDcefmIblBh0SXAbcvAAlQ2zpNEP4SuQUnr8uApIpw==" }, "@webcomponents/webcomponentsjs": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.2.10.tgz", - "integrity": "sha512-5dzhUhP+h0qMiK0IWb7VNb0OGBoXO3AuI6Qi8t9PoKT50s5L1jv0xnwnLq+cFgPuTB8FLTNP8xIDmyoOsKBy9Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.4.1.tgz", + "integrity": "sha512-7jxBb+KoWncKb/JGFyTY40PjV4yRx2zd35ZLuvRP+6WndJDL7X32ZIZ7bN3sSQIl+NzJkCo7chfXJyzn+6WZaQ==", "dev": true }, "abbrev": { @@ -13333,8 +13333,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -13362,7 +13361,6 @@ "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -13377,8 +13375,7 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", @@ -13389,8 +13386,7 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -13507,8 +13503,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -13520,7 +13515,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -13535,7 +13529,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -13543,14 +13536,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -13569,7 +13560,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -13650,8 +13640,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -13663,7 +13652,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -13749,8 +13737,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -13786,7 +13773,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -13806,7 +13792,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -13850,14 +13835,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, diff --git a/package.json b/package.json index a30c075a50..699dd0b610 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@polymer/gen-typescript-declarations": "^1.5.1", "@polymer/iron-component-page": "^3.0.0-pre.12", "@polymer/test-fixture": "^3.0.0-pre.12", - "@webcomponents/webcomponentsjs": "^2.2.10", + "@webcomponents/webcomponentsjs": "^2.4.1", "babel-eslint": "^7.2.3", "babel-preset-minify": "^0.2.0", "del": "^3.0.0", @@ -65,7 +65,7 @@ "type-detect": "1.0.0" }, "dependencies": { - "@webcomponents/shadycss": "^1.9.1" + "@webcomponents/shadycss": "^1.9.4" }, "files": [ "externs", diff --git a/test/runner.html b/test/runner.html index 6136ca9710..7d0f1fbf03 100644 --- a/test/runner.html +++ b/test/runner.html @@ -112,32 +112,14 @@ return previous + (previous ? '&' : '') + next; } - // test shadowdom/custom elements polyfills together - // preferring both if possible. let flags = ['']; - if (window.customElements) { - // NOTE: disabled because Native ShadowDOM and Polyfilled CustomElements is not an expected use-case. - // flags.push('wc-ce=true'); - } // if native is available, make sure to test polyfill if (Element.prototype.attachShadow && Node.prototype.getRootNode) { flags.push('wc-shadydom=true'); } // always test ShadyDOM on-demand patching flags.push('wc-shadydom=true&wc-noPatch=on-demand'); - // Both sd and ce are supported, force both polyfills - if (flags.length === 2) { - // ce + sd becomes a single test iteration. - flags.push('wc-ce=true&wc-shadydom=true'); - } - // economize testing by testing css shimming - // only against 1 environment (native or polyfill). - if (window.CSS && CSS.supports && CSS.supports('box-shadow', '0 0 0 var(--foo)')) { - // Note: Disabled to speed up testing, may be reenabled at a later date when the test timing is less of an issue. - // let last = flags.length === 1 ? '' : flags[flags.length - 1]; - // flags.push(addUrlOption(last, 'wc-shimcssproperties=true')); - } suites = combinations(suites, flags); console.log('Testing suites:\n\t' + suites.join('\n\t')); diff --git a/test/unit/lazy-define.html b/test/unit/lazy-define.html index 168d280565..664241193b 100644 --- a/test/unit/lazy-define.html +++ b/test/unit/lazy-define.html @@ -66,7 +66,6 @@