From 88a1260f3c9a647e045d220e91465c8432c4185f Mon Sep 17 00:00:00 2001 From: Tristan Timblin Date: Wed, 16 Nov 2022 10:04:57 -0500 Subject: [PATCH 1/5] docs(Address): add story J=SLAP-2442 TEST=manual serve storybook --- .storybook/preview-head.html | 3 +++ src/components/Address/Address.tsx | 6 ++++-- tests/components/Address.stories.tsx | 19 +++++++++++++++++++ tests/types.ts | 1 + 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 .storybook/preview-head.html create mode 100644 tests/components/Address.stories.tsx create mode 100644 tests/types.ts diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html new file mode 100644 index 0000000..e551040 --- /dev/null +++ b/.storybook/preview-head.html @@ -0,0 +1,3 @@ + diff --git a/src/components/Address/Address.tsx b/src/components/Address/Address.tsx index 014e257..382b087 100644 --- a/src/components/Address/Address.tsx +++ b/src/components/Address/Address.tsx @@ -1,13 +1,15 @@ -import { Address } from "@yext/types"; +import { Address as AddressType } from "@yext/types"; import { AddressLine } from "./AddressLine"; import { localeAddressFormat } from "./i18n"; /** * The shape of the data passed to {@link Address} + * + * @public */ export interface AddressProps { /** The address field from Knowledge Graph. */ - address: Address; + address: AddressType; } /** diff --git a/tests/components/Address.stories.tsx b/tests/components/Address.stories.tsx new file mode 100644 index 0000000..652dd94 --- /dev/null +++ b/tests/components/Address.stories.tsx @@ -0,0 +1,19 @@ +import { ComponentMeta } from "@storybook/react"; +import { Optional } from "../types"; +import { Address, AddressProps } from "../../src/components/Address/Address"; +import { US_ADDRESS, BR_ADDRESS } from "../__fixtures__/km/address"; + +const meta: ComponentMeta = { + title: "components/Address", + component: Address, +}; + +export default meta; + +export const Primary = (args: Optional) => { + return
; +}; + +export const Brazil = (args: Optional) => { + return
; +}; diff --git a/tests/types.ts b/tests/types.ts new file mode 100644 index 0000000..dcd5c0b --- /dev/null +++ b/tests/types.ts @@ -0,0 +1 @@ +export type Optional = { [Key in keyof Type]?: Type[Key] }; From d4cbd3160cb9c88e906a829a97cb2e11345fc685 Mon Sep 17 00:00:00 2001 From: Tristan Timblin Date: Wed, 16 Nov 2022 11:33:33 -0500 Subject: [PATCH 2/5] use Partial --- tests/components/Address.stories.tsx | 7 +++---- tests/types.ts | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) delete mode 100644 tests/types.ts diff --git a/tests/components/Address.stories.tsx b/tests/components/Address.stories.tsx index 652dd94..f8e1e6c 100644 --- a/tests/components/Address.stories.tsx +++ b/tests/components/Address.stories.tsx @@ -1,19 +1,18 @@ import { ComponentMeta } from "@storybook/react"; -import { Optional } from "../types"; import { Address, AddressProps } from "../../src/components/Address/Address"; import { US_ADDRESS, BR_ADDRESS } from "../__fixtures__/km/address"; const meta: ComponentMeta = { - title: "components/Address", + title: "Address", component: Address, }; export default meta; -export const Primary = (args: Optional) => { +export const Primary = (args: Partial) => { return
; }; -export const Brazil = (args: Optional) => { +export const Brazil = (args: Partial) => { return
; }; diff --git a/tests/types.ts b/tests/types.ts deleted file mode 100644 index dcd5c0b..0000000 --- a/tests/types.ts +++ /dev/null @@ -1 +0,0 @@ -export type Optional = { [Key in keyof Type]?: Type[Key] }; From 2f724e06e705809b783259920e3d36910c0fd06e Mon Sep 17 00:00:00 2001 From: Tristan Timblin Date: Wed, 16 Nov 2022 11:49:14 -0500 Subject: [PATCH 3/5] revert story style --- .github/workflows/percy_snapshots.yml | 3 ++- tests/components/Address.stories.tsx | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/percy_snapshots.yml b/.github/workflows/percy_snapshots.yml index 3467bfc..1e94fd3 100644 --- a/.github/workflows/percy_snapshots.yml +++ b/.github/workflows/percy_snapshots.yml @@ -9,6 +9,7 @@ jobs: call_percy_snapshots: uses: yext/slapshot-reusable-workflows/.github/workflows/percy_snapshots.yml@v1 with: - snapshots_script_path: + build_script: npm run build-storybook + percy_script: npx percy storybook ./storybook-static secrets: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} diff --git a/tests/components/Address.stories.tsx b/tests/components/Address.stories.tsx index f8e1e6c..6f8cc02 100644 --- a/tests/components/Address.stories.tsx +++ b/tests/components/Address.stories.tsx @@ -1,4 +1,4 @@ -import { ComponentMeta } from "@storybook/react"; +import { ComponentMeta, Story } from "@storybook/react"; import { Address, AddressProps } from "../../src/components/Address/Address"; import { US_ADDRESS, BR_ADDRESS } from "../__fixtures__/km/address"; @@ -9,10 +9,18 @@ const meta: ComponentMeta = { export default meta; -export const Primary = (args: Partial) => { - return
; +export const Primary: Story = (args) => { + return
; }; -export const Brazil = (args: Partial) => { - return
; +Primary.args = { + address: US_ADDRESS, +}; + +export const Brazil: Story = (args) => { + return
; +}; + +Brazil.args = { + address: BR_ADDRESS, }; From 4d469056d05ca5e98ed1a4ede6eb08b4393a8e4e Mon Sep 17 00:00:00 2001 From: Tristan Timblin Date: Wed, 16 Nov 2022 11:56:38 -0500 Subject: [PATCH 4/5] add percy --- package-lock.json | 659 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 + 2 files changed, 661 insertions(+) diff --git a/package-lock.json b/package-lock.json index 8cc3fba..0220ef3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "devDependencies": { "@babel/preset-env": "^7.14.7", "@babel/preset-typescript": "^7.14.5", + "@percy/cli": "^1.14.0", + "@percy/storybook": "^4.3.4", "@storybook/addon-a11y": "^6.5.13", "@storybook/addon-actions": "^6.5.13", "@storybook/addon-coverage": "^0.0.2", @@ -4367,6 +4369,261 @@ "node": ">=10" } }, + "node_modules/@percy/cli": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.14.0.tgz", + "integrity": "sha512-F/dxBRXr6WWJd5BkRjnUkyUuQgoIyGir3wUqWQEZRjkIdLlo91PC6cyQXquCcQ4G97tMkWP4rfWvpE5EvQRMrg==", + "dev": true, + "dependencies": { + "@percy/cli-app": "1.14.0", + "@percy/cli-build": "1.14.0", + "@percy/cli-command": "1.14.0", + "@percy/cli-config": "1.14.0", + "@percy/cli-exec": "1.14.0", + "@percy/cli-snapshot": "1.14.0", + "@percy/cli-upload": "1.14.0", + "@percy/client": "1.14.0", + "@percy/logger": "1.14.0" + }, + "bin": { + "percy": "bin/run.cjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-app": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.14.0.tgz", + "integrity": "sha512-EhvQZ6QeZzTj2MRCc1IibOzha5FaCwkAzp1PJUKEmu7PWpFtOeK2G0cOst6l35tJ0fHnhcpuf1SP4/3D32ucQw==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0", + "@percy/cli-exec": "1.14.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-build": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.14.0.tgz", + "integrity": "sha512-eUi6Erv3vWP7FaWbbabp2gjwDVrB/bAD3OcHGGyX22hprrMN3teWtuS7c7xOeQ7vjBFMawpoDz9DF8gWUnBRNA==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-command": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.14.0.tgz", + "integrity": "sha512-ydX2eIxG1lozvRx3vgIfF5eeTYRlCUx6imcEd3uNts0S/QtaX48BAz0oe8WEXKM+EmSXYx16yLaHCetc5bHkbw==", + "dev": true, + "dependencies": { + "@percy/config": "1.14.0", + "@percy/core": "1.14.0", + "@percy/logger": "1.14.0" + }, + "bin": { + "percy-cli-readme": "bin/readme.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-config": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.14.0.tgz", + "integrity": "sha512-k/Jd/4SV5u8B1k9UFJ5M4aWBMA//YiHmOVdrxNroMnj1EVstjdcD/JywW2/uUMIksrC+cqTKicnWMCGRJW3yig==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-exec": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.14.0.tgz", + "integrity": "sha512-EK02ry9aGSKrNBnDF6pb9QSRxi2Jpdr1HM7rRGLHPnAnQD4bp9RvKwjVDxguPDARYCg2IEKV9XxtH5seAfNHSw==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0", + "cross-spawn": "^7.0.3", + "which": "^2.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-snapshot": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.14.0.tgz", + "integrity": "sha512-JSzCmLCAioc722GSUYJEsTRQ/Zx5/igPGj9ABh2UdLnVn+aNX3QGT1ohcYZaUvurU2D2FHXzX2gOKfMHCJUlSg==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0", + "yaml": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/cli-snapshot/node_modules/yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@percy/cli-upload": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.14.0.tgz", + "integrity": "sha512-8T+ntRmbSfu3T8QMq7ufO6GdbyFbT/qGbe2B8ZPqWNQ1PRgVZxVaA0T7iPZv4+PB36tq08hMNRWljoH72VhiFQ==", + "dev": true, + "dependencies": { + "@percy/cli-command": "1.14.0", + "fast-glob": "^3.2.11", + "image-size": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/client": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.14.0.tgz", + "integrity": "sha512-Fs3WNkKM0qvPIGJPe1+YIUDuIpEcILBI/KIPuN/nuKziz077nV0qCMb/thSE2qw9ER1GQ9/N7Wx9ZR2mWrWp8w==", + "dev": true, + "dependencies": { + "@percy/env": "1.14.0", + "@percy/logger": "1.14.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/config": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.14.0.tgz", + "integrity": "sha512-N2yzDU93LYseq6bBjK4/Zf9ANM0TezBaNNalolhOepQnYceff3TkvRtC9Bq8Hrxt+/fTWxSG9CXvr/erwvagNQ==", + "dev": true, + "dependencies": { + "@percy/logger": "1.14.0", + "ajv": "^8.6.2", + "cosmiconfig": "^7.0.0", + "yaml": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/config/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@percy/config/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@percy/config/node_modules/yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@percy/core": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.14.0.tgz", + "integrity": "sha512-iSKJ5WDCfW4d+3Oi1HzMXUKXdBFu5i+Kgz60PDJyDn7lBXrCKRfAACvPG97X+tg+vmvSanODFhFWKjX5f2wlzw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@percy/client": "1.14.0", + "@percy/config": "1.14.0", + "@percy/dom": "1.14.0", + "@percy/logger": "1.14.0", + "content-disposition": "^0.5.4", + "cross-spawn": "^7.0.3", + "extract-zip": "^2.0.1", + "fast-glob": "^3.2.11", + "micromatch": "^4.0.4", + "mime-types": "^2.1.34", + "path-to-regexp": "^6.2.0", + "rimraf": "^3.0.2", + "ws": "^8.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/core/node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, + "node_modules/@percy/dom": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.14.0.tgz", + "integrity": "sha512-fNXFXAFu/yoEWpT2KTJ5nflQWPO7dcgTnPyjlK2h/ktoHElT9bab9NX/Dl2fhzTd6UCVzAN4RmRD+NSqy3xilg==", + "dev": true + }, + "node_modules/@percy/env": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.14.0.tgz", + "integrity": "sha512-nqvqDR1CGNwb/ewRgglbiXid0cAp8LGHIPsRPy2hoIcfRx8dVvHKdFF6uL7Bysz17MEK/exJyjqykT+MWm0/1w==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/logger": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.14.0.tgz", + "integrity": "sha512-Bv9klBhjA44hTL/roAh8YBQdJ1Q+PzVpelEt1xk4oF51lbXKc+jlGXzS9xXpXm1qqZj+Kg+sqhCBT2X6X3ErTA==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/storybook": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@percy/storybook/-/storybook-4.3.4.tgz", + "integrity": "sha512-PIGf6X+rnKJRZaUqMzATKC1zLN2wT8min8YEDU4fKFDhQlx0yTQhgOeiwbw2wmhbc5Ge0U5TqMBrlOuYxuPmvg==", + "dev": true, + "dependencies": { + "@percy/cli-command": "^1.10.4", + "cross-spawn": "^7.0.3", + "qs": "^6.11.0" + }, + "bin": { + "percy-storybook": "bin/percy-storybook.cjs" + } + }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.8.tgz", @@ -7466,6 +7723,16 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.42.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", @@ -9797,6 +10064,15 @@ "isarray": "^1.0.0" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -13731,6 +14007,41 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -13801,6 +14112,15 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fetch-retry": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.3.tgz", @@ -15722,6 +16042,21 @@ "node": ">= 4" } }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dev": true, + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -23229,6 +23564,12 @@ "node": ">=0.12" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", @@ -23823,6 +24164,15 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dev": true, + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -24727,6 +25077,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -29756,6 +30115,16 @@ "node": ">=6" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -32980,6 +33349,208 @@ } } }, + "@percy/cli": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.14.0.tgz", + "integrity": "sha512-F/dxBRXr6WWJd5BkRjnUkyUuQgoIyGir3wUqWQEZRjkIdLlo91PC6cyQXquCcQ4G97tMkWP4rfWvpE5EvQRMrg==", + "dev": true, + "requires": { + "@percy/cli-app": "1.14.0", + "@percy/cli-build": "1.14.0", + "@percy/cli-command": "1.14.0", + "@percy/cli-config": "1.14.0", + "@percy/cli-exec": "1.14.0", + "@percy/cli-snapshot": "1.14.0", + "@percy/cli-upload": "1.14.0", + "@percy/client": "1.14.0", + "@percy/logger": "1.14.0" + } + }, + "@percy/cli-app": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.14.0.tgz", + "integrity": "sha512-EhvQZ6QeZzTj2MRCc1IibOzha5FaCwkAzp1PJUKEmu7PWpFtOeK2G0cOst6l35tJ0fHnhcpuf1SP4/3D32ucQw==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0", + "@percy/cli-exec": "1.14.0" + } + }, + "@percy/cli-build": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.14.0.tgz", + "integrity": "sha512-eUi6Erv3vWP7FaWbbabp2gjwDVrB/bAD3OcHGGyX22hprrMN3teWtuS7c7xOeQ7vjBFMawpoDz9DF8gWUnBRNA==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0" + } + }, + "@percy/cli-command": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.14.0.tgz", + "integrity": "sha512-ydX2eIxG1lozvRx3vgIfF5eeTYRlCUx6imcEd3uNts0S/QtaX48BAz0oe8WEXKM+EmSXYx16yLaHCetc5bHkbw==", + "dev": true, + "requires": { + "@percy/config": "1.14.0", + "@percy/core": "1.14.0", + "@percy/logger": "1.14.0" + } + }, + "@percy/cli-config": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.14.0.tgz", + "integrity": "sha512-k/Jd/4SV5u8B1k9UFJ5M4aWBMA//YiHmOVdrxNroMnj1EVstjdcD/JywW2/uUMIksrC+cqTKicnWMCGRJW3yig==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0" + } + }, + "@percy/cli-exec": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.14.0.tgz", + "integrity": "sha512-EK02ry9aGSKrNBnDF6pb9QSRxi2Jpdr1HM7rRGLHPnAnQD4bp9RvKwjVDxguPDARYCg2IEKV9XxtH5seAfNHSw==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0", + "cross-spawn": "^7.0.3", + "which": "^2.0.2" + } + }, + "@percy/cli-snapshot": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.14.0.tgz", + "integrity": "sha512-JSzCmLCAioc722GSUYJEsTRQ/Zx5/igPGj9ABh2UdLnVn+aNX3QGT1ohcYZaUvurU2D2FHXzX2gOKfMHCJUlSg==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0", + "yaml": "^2.0.0" + }, + "dependencies": { + "yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true + } + } + }, + "@percy/cli-upload": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.14.0.tgz", + "integrity": "sha512-8T+ntRmbSfu3T8QMq7ufO6GdbyFbT/qGbe2B8ZPqWNQ1PRgVZxVaA0T7iPZv4+PB36tq08hMNRWljoH72VhiFQ==", + "dev": true, + "requires": { + "@percy/cli-command": "1.14.0", + "fast-glob": "^3.2.11", + "image-size": "^1.0.0" + } + }, + "@percy/client": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.14.0.tgz", + "integrity": "sha512-Fs3WNkKM0qvPIGJPe1+YIUDuIpEcILBI/KIPuN/nuKziz077nV0qCMb/thSE2qw9ER1GQ9/N7Wx9ZR2mWrWp8w==", + "dev": true, + "requires": { + "@percy/env": "1.14.0", + "@percy/logger": "1.14.0" + } + }, + "@percy/config": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.14.0.tgz", + "integrity": "sha512-N2yzDU93LYseq6bBjK4/Zf9ANM0TezBaNNalolhOepQnYceff3TkvRtC9Bq8Hrxt+/fTWxSG9CXvr/erwvagNQ==", + "dev": true, + "requires": { + "@percy/logger": "1.14.0", + "ajv": "^8.6.2", + "cosmiconfig": "^7.0.0", + "yaml": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "dev": true + } + } + }, + "@percy/core": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.14.0.tgz", + "integrity": "sha512-iSKJ5WDCfW4d+3Oi1HzMXUKXdBFu5i+Kgz60PDJyDn7lBXrCKRfAACvPG97X+tg+vmvSanODFhFWKjX5f2wlzw==", + "dev": true, + "requires": { + "@percy/client": "1.14.0", + "@percy/config": "1.14.0", + "@percy/dom": "1.14.0", + "@percy/logger": "1.14.0", + "content-disposition": "^0.5.4", + "cross-spawn": "^7.0.3", + "extract-zip": "^2.0.1", + "fast-glob": "^3.2.11", + "micromatch": "^4.0.4", + "mime-types": "^2.1.34", + "path-to-regexp": "^6.2.0", + "rimraf": "^3.0.2", + "ws": "^8.0.0" + }, + "dependencies": { + "path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + } + } + }, + "@percy/dom": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.14.0.tgz", + "integrity": "sha512-fNXFXAFu/yoEWpT2KTJ5nflQWPO7dcgTnPyjlK2h/ktoHElT9bab9NX/Dl2fhzTd6UCVzAN4RmRD+NSqy3xilg==", + "dev": true + }, + "@percy/env": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.14.0.tgz", + "integrity": "sha512-nqvqDR1CGNwb/ewRgglbiXid0cAp8LGHIPsRPy2hoIcfRx8dVvHKdFF6uL7Bysz17MEK/exJyjqykT+MWm0/1w==", + "dev": true + }, + "@percy/logger": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.14.0.tgz", + "integrity": "sha512-Bv9klBhjA44hTL/roAh8YBQdJ1Q+PzVpelEt1xk4oF51lbXKc+jlGXzS9xXpXm1qqZj+Kg+sqhCBT2X6X3ErTA==", + "dev": true + }, + "@percy/storybook": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@percy/storybook/-/storybook-4.3.4.tgz", + "integrity": "sha512-PIGf6X+rnKJRZaUqMzATKC1zLN2wT8min8YEDU4fKFDhQlx0yTQhgOeiwbw2wmhbc5Ge0U5TqMBrlOuYxuPmvg==", + "dev": true, + "requires": { + "@percy/cli-command": "^1.10.4", + "cross-spawn": "^7.0.3", + "qs": "^6.11.0" + } + }, "@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.8.tgz", @@ -35256,6 +35827,16 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "5.42.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", @@ -37060,6 +37641,12 @@ } } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -40169,6 +40756,29 @@ } } }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -40235,6 +40845,15 @@ "bser": "2.1.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, "fetch-retry": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.3.tgz", @@ -41694,6 +42313,15 @@ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dev": true, + "requires": { + "queue": "6.0.2" + } + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -47508,6 +48136,12 @@ "sha.js": "^2.4.8" } }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", @@ -47961,6 +48595,15 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dev": true, + "requires": { + "inherits": "~2.0.3" + } + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -48646,6 +49289,12 @@ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -52578,6 +53227,16 @@ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index d910a7a..8863064 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,8 @@ "devDependencies": { "@babel/preset-env": "^7.14.7", "@babel/preset-typescript": "^7.14.5", + "@percy/cli": "^1.14.0", + "@percy/storybook": "^4.3.4", "@storybook/addon-a11y": "^6.5.13", "@storybook/addon-actions": "^6.5.13", "@storybook/addon-coverage": "^0.0.2", From 2281e20f9beef0356d5cc20bfaeec9b30a57fc26 Mon Sep 17 00:00:00 2001 From: Tristan Timblin Date: Wed, 16 Nov 2022 14:15:44 -0500 Subject: [PATCH 5/5] period --- src/components/Address/Address.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Address/Address.tsx b/src/components/Address/Address.tsx index 382b087..22aceff 100644 --- a/src/components/Address/Address.tsx +++ b/src/components/Address/Address.tsx @@ -3,7 +3,7 @@ import { AddressLine } from "./AddressLine"; import { localeAddressFormat } from "./i18n"; /** - * The shape of the data passed to {@link Address} + * The shape of the data passed to {@link Address}. * * @public */