From f3ea704853124af739e9a54995ea0ce54fb8b1d9 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:39:50 -0700 Subject: [PATCH 1/9] use lib replacement for web types in web-components --- apps/vr-tests-web-components/package.json | 3 --- package.json | 3 ++- packages/web-components/package.json | 2 +- yarn.lock | 10 +++++----- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/apps/vr-tests-web-components/package.json b/apps/vr-tests-web-components/package.json index ce69dca20c6265..b6876cdfbc09d4 100644 --- a/apps/vr-tests-web-components/package.json +++ b/apps/vr-tests-web-components/package.json @@ -12,9 +12,6 @@ "type-check": "tsc -p . --baseUrl . --noEmit", "test-vr": "storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true" }, - "devDependencies": { - "@types/web": "^0.0.142" - }, "dependencies": { "react": "17.0.2", "react-dom": "17.0.2", diff --git a/package.json b/package.json index a7436bf9b9d5c3..f6253c4c557673 100644 --- a/package.json +++ b/package.json @@ -367,7 +367,8 @@ "typings" ], "nohoist": [ - "@fluentui/web-components/@storybook/html" + "@fluentui/web-components/@storybook/html", + "@fluentui/web-components/@typescript/lib-dom" ] }, "resolutions": { diff --git a/packages/web-components/package.json b/packages/web-components/package.json index 13f9c0c3ae3169..42dedbb7e2baab 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -246,7 +246,7 @@ "devDependencies": { "@microsoft/fast-element": "2.0.0-beta.26", "@tensile-perf/web-components": "~0.2.0", - "@types/web": "^0.0.142", + "@typescript/lib-dom": "npm:@types/web@^0.0.142", "@storybook/html": "6.5.15", "chromedriver": "^125.0.0" }, diff --git a/yarn.lock b/yarn.lock index 7fe9537ec17b5d..589bb1434aa902 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5731,11 +5731,6 @@ "@types/expect" "^1.20.4" "@types/node" "*" -"@types/web@^0.0.142": - version "0.0.142" - resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.142.tgz#62eff3c6b24e2429d084a5a9d4061021cfe7c648" - integrity sha512-QWDvMW+P3sdq8rhiw3dNyBR64O5adSY80gBjRd2xI3BADGsAFpAglblWucsGUjKVKyPm4EbYZkvFs7BRxPsBOg== - "@types/webpack-bundle-analyzer@4.7.0": version "4.7.0" resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#fe199e724ce3d38705f6f1ba4d62429b7c360541" @@ -5971,6 +5966,11 @@ "@typescript-eslint/types" "7.13.1" eslint-visitor-keys "^3.4.3" +"@typescript/lib-dom@npm:@types/web@^0.0.142": + version "0.0.142" + resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.142.tgz#62eff3c6b24e2429d084a5a9d4061021cfe7c648" + integrity sha512-QWDvMW+P3sdq8rhiw3dNyBR64O5adSY80gBjRd2xI3BADGsAFpAglblWucsGUjKVKyPm4EbYZkvFs7BRxPsBOg== + "@uifabric/set-version@^7.0.23": version "7.0.23" resolved "https://registry.yarnpkg.com/@uifabric/set-version/-/set-version-7.0.23.tgz#bfe10b6ba17a2518704cca856bdba8adbc11ffb0" From 28d03fb3b0c5a7eb15fe8d39bcaf5ce71743b55e Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:41:26 -0700 Subject: [PATCH 2/9] remove types configurations from web-components and vr-tests-web-components packages --- apps/vr-tests-web-components/tsconfig.json | 2 +- packages/web-components/.storybook/tsconfig.json | 3 +-- packages/web-components/tsconfig.json | 3 ++- packages/web-components/tsconfig.lib.json | 3 +-- packages/web-components/tsconfig.spec.json | 3 +-- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/vr-tests-web-components/tsconfig.json b/apps/vr-tests-web-components/tsconfig.json index e702905030d135..5d883fb3e5d65f 100644 --- a/apps/vr-tests-web-components/tsconfig.json +++ b/apps/vr-tests-web-components/tsconfig.json @@ -8,7 +8,7 @@ "resolveJsonModule": true, "allowJs": true, "jsx": "react", - "types": ["jest", "node", "web"] + "types": ["jest", "node"] }, "include": ["./src", "./.storybook/*"], "files": ["./typings/html-react-parser/index.d.ts"] diff --git a/packages/web-components/.storybook/tsconfig.json b/packages/web-components/.storybook/tsconfig.json index ea51024beda2f0..14a9d4ffb0ef66 100644 --- a/packages/web-components/.storybook/tsconfig.json +++ b/packages/web-components/.storybook/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "allowJs": true, "checkJs": true, - "noEmit": true, - "types": ["node", "web"] + "noEmit": true }, "include": ["*", "../public", "../src/**/*.stories.*"] } diff --git a/packages/web-components/tsconfig.json b/packages/web-components/tsconfig.json index 5ff1a0e61b3d19..c7a2d7553d1e3d 100644 --- a/packages/web-components/tsconfig.json +++ b/packages/web-components/tsconfig.json @@ -5,7 +5,8 @@ "module": "ESNext", "experimentalDecorators": true, "resolveJsonModule": true, - "allowJs": true + "allowJs": true, + "typeRoots": ["./node_modules/*", "../../../node_modules/@types", "../../../typings"] }, "files": [], "references": [ diff --git a/packages/web-components/tsconfig.lib.json b/packages/web-components/tsconfig.lib.json index bf93d258dee522..c4d92fe9792012 100644 --- a/packages/web-components/tsconfig.lib.json +++ b/packages/web-components/tsconfig.lib.json @@ -7,8 +7,7 @@ "declaration": true, "declarationDir": "dist/dts", "outDir": "dist/esm", - "importHelpers": true, - "types": ["web"] + "importHelpers": true }, "include": ["src"], "exclude": ["**/*.stories.*", "**/*.test.*", "**/*.spec.*"] diff --git a/packages/web-components/tsconfig.spec.json b/packages/web-components/tsconfig.spec.json index 07c449cea8c22c..ac3c15225b2f3a 100644 --- a/packages/web-components/tsconfig.spec.json +++ b/packages/web-components/tsconfig.spec.json @@ -2,8 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "module": "ESNext", - "outDir": "dist/esm", - "types": ["web", "node", "webpack-env"] + "outDir": "dist/esm" }, "include": ["src/**/*.test.*", "src/**/*.spec.*"] } From 3dca12589d8e47ab90c9328151934f7adabb6d10 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:42:16 -0700 Subject: [PATCH 3/9] update module resolution and targets for web-components packages --- packages/web-components/tsconfig.json | 4 ++-- packages/web-components/tsconfig.lib.json | 5 ++--- tsconfig.base.wc.json | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/web-components/tsconfig.json b/packages/web-components/tsconfig.json index c7a2d7553d1e3d..5737b5aa84da23 100644 --- a/packages/web-components/tsconfig.json +++ b/packages/web-components/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../tsconfig.base.wc.json", "compilerOptions": { - "target": "ES2019", - "module": "ESNext", + "target": "ES2022", + "module": "NodeNext", "experimentalDecorators": true, "resolveJsonModule": true, "allowJs": true, diff --git a/packages/web-components/tsconfig.lib.json b/packages/web-components/tsconfig.lib.json index c4d92fe9792012..61c92e04f0431f 100644 --- a/packages/web-components/tsconfig.lib.json +++ b/packages/web-components/tsconfig.lib.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "target": "ES2019", - "module": "ESNext", - "lib": ["ESNext", "DOM"], + "target": "ES2022", + "module": "NodeNext", "declaration": true, "declarationDir": "dist/dts", "outDir": "dist/esm", diff --git a/tsconfig.base.wc.json b/tsconfig.base.wc.json index 472f867dd913b0..494ceb2a8e9789 100644 --- a/tsconfig.base.wc.json +++ b/tsconfig.base.wc.json @@ -1,8 +1,8 @@ { "compilerOptions": { - "target": "ES2019", + "target": "ES2022", "module": "ESNext", - "moduleResolution": "Node16", + "moduleResolution": "NodeNext", "esModuleInterop": true, "sourceMap": true, "strict": true, From d7b45b9d3f72608b3c827f5389c4486e1b245d6c Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:08:02 -0700 Subject: [PATCH 4/9] fix interface error --- .../src/utils/behaviors/match-media-stylesheet-behavior.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/web-components/src/utils/behaviors/match-media-stylesheet-behavior.ts b/packages/web-components/src/utils/behaviors/match-media-stylesheet-behavior.ts index 42f46e7494a716..0733db05872a42 100644 --- a/packages/web-components/src/utils/behaviors/match-media-stylesheet-behavior.ts +++ b/packages/web-components/src/utils/behaviors/match-media-stylesheet-behavior.ts @@ -77,11 +77,6 @@ export abstract class MatchMediaBehavior implements HostBehavior { * @public */ export class MatchMediaStyleSheetBehavior extends MatchMediaBehavior { - /** - * The media query that the behavior operates on. - */ - public readonly query!: MediaQueryList; - /** * The styles object to be managed by the behavior. */ From dd87e5ec64b551035bb4e52ce528d1f7a59a20c9 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:08:31 -0700 Subject: [PATCH 5/9] generate api-report --- packages/web-components/docs/api-report.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index b306a326ec6020..599309d6871352 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -4,8 +4,6 @@ ```ts -/// - import { CaptureType } from '@microsoft/fast-element'; import { CSSDirective } from '@microsoft/fast-element'; import { Direction } from '@microsoft/fast-web-utilities'; @@ -2500,7 +2498,6 @@ export abstract class MatchMediaBehavior implements HostBehavior { export class MatchMediaStyleSheetBehavior extends MatchMediaBehavior { constructor(query: MediaQueryList, styles: ElementStyles); protected constructListener(controller: HostController): MediaQueryListListener; - readonly query: MediaQueryList; // @internal removedCallback(controller: HostController): void; readonly styles: ElementStyles; From 8cfd1915d32dc4de77242b8a0c307161e0ab6f25 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:10:35 -0700 Subject: [PATCH 6/9] add changefile --- ...eb-components-f75526c9-d290-411b-b5e5-e77dbf315e1f.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@fluentui-web-components-f75526c9-d290-411b-b5e5-e77dbf315e1f.json diff --git a/change/@fluentui-web-components-f75526c9-d290-411b-b5e5-e77dbf315e1f.json b/change/@fluentui-web-components-f75526c9-d290-411b-b5e5-e77dbf315e1f.json new file mode 100644 index 00000000000000..f5828ae11e072c --- /dev/null +++ b/change/@fluentui-web-components-f75526c9-d290-411b-b5e5-e77dbf315e1f.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Use lib replacement to avoid delivering web types overrides", + "packageName": "@fluentui/web-components", + "email": "863023+radium-v@users.noreply.github.com", + "dependentChangeType": "none" +} From 67203b4041d65a8bf718546afa65aa594e64845b Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 26 Jul 2024 14:06:45 -0700 Subject: [PATCH 7/9] restore ES2019 config --- packages/web-components/tsconfig.json | 4 ++-- packages/web-components/tsconfig.lib.json | 4 ++-- tsconfig.base.wc.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/web-components/tsconfig.json b/packages/web-components/tsconfig.json index 5737b5aa84da23..c7a2d7553d1e3d 100644 --- a/packages/web-components/tsconfig.json +++ b/packages/web-components/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../tsconfig.base.wc.json", "compilerOptions": { - "target": "ES2022", - "module": "NodeNext", + "target": "ES2019", + "module": "ESNext", "experimentalDecorators": true, "resolveJsonModule": true, "allowJs": true, diff --git a/packages/web-components/tsconfig.lib.json b/packages/web-components/tsconfig.lib.json index 61c92e04f0431f..ad401b84e86ffe 100644 --- a/packages/web-components/tsconfig.lib.json +++ b/packages/web-components/tsconfig.lib.json @@ -1,8 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "target": "ES2022", - "module": "NodeNext", + "target": "ES2019", + "module": "ESNext", "declaration": true, "declarationDir": "dist/dts", "outDir": "dist/esm", diff --git a/tsconfig.base.wc.json b/tsconfig.base.wc.json index 494ceb2a8e9789..ffd75a559061f4 100644 --- a/tsconfig.base.wc.json +++ b/tsconfig.base.wc.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2022", + "target": "ES2019", "module": "ESNext", "moduleResolution": "NodeNext", "esModuleInterop": true, From 8fee2564768963a6ec1ea6689a2d4e001ed4a166 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:25:42 -0700 Subject: [PATCH 8/9] restore moduleResolution --- tsconfig.base.wc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.base.wc.json b/tsconfig.base.wc.json index ffd75a559061f4..472f867dd913b0 100644 --- a/tsconfig.base.wc.json +++ b/tsconfig.base.wc.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ES2019", "module": "ESNext", - "moduleResolution": "NodeNext", + "moduleResolution": "Node16", "esModuleInterop": true, "sourceMap": true, "strict": true, From 1d6e88d686aa66d41818289dd579f7dcd7869ca5 Mon Sep 17 00:00:00 2001 From: John Kreitlow <863023+radium-v@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:20:52 -0700 Subject: [PATCH 9/9] reduce changes down to the minimum required scope --- packages/web-components/.storybook/tsconfig.json | 3 ++- packages/web-components/tsconfig.json | 3 +-- packages/web-components/tsconfig.lib.json | 1 + packages/web-components/tsconfig.spec.json | 3 ++- yarn.lock | 10 +++++----- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/web-components/.storybook/tsconfig.json b/packages/web-components/.storybook/tsconfig.json index 14a9d4ffb0ef66..78905f4f659714 100644 --- a/packages/web-components/.storybook/tsconfig.json +++ b/packages/web-components/.storybook/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "allowJs": true, "checkJs": true, - "noEmit": true + "noEmit": true, + "types": ["node"] }, "include": ["*", "../public", "../src/**/*.stories.*"] } diff --git a/packages/web-components/tsconfig.json b/packages/web-components/tsconfig.json index c7a2d7553d1e3d..5ff1a0e61b3d19 100644 --- a/packages/web-components/tsconfig.json +++ b/packages/web-components/tsconfig.json @@ -5,8 +5,7 @@ "module": "ESNext", "experimentalDecorators": true, "resolveJsonModule": true, - "allowJs": true, - "typeRoots": ["./node_modules/*", "../../../node_modules/@types", "../../../typings"] + "allowJs": true }, "files": [], "references": [ diff --git a/packages/web-components/tsconfig.lib.json b/packages/web-components/tsconfig.lib.json index ad401b84e86ffe..c4d92fe9792012 100644 --- a/packages/web-components/tsconfig.lib.json +++ b/packages/web-components/tsconfig.lib.json @@ -3,6 +3,7 @@ "compilerOptions": { "target": "ES2019", "module": "ESNext", + "lib": ["ESNext", "DOM"], "declaration": true, "declarationDir": "dist/dts", "outDir": "dist/esm", diff --git a/packages/web-components/tsconfig.spec.json b/packages/web-components/tsconfig.spec.json index ac3c15225b2f3a..66d3bb53ec93c6 100644 --- a/packages/web-components/tsconfig.spec.json +++ b/packages/web-components/tsconfig.spec.json @@ -2,7 +2,8 @@ "extends": "./tsconfig.json", "compilerOptions": { "module": "ESNext", - "outDir": "dist/esm" + "outDir": "dist/esm", + "types": ["node", "webpack-env"] }, "include": ["src/**/*.test.*", "src/**/*.spec.*"] } diff --git a/yarn.lock b/yarn.lock index 589bb1434aa902..241c310974a2b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5731,6 +5731,11 @@ "@types/expect" "^1.20.4" "@types/node" "*" +"@typescript/lib-dom@npm:@types/web@^0.0.142": + version "0.0.142" + resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.142.tgz#62eff3c6b24e2429d084a5a9d4061021cfe7c648" + integrity sha512-QWDvMW+P3sdq8rhiw3dNyBR64O5adSY80gBjRd2xI3BADGsAFpAglblWucsGUjKVKyPm4EbYZkvFs7BRxPsBOg== + "@types/webpack-bundle-analyzer@4.7.0": version "4.7.0" resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#fe199e724ce3d38705f6f1ba4d62429b7c360541" @@ -5966,11 +5971,6 @@ "@typescript-eslint/types" "7.13.1" eslint-visitor-keys "^3.4.3" -"@typescript/lib-dom@npm:@types/web@^0.0.142": - version "0.0.142" - resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.142.tgz#62eff3c6b24e2429d084a5a9d4061021cfe7c648" - integrity sha512-QWDvMW+P3sdq8rhiw3dNyBR64O5adSY80gBjRd2xI3BADGsAFpAglblWucsGUjKVKyPm4EbYZkvFs7BRxPsBOg== - "@uifabric/set-version@^7.0.23": version "7.0.23" resolved "https://registry.yarnpkg.com/@uifabric/set-version/-/set-version-7.0.23.tgz#bfe10b6ba17a2518704cca856bdba8adbc11ffb0"