From 515351d1fa25554f34eb92945b11ab1e058ff239 Mon Sep 17 00:00:00 2001 From: Peter Burns Date: Fri, 21 Feb 2020 13:31:56 -0800 Subject: [PATCH 1/4] Fix compilation with TypeScript 3.8, which updated custom element types. --- package.json | 2 +- src/test/lit-element_styling_test.ts | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 67cdc48b..e55dd25d 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "tachometer": "^0.4.16", "tslint": "^5.20.1", "typedoc": "^0.14.2", - "typescript": "^3.4.1", + "typescript": "^3.8.2", "uglify-es": "^3.3.9", "wct-mocha": "^1.0.0", "web-component-tester": "^6.9.2" diff --git a/src/test/lit-element_styling_test.ts b/src/test/lit-element_styling_test.ts index 10fdb3eb..c7db8b72 100644 --- a/src/test/lit-element_styling_test.ts +++ b/src/test/lit-element_styling_test.ts @@ -649,6 +649,7 @@ suite('Static get styles', () => { test('can extend and augment `styles`', async () => { const base = generateElementName(); + const baseClass: typeof LitElement = customElements.get(base); customElements.define(base, class extends LitElement { static get styles() { return css`div { @@ -663,10 +664,10 @@ suite('Static get styles', () => { }); const sub = generateElementName(); - customElements.define(sub, class extends customElements.get(base) { + customElements.define(sub, class extends baseClass { static get styles() { return [ - super.styles, + super.styles!, css`span { display: block; border: 3px solid blue; @@ -682,10 +683,10 @@ suite('Static get styles', () => { }); const subsub = generateElementName(); - customElements.define(subsub, class extends customElements.get(sub) { + customElements.define(subsub, class extends baseClass { static get styles() { return [ - super.styles, + super.styles!, css`p { display: block; border: 4px solid blue; @@ -719,6 +720,7 @@ suite('Static get styles', () => { test('can extend and override `styles`', async () => { const base = generateElementName(); + const baseClass: typeof LitElement = customElements.get(base); customElements.define(base, class extends LitElement { static get styles() { return css`div { @@ -733,7 +735,7 @@ suite('Static get styles', () => { }); const sub = generateElementName(); - customElements.define(sub, class extends customElements.get(base) { + customElements.define(sub, class extends baseClass { static get styles() { return css`div { border: 3px solid blue; @@ -742,7 +744,7 @@ suite('Static get styles', () => { }); const subsub = generateElementName(); - customElements.define(subsub, class extends customElements.get(sub) { + customElements.define(subsub, class extends baseClass { static get styles() { return css`div { border: 4px solid blue; @@ -768,12 +770,13 @@ suite('Static get styles', () => { test('elements should inherit `styles` by default', async () => { const base = generateElementName(); + const baseClass: typeof LitElement = customElements.get(base); customElements.define(base, class extends LitElement { static styles = css`div {border: 4px solid black;}`; }); const sub = generateElementName(); - customElements.define(sub, class extends customElements.get(base) { + customElements.define(sub, class extends baseClass { render() { return htmlWithStyles`
`; } From 5c9e943a8b184cade992d2df456b61cb1c72db4c Mon Sep 17 00:00:00 2001 From: Peter Burns Date: Fri, 21 Feb 2020 14:57:09 -0800 Subject: [PATCH 2/4] Update package lock as well. --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0278e711..14ee155f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13696,9 +13696,9 @@ "dev": true }, "typescript": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz", - "integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.2.tgz", + "integrity": "sha512-EgOVgL/4xfVrCMbhYKUQTdF37SQn4Iw73H5BgCrF1Abdun7Kwy/QZsE/ssAy0y4LxBbvua3PIbFsbRczWWnDdQ==", "dev": true }, "typical": { From 5f84d7d0d73b39ee8379065964eca134dbeab4c0 Mon Sep 17 00:00:00 2001 From: Peter Burns Date: Fri, 21 Feb 2020 15:09:57 -0800 Subject: [PATCH 3/4] Make the code actually work lol. --- src/test/lit-element_styling_test.ts | 33 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/test/lit-element_styling_test.ts b/src/test/lit-element_styling_test.ts index c7db8b72..88a7a8ce 100644 --- a/src/test/lit-element_styling_test.ts +++ b/src/test/lit-element_styling_test.ts @@ -649,8 +649,7 @@ suite('Static get styles', () => { test('can extend and augment `styles`', async () => { const base = generateElementName(); - const baseClass: typeof LitElement = customElements.get(base); - customElements.define(base, class extends LitElement { + class BaseClass extends LitElement { static get styles() { return css`div { border: 2px solid blue; @@ -661,10 +660,10 @@ suite('Static get styles', () => { return htmlWithStyles`
Testing1
`; } - }); - + } + customElements.define(base, BaseClass); const sub = generateElementName(); - customElements.define(sub, class extends baseClass { + customElements.define(sub, class extends BaseClass { static get styles() { return [ super.styles!, @@ -672,7 +671,7 @@ suite('Static get styles', () => { display: block; border: 3px solid blue; }` - ]; + ] as any; } render() { @@ -683,7 +682,7 @@ suite('Static get styles', () => { }); const subsub = generateElementName(); - customElements.define(subsub, class extends baseClass { + customElements.define(subsub, class extends BaseClass { static get styles() { return [ super.styles!, @@ -691,7 +690,7 @@ suite('Static get styles', () => { display: block; border: 4px solid blue; }` - ]; + ] as any; } render() { @@ -720,8 +719,7 @@ suite('Static get styles', () => { test('can extend and override `styles`', async () => { const base = generateElementName(); - const baseClass: typeof LitElement = customElements.get(base); - customElements.define(base, class extends LitElement { + class BaseClass extends LitElement { static get styles() { return css`div { border: 2px solid blue; @@ -732,10 +730,11 @@ suite('Static get styles', () => { return htmlWithStyles`
Testing1
`; } - }); + } + customElements.define(base, BaseClass); const sub = generateElementName(); - customElements.define(sub, class extends baseClass { + customElements.define(sub, class extends BaseClass { static get styles() { return css`div { border: 3px solid blue; @@ -744,7 +743,7 @@ suite('Static get styles', () => { }); const subsub = generateElementName(); - customElements.define(subsub, class extends baseClass { + customElements.define(subsub, class extends BaseClass { static get styles() { return css`div { border: 4px solid blue; @@ -770,13 +769,13 @@ suite('Static get styles', () => { test('elements should inherit `styles` by default', async () => { const base = generateElementName(); - const baseClass: typeof LitElement = customElements.get(base); - customElements.define(base, class extends LitElement { + class BaseClass extends LitElement { static styles = css`div {border: 4px solid black;}`; - }); + } + customElements.define(base, BaseClass); const sub = generateElementName(); - customElements.define(sub, class extends baseClass { + customElements.define(sub, class extends BaseClass { render() { return htmlWithStyles`
`; } From 24dd9aafc77e127d338e5b8bf17133ac337269d3 Mon Sep 17 00:00:00 2001 From: Peter Burns Date: Fri, 21 Feb 2020 15:14:41 -0800 Subject: [PATCH 4/4] Lint clean. --- src/test/lit-element_styling_test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/lit-element_styling_test.ts b/src/test/lit-element_styling_test.ts index 88a7a8ce..686803a5 100644 --- a/src/test/lit-element_styling_test.ts +++ b/src/test/lit-element_styling_test.ts @@ -666,7 +666,7 @@ suite('Static get styles', () => { customElements.define(sub, class extends BaseClass { static get styles() { return [ - super.styles!, + super.styles, css`span { display: block; border: 3px solid blue; @@ -685,7 +685,7 @@ suite('Static get styles', () => { customElements.define(subsub, class extends BaseClass { static get styles() { return [ - super.styles!, + super.styles, css`p { display: block; border: 4px solid blue;