From 7d60d72efbb17d6f1b0caf1e573337df9a715845 Mon Sep 17 00:00:00 2001 From: thepassle Date: Wed, 15 May 2024 21:07:02 +0200 Subject: [PATCH 01/10] fix: sw path again --- .changeset/friendly-crabs-sneeze.md | 5 +++++ packages/mocks/browser.js | 3 ++- packages/mocks/package.json | 6 ++++++ packages/mocks/sw-path/build.js | 1 + packages/mocks/sw-path/dev.js | 1 + 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/friendly-crabs-sneeze.md create mode 100644 packages/mocks/sw-path/build.js create mode 100644 packages/mocks/sw-path/dev.js diff --git a/.changeset/friendly-crabs-sneeze.md b/.changeset/friendly-crabs-sneeze.md new file mode 100644 index 000000000..d375e6833 --- /dev/null +++ b/.changeset/friendly-crabs-sneeze.md @@ -0,0 +1,5 @@ +--- +'@web/mocks': patch +--- + +differentiate service worker url between dev and build diff --git a/packages/mocks/browser.js b/packages/mocks/browser.js index 64e2559ff..4aecd043c 100644 --- a/packages/mocks/browser.js +++ b/packages/mocks/browser.js @@ -1,4 +1,5 @@ import './polyfills.js'; +import { swPath } from '#sw-path'; import { setupWorker } from 'msw/browser'; import { _registerMockRoutes } from './registerMockRoutes.js'; @@ -7,7 +8,7 @@ const worker = setupWorker(); const workerPromise = worker .start({ serviceWorker: { - url: '/__msw_sw__.js', + url: swPath, }, quiet: true, // See https://github.com/mswjs/msw/discussions/1231#discussioncomment-2729999 if you'd like to warn if there's a unhandled request diff --git a/packages/mocks/package.json b/packages/mocks/package.json index 6686fdfdb..9e9772750 100644 --- a/packages/mocks/package.json +++ b/packages/mocks/package.json @@ -75,6 +75,12 @@ "@web/dev-server": "^0.4.0", "@web/dev-server-storybook": "^2.0.0" }, + "imports": { + "#sw-path": { + "development": "./sw-path/dev.js", + "default": "./sw-path/build.js" + } + }, "wireit": { "types": { "command": "tsc --build --pretty", diff --git a/packages/mocks/sw-path/build.js b/packages/mocks/sw-path/build.js new file mode 100644 index 000000000..09dc1e0a3 --- /dev/null +++ b/packages/mocks/sw-path/build.js @@ -0,0 +1 @@ +export const swPath = '__msw_sw__.js'; diff --git a/packages/mocks/sw-path/dev.js b/packages/mocks/sw-path/dev.js new file mode 100644 index 000000000..4a94bb8fd --- /dev/null +++ b/packages/mocks/sw-path/dev.js @@ -0,0 +1 @@ +export const swPath = '/__msw_sw__.js'; From 365d758c1e60c9c25947d3b7aa19373f87aab84c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 15 May 2024 19:22:37 +0000 Subject: [PATCH 02/10] Version Packages --- .changeset/friendly-crabs-sneeze.md | 5 ----- packages/mocks/CHANGELOG.md | 6 ++++++ packages/mocks/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/friendly-crabs-sneeze.md diff --git a/.changeset/friendly-crabs-sneeze.md b/.changeset/friendly-crabs-sneeze.md deleted file mode 100644 index d375e6833..000000000 --- a/.changeset/friendly-crabs-sneeze.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@web/mocks': patch ---- - -differentiate service worker url between dev and build diff --git a/packages/mocks/CHANGELOG.md b/packages/mocks/CHANGELOG.md index ecf8dd247..5cf7a4037 100644 --- a/packages/mocks/CHANGELOG.md +++ b/packages/mocks/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/mocks +## 1.2.1 + +### Patch Changes + +- 7d60d72e: differentiate service worker url between dev and build + ## 1.2.0 ### Minor Changes diff --git a/packages/mocks/package.json b/packages/mocks/package.json index 9e9772750..70c11f7d0 100644 --- a/packages/mocks/package.json +++ b/packages/mocks/package.json @@ -1,6 +1,6 @@ { "name": "@web/mocks", - "version": "1.2.0", + "version": "1.2.1", "publishConfig": { "access": "public" }, From 589bad6cd308317874a6833ea350477b37c55205 Mon Sep 17 00:00:00 2001 From: Mikhail Bashkirov Date: Thu, 16 May 2024 12:49:03 +0200 Subject: [PATCH 03/10] fix(storybook-framework-web-components): watch code changes and auto-reload by default --- .changeset/hot-dodos-push.md | 5 +++++ packages/storybook-framework-web-components/src/preset.ts | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 .changeset/hot-dodos-push.md diff --git a/.changeset/hot-dodos-push.md b/.changeset/hot-dodos-push.md new file mode 100644 index 000000000..3e82dc682 --- /dev/null +++ b/.changeset/hot-dodos-push.md @@ -0,0 +1,5 @@ +--- +'@web/storybook-framework-web-components': patch +--- + +watch code changes and auto-reload by default diff --git a/packages/storybook-framework-web-components/src/preset.ts b/packages/storybook-framework-web-components/src/preset.ts index c5b1c43ce..ea657f479 100644 --- a/packages/storybook-framework-web-components/src/preset.ts +++ b/packages/storybook-framework-web-components/src/preset.ts @@ -5,3 +5,10 @@ export const core: PresetProperty<'core', StorybookConfig> = { builder: '@web/storybook-builder', renderer: '@storybook/web-components', }; + +export const wdsFinal: StorybookConfig['wdsFinal'] = wdsConfig => { + return { + ...wdsConfig, + watch: true, + }; +}; From 8ea82ce3c38642dfce2a9ccb900c0f4ce0c18cd4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 16 May 2024 11:47:46 +0000 Subject: [PATCH 04/10] Version Packages --- .changeset/hot-dodos-push.md | 5 ----- packages/storybook-framework-web-components/CHANGELOG.md | 6 ++++++ packages/storybook-framework-web-components/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/hot-dodos-push.md diff --git a/.changeset/hot-dodos-push.md b/.changeset/hot-dodos-push.md deleted file mode 100644 index 3e82dc682..000000000 --- a/.changeset/hot-dodos-push.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@web/storybook-framework-web-components': patch ---- - -watch code changes and auto-reload by default diff --git a/packages/storybook-framework-web-components/CHANGELOG.md b/packages/storybook-framework-web-components/CHANGELOG.md index 1f11f71a5..2953f4269 100644 --- a/packages/storybook-framework-web-components/CHANGELOG.md +++ b/packages/storybook-framework-web-components/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/storybook-framework-web-components +## 0.1.2 + +### Patch Changes + +- 589bad6c: watch code changes and auto-reload by default + ## 0.1.1 ### Patch Changes diff --git a/packages/storybook-framework-web-components/package.json b/packages/storybook-framework-web-components/package.json index d112233ac..bd666103c 100644 --- a/packages/storybook-framework-web-components/package.json +++ b/packages/storybook-framework-web-components/package.json @@ -1,6 +1,6 @@ { "name": "@web/storybook-framework-web-components", - "version": "0.1.1", + "version": "0.1.2", "publishConfig": { "access": "public" }, From f977f5cc2d532a6dc0596fd30d2da298431868c6 Mon Sep 17 00:00:00 2001 From: Katsiaryna Utlik Date: Wed, 29 May 2024 16:55:55 +0200 Subject: [PATCH 05/10] feat(mocks): update mocks addon styles to support dark mode --- .changeset/plenty-llamas-cross.md | 5 ++++ package-lock.json | 4 ++-- .../mocks/storybook/addon/register-addon.js | 23 ++++++++++++------- 3 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 .changeset/plenty-llamas-cross.md diff --git a/.changeset/plenty-llamas-cross.md b/.changeset/plenty-llamas-cross.md new file mode 100644 index 000000000..1428a3d4f --- /dev/null +++ b/.changeset/plenty-llamas-cross.md @@ -0,0 +1,5 @@ +--- +'@web/mocks': patch +--- + +Update mocks addon styles to support dark mode diff --git a/package-lock.json b/package-lock.json index cfef4d4f8..84f995a19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40956,7 +40956,7 @@ }, "packages/mocks": { "name": "@web/mocks", - "version": "1.2.0", + "version": "1.2.1", "license": "MIT", "dependencies": { "@storybook/manager-api": "^7.0.0", @@ -41480,7 +41480,7 @@ }, "packages/storybook-framework-web-components": { "name": "@web/storybook-framework-web-components", - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "dependencies": { "@storybook/web-components": "^7.0.0", diff --git a/packages/mocks/storybook/addon/register-addon.js b/packages/mocks/storybook/addon/register-addon.js index 0b7aec9d9..5f50541dd 100644 --- a/packages/mocks/storybook/addon/register-addon.js +++ b/packages/mocks/storybook/addon/register-addon.js @@ -18,16 +18,22 @@ export function registerAddon(addons, React, createAddon) { static styles = css` table { width: 100%; + margin-bottom: 10px; border-collapse: collapse; } + tr { + border-bottom: 1px solid hsla(203, 50%, 30%, 0.2); + } + thead { - background-color: #f2f2f2; + background-color: hsla(203, 50%, 30%, 0.1); } tr th:first-child { width: 9ch; } + tr th:nth-child(2) { width: 9ch; } @@ -37,13 +43,14 @@ export function registerAddon(addons, React, createAddon) { text-align: left; } - tbody tr:nth-child(0) { - background-color: #e8e8e8; - } - tbody td { padding: 10px; - border-top: 1px solid #ddd; + } + + .message { + padding: 30px; + text-align: center; + font-weight: bold; } `; @@ -67,11 +74,11 @@ export function registerAddon(addons, React, createAddon) { render() { if (this.state === 'PENDING') { - return html`Loading...`; + return html`
Loading...
`; } if (!this.mocks.length) { - return html`No mocks configured.`; + return html`
No mocks configured.
`; } return html` From b3cdb5010970a84227f73b7e07891e8c9208a7e8 Mon Sep 17 00:00:00 2001 From: NioniosSpeed Date: Tue, 4 Jun 2024 11:51:56 +0200 Subject: [PATCH 06/10] Fix small typo in mocks addon --- .changeset/grumpy-jokes-smile.md | 5 +++++ packages/mocks/storybook/addon/register-addon.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/grumpy-jokes-smile.md diff --git a/.changeset/grumpy-jokes-smile.md b/.changeset/grumpy-jokes-smile.md new file mode 100644 index 000000000..66b08750b --- /dev/null +++ b/.changeset/grumpy-jokes-smile.md @@ -0,0 +1,5 @@ +--- +'@web/mocks': patch +--- + +Fix typo in mocks addon diff --git a/packages/mocks/storybook/addon/register-addon.js b/packages/mocks/storybook/addon/register-addon.js index 5f50541dd..437df87c7 100644 --- a/packages/mocks/storybook/addon/register-addon.js +++ b/packages/mocks/storybook/addon/register-addon.js @@ -87,7 +87,7 @@ export function registerAddon(addons, React, createAddon) { - + ${when( From edf775c48a7ccf27f38933eb7d24fb6a6381fce2 Mon Sep 17 00:00:00 2001 From: Jose Luis de Vega Andres Date: Fri, 7 Jun 2024 07:55:26 +0200 Subject: [PATCH 07/10] Update migration-to-storybook-7.md As Storybook 8 is out there, users need to use the right version to migrate. --- docs/docs/storybook-builder/migration-to-storybook-7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/storybook-builder/migration-to-storybook-7.md b/docs/docs/storybook-builder/migration-to-storybook-7.md index 6ef0a8106..86c344a0a 100644 --- a/docs/docs/storybook-builder/migration-to-storybook-7.md +++ b/docs/docs/storybook-builder/migration-to-storybook-7.md @@ -19,7 +19,7 @@ npm install @storybook/builder-vite@0.4 @storybook/web-components@6 --save-dev Then proceed with the `upgrade` script and follow it's interactive process: ```bash -npx storybook@latest upgrade +npx storybook@7 upgrade ``` Then [configure the builder and framework](./configuration.md#configuring-builder-and-framework) in the main Storybook configuration. From f1e4c1af9265c92c839a791fe948df8818add5e3 Mon Sep 17 00:00:00 2001 From: Jose Luis de Vega Andres Date: Fri, 7 Jun 2024 09:09:31 +0200 Subject: [PATCH 08/10] Update migration-to-storybook-7.md As we need to have all versions aligned, same happens here with the addons. Latest versions are 8.x --- docs/docs/storybook-builder/migration-to-storybook-7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/storybook-builder/migration-to-storybook-7.md b/docs/docs/storybook-builder/migration-to-storybook-7.md index 86c344a0a..4c76d9b2f 100644 --- a/docs/docs/storybook-builder/migration-to-storybook-7.md +++ b/docs/docs/storybook-builder/migration-to-storybook-7.md @@ -38,7 +38,7 @@ In the new setup you'll need to install and configure them explicitly. We recommend to install the following addons: ```bash -npm install @storybook/addon-essentials @storybook/addon-links --save-dev +npm install @storybook/addon-essentials@7 @storybook/addon-links@7 --save-dev ``` Then register them in the Storybook main configuration file: From 39ff6ffb1b42011c3f081036b267f553c1c441d5 Mon Sep 17 00:00:00 2001 From: Mikhail Bashkirov Date: Thu, 13 Jun 2024 17:09:55 +0200 Subject: [PATCH 09/10] fix: replace ip dependency due to security bug CVE-2024-29415 --- .changeset/lemon-suns-sneeze.md | 8 + package-lock.json | 245 ++++++++++++++++-- packages/dev-server/package.json | 2 +- .../dev-server/src/logger/logStartMessage.ts | 4 +- .../test-runner-browserstack/package.json | 2 +- .../src/browserstackLauncher.ts | 7 +- packages/test-runner-core/package.json | 2 +- .../src/cli/getManualDebugMenu.ts | 4 +- packages/test-runner-saucelabs/package.json | 2 +- .../src/SauceLabsLauncher.ts | 9 +- .../src/SauceLabsLauncherManager.ts | 4 +- 11 files changed, 254 insertions(+), 35 deletions(-) create mode 100644 .changeset/lemon-suns-sneeze.md diff --git a/.changeset/lemon-suns-sneeze.md b/.changeset/lemon-suns-sneeze.md new file mode 100644 index 000000000..d529e0fab --- /dev/null +++ b/.changeset/lemon-suns-sneeze.md @@ -0,0 +1,8 @@ +--- +'@web/test-runner-browserstack': patch +'@web/test-runner-saucelabs': patch +'@web/test-runner-core': patch +'@web/dev-server': patch +--- + +replace ip dependency due to security bug CVE-2024-29415 diff --git a/package-lock.json b/package-lock.json index 84f995a19..fdad42cc7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15617,6 +15617,88 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/default-gateway/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -21320,6 +21402,14 @@ "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "license": "MIT" }, + "node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "engines": { + "node": ">=8" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -21702,6 +21792,17 @@ "node": ">=8" } }, + "node_modules/is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -39676,7 +39777,7 @@ "command-line-usage": "^7.0.1", "debounce": "^1.2.0", "deepmerge": "^4.2.2", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanocolors": "^0.2.1", "open": "^8.0.2", "portfinder": "^1.0.32" @@ -40783,10 +40884,22 @@ "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==", "dev": true }, - "packages/dev-server/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" + "packages/dev-server/node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } }, "packages/dev-server/node_modules/js-yaml": { "version": "4.1.0", @@ -40818,6 +40931,20 @@ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, + "packages/dev-server/node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/dev-server/node_modules/puppeteer": { "version": "22.3.0", "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.3.0.tgz", @@ -41562,7 +41689,7 @@ "dependencies": { "@web/test-runner-webdriver": "^0.8.0", "browserstack-local": "^1.4.8", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanoid": "^3.1.25" }, "devDependencies": { @@ -41574,10 +41701,36 @@ "node": ">=18.0.0" } }, - "packages/test-runner-browserstack/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" + "packages/test-runner-browserstack/node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } + }, + "packages/test-runner-browserstack/node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "packages/test-runner-chrome": { "name": "@web/test-runner-chrome", @@ -41784,7 +41937,7 @@ "debounce": "^1.2.0", "dependency-graph": "^0.11.0", "globby": "^11.0.1", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.0.2", @@ -41820,10 +41973,22 @@ "node": ">=8" } }, - "packages/test-runner-core/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" + "packages/test-runner-core/node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } }, "packages/test-runner-core/node_modules/istanbul-lib-report": { "version": "3.0.1", @@ -41854,6 +42019,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/test-runner-core/node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/test-runner-core/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -42165,7 +42344,7 @@ "license": "MIT", "dependencies": { "@web/test-runner-webdriver": "^0.8.0", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanoid": "^3.1.25", "saucelabs": "^7.2.0", "webdriver": "^8.8.6", @@ -42181,10 +42360,36 @@ "node": ">=18.0.0" } }, - "packages/test-runner-saucelabs/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" + "packages/test-runner-saucelabs/node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } + }, + "packages/test-runner-saucelabs/node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "packages/test-runner-selenium": { "name": "@web/test-runner-selenium", diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 768c6611d..8b7426bcb 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -65,7 +65,7 @@ "command-line-usage": "^7.0.1", "debounce": "^1.2.0", "deepmerge": "^4.2.2", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanocolors": "^0.2.1", "open": "^8.0.2", "portfinder": "^1.0.32" diff --git a/packages/dev-server/src/logger/logStartMessage.ts b/packages/dev-server/src/logger/logStartMessage.ts index dd20a8b8f..298daa918 100644 --- a/packages/dev-server/src/logger/logStartMessage.ts +++ b/packages/dev-server/src/logger/logStartMessage.ts @@ -1,6 +1,6 @@ import { DevServerConfig } from '../config/DevServerConfig'; import { Logger } from '@web/dev-server-core'; -import ip from 'ip'; +import internalIp from 'internal-ip'; import { bold, cyan, white } from 'nanocolors'; const createAddress = (config: DevServerConfig, host: string, path: string) => @@ -8,7 +8,7 @@ const createAddress = (config: DevServerConfig, host: string, path: string) => function logNetworkAddress(config: DevServerConfig, logger: Logger, openPath: string) { try { - const address = ip.address(); + const address = internalIp.v4.sync(); if (typeof address === 'string') { logger.log(`${white('Network:')} ${cyan(createAddress(config, address, openPath))}`); } diff --git a/packages/test-runner-browserstack/package.json b/packages/test-runner-browserstack/package.json index c39fc9304..e0ed7378f 100644 --- a/packages/test-runner-browserstack/package.json +++ b/packages/test-runner-browserstack/package.json @@ -48,7 +48,7 @@ "dependencies": { "@web/test-runner-webdriver": "^0.8.0", "browserstack-local": "^1.4.8", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanoid": "^3.1.25" }, "devDependencies": { diff --git a/packages/test-runner-browserstack/src/browserstackLauncher.ts b/packages/test-runner-browserstack/src/browserstackLauncher.ts index d760e969b..bf86abff8 100644 --- a/packages/test-runner-browserstack/src/browserstackLauncher.ts +++ b/packages/test-runner-browserstack/src/browserstackLauncher.ts @@ -1,7 +1,7 @@ import { BrowserLauncher, TestRunnerCoreConfig } from '@web/test-runner-core'; import { WebdriverLauncher } from '@web/test-runner-webdriver'; import browserstack from 'browserstack-local'; -import ip from 'ip'; +import internalIp from 'internal-ip'; import { registerBrowserstackLocal, unregisterBrowserstackLocal, @@ -14,7 +14,10 @@ export interface BrowserstackLauncherArgs { } const REQUIRED_CAPABILITIES = ['name', 'browserstack.user', 'browserstack.key', 'project', 'build']; -const localIp = ip.address(); +const localIp = internalIp.v4.sync() as string; +if (!localIp) { + throw new Error('Can not determine the local IP.'); +} export class BrowserstackLauncher extends WebdriverLauncher { constructor( diff --git a/packages/test-runner-core/package.json b/packages/test-runner-core/package.json index bd81fec9e..81124127c 100644 --- a/packages/test-runner-core/package.json +++ b/packages/test-runner-core/package.json @@ -68,7 +68,7 @@ "debounce": "^1.2.0", "dependency-graph": "^0.11.0", "globby": "^11.0.1", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.0.2", diff --git a/packages/test-runner-core/src/cli/getManualDebugMenu.ts b/packages/test-runner-core/src/cli/getManualDebugMenu.ts index b9dda9b2a..8ba3530f6 100644 --- a/packages/test-runner-core/src/cli/getManualDebugMenu.ts +++ b/packages/test-runner-core/src/cli/getManualDebugMenu.ts @@ -1,11 +1,11 @@ import { cyan, gray } from 'nanocolors'; -import ip from 'ip'; +import internalIp from 'internal-ip'; import { TestRunnerCoreConfig } from '../config/TestRunnerCoreConfig'; export function getManualDebugMenu(config: TestRunnerCoreConfig): string[] { const localAddress = `${config.protocol}//${config.hostname}:${config.port}/`; - const networkAddress = `${config.protocol}//${ip.address()}:${config.port}/`; + const networkAddress = `${config.protocol}//${internalIp.v4.sync()}:${config.port}/`; return [ 'Debug manually in a browser not controlled by the test runner.', diff --git a/packages/test-runner-saucelabs/package.json b/packages/test-runner-saucelabs/package.json index 574770ea2..48ffecb22 100644 --- a/packages/test-runner-saucelabs/package.json +++ b/packages/test-runner-saucelabs/package.json @@ -47,7 +47,7 @@ ], "dependencies": { "@web/test-runner-webdriver": "^0.8.0", - "ip": "^2.0.1", + "internal-ip": "^6.2.0", "nanoid": "^3.1.25", "saucelabs": "^7.2.0", "webdriver": "^8.8.6", diff --git a/packages/test-runner-saucelabs/src/SauceLabsLauncher.ts b/packages/test-runner-saucelabs/src/SauceLabsLauncher.ts index 7704481fb..5e1603ec8 100644 --- a/packages/test-runner-saucelabs/src/SauceLabsLauncher.ts +++ b/packages/test-runner-saucelabs/src/SauceLabsLauncher.ts @@ -1,10 +1,13 @@ import { TestRunnerCoreConfig } from '@web/test-runner-core'; import { RemoteOptions } from 'webdriverio'; import { WebdriverLauncher } from '@web/test-runner-webdriver'; -import ip from 'ip'; +import internalIp from 'internal-ip'; import { SauceLabsLauncherManager } from './SauceLabsLauncherManager.js'; -const networkAddress = ip.address(); +const localIp = internalIp.v4.sync() as string; +if (!localIp) { + throw new Error('Can not determine the local IP.'); +} export class SauceLabsLauncher extends WebdriverLauncher { constructor( @@ -16,7 +19,7 @@ export class SauceLabsLauncher extends WebdriverLauncher { } startSession(sessionId: string, url: string) { - return super.startSession(sessionId, url.replace(/(localhost|127\.0\.0\.1)/, networkAddress)); + return super.startSession(sessionId, url.replace(/(localhost|127\.0\.0\.1)/, localIp)); } async startDebugSession() { diff --git a/packages/test-runner-saucelabs/src/SauceLabsLauncherManager.ts b/packages/test-runner-saucelabs/src/SauceLabsLauncherManager.ts index 115a666f2..7aa81803a 100644 --- a/packages/test-runner-saucelabs/src/SauceLabsLauncherManager.ts +++ b/packages/test-runner-saucelabs/src/SauceLabsLauncherManager.ts @@ -4,7 +4,7 @@ import SaucelabsAPI, { SauceConnectOptions, SauceConnectInstance, } from 'saucelabs'; -import ip from 'ip'; +import internalIp from 'internal-ip'; /** * Wraps a Promise with a timeout, rejecing the promise with the timeout. @@ -53,7 +53,7 @@ export class SauceLabsLauncherManager { this.connectionPromise = withTimeout( this.api.startSauceConnect({ ...this.connectOptions, - noSslBumpDomains: `127.0.0.1,localhost,${ip.address()}`, + noSslBumpDomains: `127.0.0.1,localhost,${internalIp.v4.sync()}`, }), '[Saucelabs] Timed out setting up Sauce Connect proxy after 5 minutes.', ); From 50adf1c6fa8538a016346303b525d44566f1354e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 26 Jun 2024 12:01:25 +0000 Subject: [PATCH 10/10] Version Packages --- .changeset/grumpy-jokes-smile.md | 5 ----- .changeset/lemon-suns-sneeze.md | 8 -------- .changeset/plenty-llamas-cross.md | 5 ----- integration/test-runner/package.json | 2 +- packages/dev-server/CHANGELOG.md | 6 ++++++ packages/dev-server/package.json | 2 +- packages/mocks/CHANGELOG.md | 7 +++++++ packages/mocks/package.json | 4 ++-- packages/test-runner-browserstack/CHANGELOG.md | 6 ++++++ packages/test-runner-browserstack/package.json | 2 +- packages/test-runner-core/CHANGELOG.md | 6 ++++++ packages/test-runner-core/package.json | 2 +- packages/test-runner-saucelabs/CHANGELOG.md | 6 ++++++ packages/test-runner-saucelabs/package.json | 2 +- 14 files changed, 38 insertions(+), 25 deletions(-) delete mode 100644 .changeset/grumpy-jokes-smile.md delete mode 100644 .changeset/lemon-suns-sneeze.md delete mode 100644 .changeset/plenty-llamas-cross.md diff --git a/.changeset/grumpy-jokes-smile.md b/.changeset/grumpy-jokes-smile.md deleted file mode 100644 index 66b08750b..000000000 --- a/.changeset/grumpy-jokes-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@web/mocks': patch ---- - -Fix typo in mocks addon diff --git a/.changeset/lemon-suns-sneeze.md b/.changeset/lemon-suns-sneeze.md deleted file mode 100644 index d529e0fab..000000000 --- a/.changeset/lemon-suns-sneeze.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@web/test-runner-browserstack': patch -'@web/test-runner-saucelabs': patch -'@web/test-runner-core': patch -'@web/dev-server': patch ---- - -replace ip dependency due to security bug CVE-2024-29415 diff --git a/.changeset/plenty-llamas-cross.md b/.changeset/plenty-llamas-cross.md deleted file mode 100644 index 1428a3d4f..000000000 --- a/.changeset/plenty-llamas-cross.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@web/mocks': patch ---- - -Update mocks addon styles to support dark mode diff --git a/integration/test-runner/package.json b/integration/test-runner/package.json index 1b1a2408f..96b4f4f49 100644 --- a/integration/test-runner/package.json +++ b/integration/test-runner/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@web/dev-server-legacy": "^2.1.0", - "@web/test-runner-core": "^0.13.1" + "@web/test-runner-core": "^0.13.3" }, "devDependencies": { "@esm-bundle/chai": "^4.1.5" diff --git a/packages/dev-server/CHANGELOG.md b/packages/dev-server/CHANGELOG.md index f4c0a8fd2..b44a30893 100644 --- a/packages/dev-server/CHANGELOG.md +++ b/packages/dev-server/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/dev-server +## 0.4.6 + +### Patch Changes + +- 39ff6ffb: replace ip dependency due to security bug CVE-2024-29415 + ## 0.4.5 ### Patch Changes diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 8b7426bcb..de940e078 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server", - "version": "0.4.5", + "version": "0.4.6", "publishConfig": { "access": "public" }, diff --git a/packages/mocks/CHANGELOG.md b/packages/mocks/CHANGELOG.md index 5cf7a4037..59531e5b4 100644 --- a/packages/mocks/CHANGELOG.md +++ b/packages/mocks/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/mocks +## 1.2.2 + +### Patch Changes + +- b3cdb501: Fix typo in mocks addon +- f977f5cc: Update mocks addon styles to support dark mode + ## 1.2.1 ### Patch Changes diff --git a/packages/mocks/package.json b/packages/mocks/package.json index 70c11f7d0..828ea99c7 100644 --- a/packages/mocks/package.json +++ b/packages/mocks/package.json @@ -1,6 +1,6 @@ { "name": "@web/mocks", - "version": "1.2.1", + "version": "1.2.2", "publishConfig": { "access": "public" }, @@ -72,7 +72,7 @@ "msw": "^2.0.11" }, "devDependencies": { - "@web/dev-server": "^0.4.0", + "@web/dev-server": "^0.4.6", "@web/dev-server-storybook": "^2.0.0" }, "imports": { diff --git a/packages/test-runner-browserstack/CHANGELOG.md b/packages/test-runner-browserstack/CHANGELOG.md index 57ba1dc52..fe1c13035 100644 --- a/packages/test-runner-browserstack/CHANGELOG.md +++ b/packages/test-runner-browserstack/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/test-runner-browserstack +## 0.7.2 + +### Patch Changes + +- 39ff6ffb: replace ip dependency due to security bug CVE-2024-29415 + ## 0.7.1 ### Patch Changes diff --git a/packages/test-runner-browserstack/package.json b/packages/test-runner-browserstack/package.json index e0ed7378f..e12b8a16e 100644 --- a/packages/test-runner-browserstack/package.json +++ b/packages/test-runner-browserstack/package.json @@ -1,6 +1,6 @@ { "name": "@web/test-runner-browserstack", - "version": "0.7.1", + "version": "0.7.2", "publishConfig": { "access": "public" }, diff --git a/packages/test-runner-core/CHANGELOG.md b/packages/test-runner-core/CHANGELOG.md index 5216cb62e..cfb87a086 100644 --- a/packages/test-runner-core/CHANGELOG.md +++ b/packages/test-runner-core/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/test-runner-core +## 0.13.3 + +### Patch Changes + +- 39ff6ffb: replace ip dependency due to security bug CVE-2024-29415 + ## 0.13.2 ### Patch Changes diff --git a/packages/test-runner-core/package.json b/packages/test-runner-core/package.json index 81124127c..abc28e31b 100644 --- a/packages/test-runner-core/package.json +++ b/packages/test-runner-core/package.json @@ -1,6 +1,6 @@ { "name": "@web/test-runner-core", - "version": "0.13.2", + "version": "0.13.3", "publishConfig": { "access": "public" }, diff --git a/packages/test-runner-saucelabs/CHANGELOG.md b/packages/test-runner-saucelabs/CHANGELOG.md index f1959d2f7..82f228558 100644 --- a/packages/test-runner-saucelabs/CHANGELOG.md +++ b/packages/test-runner-saucelabs/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/test-runner-saucelabs +## 0.11.2 + +### Patch Changes + +- 39ff6ffb: replace ip dependency due to security bug CVE-2024-29415 + ## 0.11.1 ### Patch Changes diff --git a/packages/test-runner-saucelabs/package.json b/packages/test-runner-saucelabs/package.json index 48ffecb22..a512b8d09 100644 --- a/packages/test-runner-saucelabs/package.json +++ b/packages/test-runner-saucelabs/package.json @@ -1,6 +1,6 @@ { "name": "@web/test-runner-saucelabs", - "version": "0.11.1", + "version": "0.11.2", "publishConfig": { "access": "public" },
OverriddeOverride Method Endpoint