diff --git a/.changeset/silver-trees-give.md b/.changeset/silver-trees-give.md new file mode 100644 index 00000000..579ce546 --- /dev/null +++ b/.changeset/silver-trees-give.md @@ -0,0 +1,6 @@ +--- +"@paypal/react-paypal-js": patch +"@paypal/paypal-js": patch +--- + +remove .nvmrc and lint-staged.config.js in react-paypal-js diff --git a/.changeset/slow-plums-refuse.md b/.changeset/slow-plums-refuse.md new file mode 100644 index 00000000..29c38ccd --- /dev/null +++ b/.changeset/slow-plums-refuse.md @@ -0,0 +1,6 @@ +--- +"@paypal/react-paypal-js": patch +"@paypal/paypal-js": patch +--- + +remove the prettier dependency from each packages, update the prettier root version, fixed build error, update note version to 18 diff --git a/package-lock.json b/package-lock.json index d342ec6f..bbcd8e60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,10 @@ "packages/*" ], "devDependencies": { - "@changesets/cli": "^2.25.2", + "@changesets/cli": "^2.27.7", "husky": "^8.0.1", "lint-staged": "^13.0.3", - "prettier": "^2.7.1" + "prettier": "^3.3.3" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2232,15 +2232,16 @@ "dev": true }, "node_modules/@changesets/apply-release-plan": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.0.tgz", - "integrity": "sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.4.tgz", + "integrity": "sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==", "dev": true, "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/config": "^3.0.0", + "@changesets/config": "^3.0.2", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.0", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", @@ -2275,6 +2276,21 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/@changesets/apply-release-plan/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@changesets/apply-release-plan/node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -2285,14 +2301,15 @@ } }, "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.0.tgz", - "integrity": "sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.3.tgz", + "integrity": "sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==", "dev": true, "dependencies": { "@babel/runtime": "^7.20.1", "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" @@ -2308,25 +2325,26 @@ } }, "node_modules/@changesets/cli": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.1.tgz", - "integrity": "sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==", + "version": "2.27.7", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.7.tgz", + "integrity": "sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==", "dev": true, "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^7.0.0", - "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/apply-release-plan": "^7.0.4", + "@changesets/assemble-release-plan": "^6.0.3", "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.0", + "@changesets/config": "^3.0.2", "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/get-release-plan": "^4.0.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/get-release-plan": "^4.0.3", "@changesets/git": "^3.0.0", "@changesets/logger": "^0.1.0", "@changesets/pre": "^2.0.0", "@changesets/read": "^0.6.0", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.0", + "@changesets/write": "^0.3.1", "@manypkg/get-packages": "^1.1.3", "@types/semver": "^7.5.0", "ansi-colors": "^4.1.3", @@ -2336,15 +2354,14 @@ "external-editor": "^3.1.0", "fs-extra": "^7.0.1", "human-id": "^1.0.2", - "meow": "^6.0.0", + "mri": "^1.2.0", "outdent": "^0.5.0", "p-limit": "^2.2.0", "preferred-pm": "^3.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^4.1.5" + "term-size": "^2.1.0" }, "bin": { "changeset": "bin.js" @@ -2364,12 +2381,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/@changesets/cli/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, "node_modules/@changesets/cli/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -2379,52 +2390,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@changesets/cli/node_modules/meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/@changesets/cli/node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/@changesets/cli/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -2440,18 +2405,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@changesets/cli/node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@changesets/cli/node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -2461,27 +2414,14 @@ "node": ">= 4.0.0" } }, - "node_modules/@changesets/cli/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@changesets/config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.0.tgz", - "integrity": "sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.2.tgz", + "integrity": "sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==", "dev": true, "dependencies": { "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-dependents-graph": "^2.1.1", "@changesets/logger": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", @@ -2531,9 +2471,9 @@ } }, "node_modules/@changesets/get-dependents-graph": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.0.0.tgz", - "integrity": "sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.1.tgz", + "integrity": "sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==", "dev": true, "dependencies": { "@changesets/types": "^6.0.0", @@ -2576,14 +2516,14 @@ } }, "node_modules/@changesets/get-release-plan": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.0.tgz", - "integrity": "sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.3.tgz", + "integrity": "sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==", "dev": true, "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/config": "^3.0.0", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/config": "^3.0.2", "@changesets/pre": "^2.0.0", "@changesets/read": "^0.6.0", "@changesets/types": "^6.0.0", @@ -2745,6 +2685,17 @@ "node": ">= 4.0.0" } }, + "node_modules/@changesets/should-skip-package": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", + "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, "node_modules/@changesets/types": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", @@ -2752,9 +2703,9 @@ "dev": true }, "node_modules/@changesets/write": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.0.tgz", - "integrity": "sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", + "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", "dev": true, "dependencies": { "@babel/runtime": "^7.20.1", @@ -2787,6 +2738,21 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/@changesets/write/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@changesets/write/node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -13788,15 +13754,6 @@ "node": ">=8" } }, - "node_modules/breakword": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.6.tgz", - "integrity": "sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==", - "dev": true, - "dependencies": { - "wcwidth": "^1.0.1" - } - }, "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -16509,39 +16466,6 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, - "node_modules/csv": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", - "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", - "dev": true, - "dependencies": { - "csv-generate": "^3.4.3", - "csv-parse": "^4.16.3", - "csv-stringify": "^5.6.5", - "stream-transform": "^2.1.3" - }, - "engines": { - "node": ">= 0.1.90" - } - }, - "node_modules/csv-generate": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", - "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==", - "dev": true - }, - "node_modules/csv-parse": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", - "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==", - "dev": true - }, - "node_modules/csv-stringify": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", - "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==", - "dev": true - }, "node_modules/currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -20697,12 +20621,6 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -26855,15 +26773,6 @@ "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/klona": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", @@ -28266,15 +28175,6 @@ "node": ">=0.10.0" } }, - "node_modules/mixme": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz", - "integrity": "sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -28421,6 +28321,15 @@ "rimraf": "bin.js" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -30508,15 +30417,15 @@ "dev": true }, "node_modules/preferred-pm": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", - "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.4.tgz", + "integrity": "sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==", "dev": true, "dependencies": { "find-up": "^5.0.0", "find-yarn-workspace-root2": "1.2.16", "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "which-pm": "^2.2.0" }, "engines": { "node": ">=10" @@ -30532,15 +30441,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -33223,206 +33132,6 @@ "node": ">=8.0.0" } }, - "node_modules/smartwrap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", - "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==", - "dev": true, - "dependencies": { - "array.prototype.flat": "^1.2.3", - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "bin": { - "smartwrap": "src/terminal-adapter.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/smartwrap/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smartwrap/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/smartwrap/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/smartwrap/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/smartwrap/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/smartwrap/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/smartwrap/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/smartwrap/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smartwrap/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/smob": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", @@ -34104,15 +33813,6 @@ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true }, - "node_modules/stream-transform": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", - "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", - "dev": true, - "dependencies": { - "mixme": "^0.5.1" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -35371,167 +35071,6 @@ "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, - "node_modules/tty-table": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.3.tgz", - "integrity": "sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2", - "csv": "^5.5.3", - "kleur": "^4.1.5", - "smartwrap": "^2.0.2", - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.1", - "yargs": "^17.7.1" - }, - "bin": { - "tty-table": "adapters/terminal-adapter.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/tty-table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tty-table/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tty-table/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/tty-table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tty-table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/tty-table/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/tty-table/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tty-table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tty-table/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tty-table/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tty-table/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/tty-table/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/type": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", @@ -38017,9 +37556,9 @@ "dev": true }, "node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", + "integrity": "sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==", "dev": true, "dependencies": { "load-yaml-file": "^0.2.0", @@ -38475,7 +38014,6 @@ "jsdom": "^23.0.1", "lint-staged": "15.2.0", "openapi-typescript": "^6.7.3", - "prettier": "3.1.1", "rollup": "4.9.1", "semver": "7.5.4", "standard-version": "9.5.0", @@ -38779,21 +38317,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/paypal-js/node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/paypal-js/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -38932,7 +38455,6 @@ "husky": "^7.0.4", "jest": "^27.5.1", "jest-mock-extended": "^2.0.4", - "prettier": "^2.5.1", "react": "^16.14.0", "react-dom": "^16.14.0", "react-element-to-jsx-string": "^14.3.4", @@ -41445,15 +40967,16 @@ "dev": true }, "@changesets/apply-release-plan": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.0.tgz", - "integrity": "sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.4.tgz", + "integrity": "sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==", "dev": true, "requires": { "@babel/runtime": "^7.20.1", - "@changesets/config": "^3.0.0", + "@changesets/config": "^3.0.2", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.0", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", @@ -41485,6 +41008,12 @@ "graceful-fs": "^4.1.6" } }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -41494,14 +41023,15 @@ } }, "@changesets/assemble-release-plan": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.0.tgz", - "integrity": "sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.3.tgz", + "integrity": "sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==", "dev": true, "requires": { "@babel/runtime": "^7.20.1", "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" @@ -41517,25 +41047,26 @@ } }, "@changesets/cli": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.1.tgz", - "integrity": "sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==", + "version": "2.27.7", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.7.tgz", + "integrity": "sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==", "dev": true, "requires": { "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^7.0.0", - "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/apply-release-plan": "^7.0.4", + "@changesets/assemble-release-plan": "^6.0.3", "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.0", + "@changesets/config": "^3.0.2", "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/get-release-plan": "^4.0.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/get-release-plan": "^4.0.3", "@changesets/git": "^3.0.0", "@changesets/logger": "^0.1.0", "@changesets/pre": "^2.0.0", "@changesets/read": "^0.6.0", + "@changesets/should-skip-package": "^0.1.0", "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.0", + "@changesets/write": "^0.3.1", "@manypkg/get-packages": "^1.1.3", "@types/semver": "^7.5.0", "ansi-colors": "^4.1.3", @@ -41545,15 +41076,14 @@ "external-editor": "^3.1.0", "fs-extra": "^7.0.1", "human-id": "^1.0.2", - "meow": "^6.0.0", + "mri": "^1.2.0", "outdent": "^0.5.0", "p-limit": "^2.2.0", "preferred-pm": "^3.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^4.1.5" + "term-size": "^2.1.0" }, "dependencies": { "fs-extra": { @@ -41567,12 +41097,6 @@ "universalify": "^0.1.0" } }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -41582,45 +41106,6 @@ "graceful-fs": "^4.1.6" } }, - "meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -41630,38 +41115,22 @@ "p-try": "^2.0.0" } }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, "@changesets/config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.0.tgz", - "integrity": "sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.2.tgz", + "integrity": "sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==", "dev": true, "requires": { "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-dependents-graph": "^2.1.1", "@changesets/logger": "^0.1.0", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", @@ -41707,9 +41176,9 @@ } }, "@changesets/get-dependents-graph": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.0.0.tgz", - "integrity": "sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.1.tgz", + "integrity": "sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==", "dev": true, "requires": { "@changesets/types": "^6.0.0", @@ -41748,14 +41217,14 @@ } }, "@changesets/get-release-plan": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.0.tgz", - "integrity": "sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.3.tgz", + "integrity": "sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==", "dev": true, "requires": { "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/config": "^3.0.0", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/config": "^3.0.2", "@changesets/pre": "^2.0.0", "@changesets/read": "^0.6.0", "@changesets/types": "^6.0.0", @@ -41908,6 +41377,17 @@ } } }, + "@changesets/should-skip-package": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", + "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, "@changesets/types": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", @@ -41915,9 +41395,9 @@ "dev": true }, "@changesets/write": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.0.tgz", - "integrity": "sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", + "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", "dev": true, "requires": { "@babel/runtime": "^7.20.1", @@ -41947,6 +41427,12 @@ "graceful-fs": "^4.1.6" } }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -44961,7 +44447,6 @@ "jsdom": "^23.0.1", "lint-staged": "15.2.0", "openapi-typescript": "^6.7.3", - "prettier": "3.1.1", "promise-polyfill": "^8.3.0", "rollup": "4.9.1", "semver": "7.5.4", @@ -45157,12 +44642,6 @@ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true }, - "prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", - "dev": true - }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -45272,7 +44751,6 @@ "husky": "^7.0.4", "jest": "^27.5.1", "jest-mock-extended": "^2.0.4", - "prettier": "^2.5.1", "react": "^16.14.0", "react-dom": "^16.14.0", "react-element-to-jsx-string": "^14.3.4", @@ -51260,15 +50738,6 @@ "fill-range": "^7.0.1" } }, - "breakword": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.6.tgz", - "integrity": "sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==", - "dev": true, - "requires": { - "wcwidth": "^1.0.1" - } - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -53368,36 +52837,6 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, - "csv": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", - "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", - "dev": true, - "requires": { - "csv-generate": "^3.4.3", - "csv-parse": "^4.16.3", - "csv-stringify": "^5.6.5", - "stream-transform": "^2.1.3" - } - }, - "csv-generate": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", - "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==", - "dev": true - }, - "csv-parse": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", - "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==", - "dev": true - }, - "csv-stringify": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", - "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==", - "dev": true - }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -56669,12 +56108,6 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -61317,12 +60750,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true - }, "klona": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", @@ -62398,12 +61825,6 @@ "is-extendable": "^1.0.1" } }, - "mixme": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz", - "integrity": "sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -62499,6 +61920,12 @@ } } }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -64110,15 +63537,15 @@ "dev": true }, "preferred-pm": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", - "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.4.tgz", + "integrity": "sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==", "dev": true, "requires": { "find-up": "^5.0.0", "find-yarn-workspace-root2": "1.2.16", "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "which-pm": "^2.2.0" } }, "prelude-ls": { @@ -64128,9 +63555,9 @@ "dev": true }, "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true }, "pretty-error": { @@ -66249,163 +65676,6 @@ "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==", "dev": true }, - "smartwrap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", - "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==", - "dev": true, - "requires": { - "array.prototype.flat": "^1.2.3", - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "smob": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", @@ -67003,15 +66273,6 @@ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true }, - "stream-transform": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", - "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", - "dev": true, - "requires": { - "mixme": "^0.5.1" - } - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -67930,127 +67191,6 @@ "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, - "tty-table": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.3.tgz", - "integrity": "sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "csv": "^5.5.3", - "kleur": "^4.1.5", - "smartwrap": "^2.0.2", - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.1", - "yargs": "^17.7.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, "type": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", @@ -69888,9 +69028,9 @@ "dev": true }, "which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", + "integrity": "sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==", "dev": true, "requires": { "load-yaml-file": "^0.2.0", diff --git a/package.json b/package.json index 7989e326..e2af03f9 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,9 @@ ] }, "devDependencies": { - "@changesets/cli": "^2.25.2", + "@changesets/cli": "^2.27.7", "husky": "^8.0.1", "lint-staged": "^13.0.3", - "prettier": "^2.7.1" + "prettier": "^3.3.3" } } diff --git a/packages/paypal-js/README.md b/packages/paypal-js/README.md index 1de2bc59..0a4c40bb 100644 --- a/packages/paypal-js/README.md +++ b/packages/paypal-js/README.md @@ -229,7 +229,7 @@ We also provide a legacy build that includes the [promise-polyfill](https://gith The paypal-js script is also available on the [unpkg CDN](https://unpkg.com/). The iife/paypal-js.js build assigns the `loadScript` function to the window object as `window.paypalLoadScript`. Here's an example: ```html - + diff --git a/packages/paypal-js/bundle-tests/bundle-size.test.js b/packages/paypal-js/bundle-tests/bundle-size.test.js index 9a6b8453..b49710ee 100644 --- a/packages/paypal-js/bundle-tests/bundle-size.test.js +++ b/packages/paypal-js/bundle-tests/bundle-size.test.js @@ -15,7 +15,7 @@ describe("bundle size", () => { test(`paypal-js.legacy.min.js should be less than ${maxLegacyBundleSizeInKiloBytes} KB`, () => { const { size: sizeInBytes } = fs.statSync( - "dist/iife/paypal-js.legacy.min.js" + "dist/iife/paypal-js.legacy.min.js", ); const [sizeInKiloBytes] = filesize(sizeInBytes, { output: "array" }); diff --git a/packages/paypal-js/e2e-tests/browser-global.html b/packages/paypal-js/e2e-tests/browser-global.html index 8cd6f3eb..37f35d47 100644 --- a/packages/paypal-js/e2e-tests/browser-global.html +++ b/packages/paypal-js/e2e-tests/browser-global.html @@ -1,4 +1,4 @@ - + diff --git a/packages/paypal-js/e2e-tests/browser-global.test.ts b/packages/paypal-js/e2e-tests/browser-global.test.ts index d9723f06..8ddad0da 100644 --- a/packages/paypal-js/e2e-tests/browser-global.test.ts +++ b/packages/paypal-js/e2e-tests/browser-global.test.ts @@ -6,17 +6,17 @@ test("Browser global window.paypalLoadScript", async ({ page }) => { route.fulfill({ status: 200, body: successfulSDKResponseMock(), - }) + }), ); await page.goto("/e2e-tests/browser-global.html"); await expect(page).toHaveTitle( - "Demo with window.paypalLoadScript | PayPal JS" + "Demo with window.paypalLoadScript | PayPal JS", ); const scriptElement = await page.locator( - 'script[src^="https://www.paypal.com/sdk/js"]' + 'script[src^="https://www.paypal.com/sdk/js"]', ); const uidFromDOM = await scriptElement.getAttribute("data-uid-auto"); diff --git a/packages/paypal-js/e2e-tests/http-server.js b/packages/paypal-js/e2e-tests/http-server.js index cd3d54c5..289b8c55 100644 --- a/packages/paypal-js/e2e-tests/http-server.js +++ b/packages/paypal-js/e2e-tests/http-server.js @@ -48,7 +48,7 @@ http.createServer(function (request, response) { response.end( "Sorry, check with the site admin for error: " + error.code + - " ..\n" + " ..\n", ); } } else { diff --git a/packages/paypal-js/e2e-tests/load-cached-script.html b/packages/paypal-js/e2e-tests/load-cached-script.html index f18c57bb..8da8ec39 100644 --- a/packages/paypal-js/e2e-tests/load-cached-script.html +++ b/packages/paypal-js/e2e-tests/load-cached-script.html @@ -1,4 +1,4 @@ - + diff --git a/packages/paypal-js/e2e-tests/load-cached-script.test.ts b/packages/paypal-js/e2e-tests/load-cached-script.test.ts index 69ada31f..85fb4deb 100644 --- a/packages/paypal-js/e2e-tests/load-cached-script.test.ts +++ b/packages/paypal-js/e2e-tests/load-cached-script.test.ts @@ -6,7 +6,7 @@ test("Load cached script", async ({ page }) => { route.fulfill({ status: 200, body: successfulSDKResponseMock(), - }) + }), ); let sdkRequestCounter = 0; diff --git a/packages/paypal-js/e2e-tests/reload-script.html b/packages/paypal-js/e2e-tests/reload-script.html index 3d0dc361..2d745b62 100644 --- a/packages/paypal-js/e2e-tests/reload-script.html +++ b/packages/paypal-js/e2e-tests/reload-script.html @@ -1,4 +1,4 @@ - + diff --git a/packages/paypal-js/e2e-tests/validation-errors.html b/packages/paypal-js/e2e-tests/validation-errors.html index f24a2f48..e2b752b0 100644 --- a/packages/paypal-js/e2e-tests/validation-errors.html +++ b/packages/paypal-js/e2e-tests/validation-errors.html @@ -1,4 +1,4 @@ - + diff --git a/packages/paypal-js/e2e-tests/validation-errors.test.ts b/packages/paypal-js/e2e-tests/validation-errors.test.ts index 0424bdc8..17dc4712 100644 --- a/packages/paypal-js/e2e-tests/validation-errors.test.ts +++ b/packages/paypal-js/e2e-tests/validation-errors.test.ts @@ -6,7 +6,7 @@ test("Validation errors", async ({ page }) => { route.fulfill({ status: 400, body: validationErrorSDKResponseMock(), - }) + }), ); await page.goto("/e2e-tests/validation-errors.html"); @@ -14,15 +14,15 @@ test("Validation errors", async ({ page }) => { await page.locator("#btn-load-no-client-id").click(); await page.waitForResponse((response) => - response.url().startsWith("https://www.paypal.com/sdk/js") + response.url().startsWith("https://www.paypal.com/sdk/js"), ); await page.waitForFunction( - 'document.querySelector("#error-message").innerText.length' + 'document.querySelector("#error-message").innerText.length', ); const errorMessage = await page.locator("#error-message").innerText(); expect(errorMessage).toEqual( - 'Error: The script "https://www.paypal.com/sdk/js?" failed to load. Check the HTTP status code and response body in DevTools to learn more.' + 'Error: The script "https://www.paypal.com/sdk/js?" failed to load. Check the HTTP status code and response body in DevTools to learn more.', ); }); diff --git a/packages/paypal-js/package.json b/packages/paypal-js/package.json index 898ccbf9..0b56a4ed 100644 --- a/packages/paypal-js/package.json +++ b/packages/paypal-js/package.json @@ -19,8 +19,8 @@ "test:e2e": "playwright test", "test:e2e:debug": "PWDEBUG=1 playwright test --project=\"chromium\"", "test:e2e:start": "node e2e-tests/http-server.js", - "typecheck": "tsc --noEmit", - "validate": "npm run check-node-version && npm run format:check && npm run typecheck && npm run build && npm run lint && npm test -- --watch=false --coverage.enabled --coverage.include=src && npm run test:bundle -- --watch=false", + "typecheck": "tsc --noEmit --allowSyntheticDefaultImports", + "validate": "npm run check-node-version && npm run typecheck && npm run build && npm run lint && npm test -- --watch=false --coverage.enabled --coverage.include=src && npm run test:bundle -- --watch=false", "openapi": "npm run openapi-orders && npm run openapi-subscriptions", "openapi-orders": "openapi-typescript node_modules/@paypal/paypal-rest-api-specifications/openapi/checkout_orders_v2.json -o types/apis/openapi/checkout_orders_v2.d.ts", "openapi-subscriptions": "openapi-typescript node_modules/@paypal/paypal-rest-api-specifications/openapi/billing_subscriptions_v1.json -o types/apis/openapi/billing_subscriptions_v1.d.ts" @@ -66,7 +66,6 @@ "jsdom": "^23.0.1", "lint-staged": "15.2.0", "openapi-typescript": "^6.7.3", - "prettier": "3.1.1", "rollup": "4.9.1", "semver": "7.5.4", "standard-version": "9.5.0", diff --git a/packages/paypal-js/src/legacy/index.ts b/packages/paypal-js/src/legacy/index.ts index 04656a61..63809e5f 100644 --- a/packages/paypal-js/src/legacy/index.ts +++ b/packages/paypal-js/src/legacy/index.ts @@ -1,4 +1,4 @@ -import Promise from "promise-polyfill"; +import * as Promise from "promise-polyfill"; import { loadScript as originalLoadScript, loadCustomScript as originalLoadCustomScript, @@ -7,7 +7,7 @@ import type { PayPalScriptOptions } from "../../types/script-options"; import type { PayPalNamespace } from "../../types/index"; export function loadScript( - options: PayPalScriptOptions + options: PayPalScriptOptions, ): Promise { return originalLoadScript(options, Promise); } diff --git a/packages/paypal-js/src/load-script.node.test.ts b/packages/paypal-js/src/load-script.node.test.ts index 344deab4..5a472ef9 100644 --- a/packages/paypal-js/src/load-script.node.test.ts +++ b/packages/paypal-js/src/load-script.node.test.ts @@ -7,6 +7,6 @@ import { loadScript, loadCustomScript } from "./load-script"; test("should still resolve when global window object does not exist", async () => { await expect(loadScript({ clientId: "test" })).resolves.toBeNull(); await expect( - loadCustomScript({ url: "https://www.example.com/index.js" }) + loadCustomScript({ url: "https://www.example.com/index.js" }), ).resolves.toBeUndefined(); }); diff --git a/packages/paypal-js/src/load-script.test.ts b/packages/paypal-js/src/load-script.test.ts index d814dbb2..cc204024 100644 --- a/packages/paypal-js/src/load-script.test.ts +++ b/packages/paypal-js/src/load-script.test.ts @@ -16,7 +16,7 @@ vi.mock("./utils", async () => { const namespace = attributes["data-namespace"] || "paypal"; vi.stubGlobal(namespace, { version: "5" }); process.nextTick(() => onSuccess()); - } + }, ), }; }); @@ -38,7 +38,7 @@ describe("loadScript()", () => { const response = await loadScript({ clientId: "test" }); expect(mockedInsertScriptElement.mock.calls[0][0].url).toEqual( - "https://www.paypal.com/sdk/js?client-id=test" + "https://www.paypal.com/sdk/js?client-id=test", ); expect(mockedInsertScriptElement).toHaveBeenCalledTimes(1); expect(response).toEqual(window.paypal); @@ -53,7 +53,7 @@ describe("loadScript()", () => { }); expect(mockedInsertScriptElement).toHaveBeenCalledTimes(1); expect(mockedInsertScriptElement.mock.calls[0][0].url).toEqual( - "https://www.sandbox.paypal.com/sdk/js?client-id=test" + "https://www.sandbox.paypal.com/sdk/js?client-id=test", ); expect(response).toEqual(window.paypal); }); @@ -67,7 +67,7 @@ describe("loadScript()", () => { }); expect(mockedInsertScriptElement).toHaveBeenCalledTimes(1); expect(mockedInsertScriptElement.mock.calls[0][0].url).toEqual( - "https://www.paypal.com/sdk/js?client-id=test" + "https://www.paypal.com/sdk/js?client-id=test", ); expect(response).toEqual(window.paypal); }); @@ -117,7 +117,7 @@ describe("loadScript()", () => { const { message: errorMessage } = err as Record; expect(errorMessage).toBe( - "The window.paypal global variable is not available." + "The window.paypal global variable is not available.", ); } }); @@ -129,9 +129,9 @@ describe("loadScript()", () => { clientId: "test", // @ts-expect-error intentionally sending invalid value environment: "invalid", - }) + }), ).toThrowError( - 'The `environment` option must be either "production" or "sandbox"' + 'The `environment` option must be either "production" or "sandbox"', ); }); @@ -140,7 +140,7 @@ describe("loadScript()", () => { expect(() => loadScript()).toThrow("Expected an options object."); // @ts-expect-error ignore invalid arguments error expect(() => loadScript({}, {})).toThrow( - "Expected PromisePonyfill to be a function." + "Expected PromisePonyfill to be a function.", ); }); }); @@ -163,7 +163,7 @@ describe("loadCustomScript()", () => { await loadCustomScript(options); expect(mockedInsertScriptElement).toHaveBeenCalledWith( - expect.objectContaining(options) + expect.objectContaining(options), ); }); @@ -179,7 +179,7 @@ describe("loadCustomScript()", () => { url: "https://www.example.com/index.js", // @ts-expect-error ignore invalid arguments error attributes: "", - }) + }), ).toThrow("Expected attributes to be an object."); expect(() => loadCustomScript( @@ -187,8 +187,8 @@ describe("loadCustomScript()", () => { url: "https://www.example.com/index.js", }, // @ts-expect-error ignore invalid arguments error - {} - ) + {}, + ), ).toThrow("Expected PromisePonyfill to be a function."); }); @@ -209,7 +209,7 @@ describe("loadCustomScript()", () => { const { message } = err as Record; expect(message).toBe( - 'The script "https://www.example.com/index.js" failed to load. Check the HTTP status code and response body in DevTools to learn more.' + 'The script "https://www.example.com/index.js" failed to load. Check the HTTP status code and response body in DevTools to learn more.', ); } }); @@ -225,7 +225,7 @@ describe("loadCustomScript()", () => { url: "https://www.example.com/index.js", }, // @ts-expect-error ignore mock error - PromisePonyfill + PromisePonyfill, ); expect(PromisePonyfill).toHaveBeenCalledTimes(1); }); diff --git a/packages/paypal-js/src/load-script.ts b/packages/paypal-js/src/load-script.ts index 6152672f..27d13834 100644 --- a/packages/paypal-js/src/load-script.ts +++ b/packages/paypal-js/src/load-script.ts @@ -11,7 +11,7 @@ import type { PayPalNamespace } from "../types/index"; */ export function loadScript( options: PayPalScriptOptions, - PromisePonyfill: PromiseConstructor = Promise + PromisePonyfill: PromiseConstructor = Promise, ): Promise { validateArguments(options, PromisePonyfill); @@ -36,7 +36,7 @@ export function loadScript( url, attributes: attributes, }, - PromisePonyfill + PromisePonyfill, ).then(() => { const newWindowNamespace = getPayPalWindowNamespace(namespace); @@ -45,7 +45,7 @@ export function loadScript( } throw new Error( - `The window.${namespace} global variable is not available.` + `The window.${namespace} global variable is not available.`, ); }); } @@ -62,7 +62,7 @@ export function loadCustomScript( url: string; attributes?: Record; }, - PromisePonyfill: PromiseConstructor = Promise + PromisePonyfill: PromiseConstructor = Promise, ): Promise { validateArguments(options, PromisePonyfill); @@ -86,7 +86,7 @@ export function loadCustomScript( onSuccess: () => resolve(), onError: () => { const defaultError = new Error( - `The script "${url}" failed to load. Check the HTTP status code and response body in DevTools to learn more.` + `The script "${url}" failed to load. Check the HTTP status code and response body in DevTools to learn more.`, ); return reject(defaultError); @@ -112,7 +112,7 @@ function validateArguments(options: unknown, PromisePonyfill?: unknown) { environment !== "sandbox" ) { throw new Error( - 'The `environment` option must be either "production" or "sandbox".' + 'The `environment` option must be either "production" or "sandbox".', ); } diff --git a/packages/paypal-js/src/utils.test.ts b/packages/paypal-js/src/utils.test.ts index cbbba0b8..783f907f 100644 --- a/packages/paypal-js/src/utils.test.ts +++ b/packages/paypal-js/src/utils.test.ts @@ -34,7 +34,7 @@ describe("processOptions()", () => { const { url, attributes } = processOptions(options); expect(url).toBe( - "https://www.paypal.com/sdk/js?client-id=test¤cy=USD&some-random-key=some-random-value" + "https://www.paypal.com/sdk/js?client-id=test¤cy=USD&some-random-key=some-random-value", ); expect(attributes).toEqual({ "data-page-type": "checkout" }); }); @@ -58,7 +58,7 @@ describe("processOptions()", () => { }); expect(url).toBe( - "http://localhost.paypal.com:8000/sdk/js?client-id=test" + "http://localhost.paypal.com:8000/sdk/js?client-id=test", ); }); @@ -78,7 +78,7 @@ describe("processOptions()", () => { }); expect(url).toBe( - "https://www.paypal.com/sdk/js?client-id=test&components=buttons,marks,messages&enable-funding=venmo,paylater&disable-funding=card" + "https://www.paypal.com/sdk/js?client-id=test&components=buttons,marks,messages&enable-funding=venmo,paylater&disable-funding=card", ); expect(attributes).toEqual({}); }); @@ -90,7 +90,7 @@ describe("processOptions()", () => { }); expect(url).toBe( - "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*" + "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*", ); expect(attributes).toEqual({ "data-merchant-id": "123,456,789" }); }); @@ -102,7 +102,7 @@ describe("processOptions()", () => { }); expect(url).toBe( - "https://www.paypal.com/sdk/js?client-id=test&merchant-id=123" + "https://www.paypal.com/sdk/js?client-id=test&merchant-id=123", ); expect(attributes).toEqual({}); @@ -112,7 +112,7 @@ describe("processOptions()", () => { }); expect(url2).toBe( - "https://www.paypal.com/sdk/js?client-id=test&merchant-id=123" + "https://www.paypal.com/sdk/js?client-id=test&merchant-id=123", ); expect(attributes2).toEqual({}); }); @@ -125,7 +125,7 @@ describe("processOptions()", () => { }); expect(url).toBe( - "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*" + "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*", ); expect(attributes).toEqual({ "data-merchant-id": "123,456,789" }); @@ -135,7 +135,7 @@ describe("processOptions()", () => { }); expect(url2).toBe( - "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*" + "https://www.paypal.com/sdk/js?client-id=test&merchant-id=*", ); expect(attributes2).toEqual({ "data-merchant-id": "123,456,789" }); }); @@ -161,7 +161,7 @@ describe("findScript()", () => { test("returns null when the script is not found", () => { expect( - findScript("https://www.paypal.com/sdk/js?client-id=test") + findScript("https://www.paypal.com/sdk/js?client-id=test"), ).toBeNull(); }); @@ -240,7 +240,7 @@ describe("insertScriptElement()", () => { }); const [firstScript, secondScript] = Array.from( - document.querySelectorAll("head script") + document.querySelectorAll("head script"), ); expect(firstScript.src).toBe(newScriptSrc); diff --git a/packages/paypal-js/src/utils.ts b/packages/paypal-js/src/utils.ts index 2433c732..d4833b1e 100644 --- a/packages/paypal-js/src/utils.ts +++ b/packages/paypal-js/src/utils.ts @@ -9,10 +9,10 @@ type StringMap = Record; export function findScript( url: string, - attributes?: StringMap + attributes?: StringMap, ): HTMLScriptElement | null { const currentScript = document.querySelector( - `script[src="${url}"]` + `script[src="${url}"]`, ); if (currentScript === null) return null; @@ -107,7 +107,7 @@ export function processOptions(options: PayPalScriptOptions): { { queryParams: {} as StringMap, attributes: {} as StringMap, - } + }, ); if ( @@ -142,7 +142,7 @@ export function objectToQueryString(params: StringMap): string { function createScriptElement( url: string, - attributes: StringMap = {} + attributes: StringMap = {}, ): HTMLScriptElement { const newScript: HTMLScriptElement = document.createElement("script"); newScript.src = url; diff --git a/packages/paypal-js/types/components/buttons.d.ts b/packages/paypal-js/types/components/buttons.d.ts index a7dddfd7..6168fa7c 100644 --- a/packages/paypal-js/types/components/buttons.d.ts +++ b/packages/paypal-js/types/components/buttons.d.ts @@ -29,7 +29,7 @@ export type CreateSubscriptionActions = { /** Used to revise an existing subscription for client-side integrations. Accepts the same options as the request body of the [/v1/billing/subscription/{id}/revise api](https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_revise). */ revise: ( subscriptionID: string, - options: ReviseSubscriptionRequestBody + options: ReviseSubscriptionRequestBody, ) => Promise; }; }; @@ -211,14 +211,14 @@ export interface PayPalButtonsComponentOptions { */ createOrder?: ( data: CreateOrderData, - actions: CreateOrderActions + actions: CreateOrderActions, ) => Promise; /** * Called on button click to set up a recurring payment. [createSubscription docs](https://developer.paypal.com/docs/business/javascript-sdk/javascript-sdk-reference/#createsubscription). */ createSubscription?: ( data: Record, - actions: CreateSubscriptionActions + actions: CreateSubscriptionActions, ) => Promise; /** * Save payment methods to charge payers after a set amount of time. For example, you can offer a free trial and charge payers after the trial expires. Payers don't need to be present when charged. No checkout required. @@ -235,7 +235,7 @@ export interface PayPalButtonsComponentOptions { */ onApprove?: ( data: OnApproveData, - actions: OnApproveActions + actions: OnApproveActions, ) => Promise; /** * Called when the buyer cancels the transaction. @@ -243,14 +243,14 @@ export interface PayPalButtonsComponentOptions { */ onCancel?: ( data: Record, - actions: OnCancelledActions + actions: OnCancelledActions, ) => void; /** * Called when the button is clicked. Often used for [validation](https://developer.paypal.com/docs/checkout/integration-features/validation/). */ onClick?: ( data: Record, - actions: OnClickActions + actions: OnClickActions, ) => Promise | void; /** * Catch all for errors preventing buyer checkout. @@ -267,21 +267,21 @@ export interface PayPalButtonsComponentOptions { */ onShippingChange?: ( data: OnShippingChangeData, - actions: OnShippingChangeActions + actions: OnShippingChangeActions, ) => Promise; /** * Called when the buyer selects a new shipping option on PayPal. */ onShippingOptionsChange?: ( data: OnShippingOptionsChangeData, - actions: OnShippingOptionsChangeActions + actions: OnShippingOptionsChangeActions, ) => Promise; /** * Called when the buyer updates their shipping address on PayPal. */ onShippingAddressChange?: ( data: OnShippingAddressChangeData, - actions: OnShippingAddressChangeActions + actions: OnShippingAddressChangeActions, ) => Promise; /** * [Styling options](https://developer.paypal.com/docs/business/checkout/reference/style-guide/#customize-the-payment-buttons) for customizing the button appearance. diff --git a/packages/paypal-js/types/components/card-fields.d.ts b/packages/paypal-js/types/components/card-fields.d.ts index 8bc667ee..2280e6b7 100644 --- a/packages/paypal-js/types/components/card-fields.d.ts +++ b/packages/paypal-js/types/components/card-fields.d.ts @@ -119,7 +119,7 @@ export interface PayPalCardFieldsIndividualField { clear: () => void; focus: () => void; removeAttribute: ( - name: "aria-invalid" | "aria-required" | "disabled" | "placeholder" + name: "aria-invalid" | "aria-required" | "disabled" | "placeholder", ) => Promise; removeClass: (className: string) => Promise; setAttribute: (name: string, value: string) => Promise; @@ -141,15 +141,15 @@ export interface PayPalCardFieldsComponent { isEligible: () => boolean; submit: () => Promise; NameField: ( - options: PayPalCardFieldsIndividualFieldOptions + options: PayPalCardFieldsIndividualFieldOptions, ) => PayPalCardFieldsIndividualField; NumberField: ( - options: PayPalCardFieldsIndividualFieldOptions + options: PayPalCardFieldsIndividualFieldOptions, ) => PayPalCardFieldsIndividualField; CVVField: ( - options: PayPalCardFieldsIndividualFieldOptions + options: PayPalCardFieldsIndividualFieldOptions, ) => PayPalCardFieldsIndividualField; ExpiryField: ( - options: PayPalCardFieldsIndividualFieldOptions + options: PayPalCardFieldsIndividualFieldOptions, ) => PayPalCardFieldsIndividualField; } diff --git a/packages/paypal-js/types/components/hosted-fields.d.ts b/packages/paypal-js/types/components/hosted-fields.d.ts index 90a7dabe..15217d3f 100644 --- a/packages/paypal-js/types/components/hosted-fields.d.ts +++ b/packages/paypal-js/types/components/hosted-fields.d.ts @@ -201,7 +201,7 @@ export interface HostedFieldsHandler { * Submit the form if is valid */ submit: ( - options?: Record + options?: Record, ) => Promise; /** * Clean all the fields from the DOM @@ -211,22 +211,22 @@ export interface HostedFieldsHandler { * Tokenize fields and returns a nonce payload. */ tokenize: ( - options: HostedFieldsTokenize + options: HostedFieldsTokenize, ) => Promise>; on( event: EventType, - handler: (event: HostedFieldsEventTypeMap[EventType]) => void + handler: (event: HostedFieldsEventTypeMap[EventType]) => void, ): void; off( event: EventType, - handler: (event: HostedFieldsEventTypeMap[EventType]) => void + handler: (event: HostedFieldsEventTypeMap[EventType]) => void, ): void; } export interface PayPalHostedFieldsComponent { isEligible: () => boolean; render: ( - options: PayPalHostedFieldsComponentOptions + options: PayPalHostedFieldsComponentOptions, ) => Promise; } diff --git a/packages/paypal-js/types/index.d.ts b/packages/paypal-js/types/index.d.ts index 7fca17f9..b2482691 100644 --- a/packages/paypal-js/types/index.d.ts +++ b/packages/paypal-js/types/index.d.ts @@ -25,15 +25,15 @@ import type { export interface PayPalNamespace { Buttons?: ( - options?: PayPalButtonsComponentOptions + options?: PayPalButtonsComponentOptions, ) => PayPalButtonsComponent; Marks?: (options?: PayPalMarksComponentOptions) => PayPalMarksComponent; Messages?: ( - options?: PayPalMessagesComponentOptions + options?: PayPalMessagesComponentOptions, ) => PayPalMessagesComponent; HostedFields?: PayPalHostedFieldsComponent; CardFields?: ( - options?: PayPalCardFieldsComponentOptions + options?: PayPalCardFieldsComponentOptions, ) => PayPalCardFieldsComponent; getFundingSources?: getFundingSources; isFundingEligible?: isFundingEligible; @@ -44,7 +44,7 @@ export interface PayPalNamespace { export function loadScript( options: PayPalScriptOptions, - PromisePonyfill?: PromiseConstructor + PromisePonyfill?: PromiseConstructor, ): Promise; export function loadCustomScript(options: { diff --git a/packages/paypal-js/types/tests/buttons.test.ts b/packages/paypal-js/types/tests/buttons.test.ts index 2219c84b..8047862b 100644 --- a/packages/paypal-js/types/tests/buttons.test.ts +++ b/packages/paypal-js/types/tests/buttons.test.ts @@ -59,7 +59,7 @@ async function main() { const transaction = orderData.purchase_units[0].payments.captures[0]; alert( - `Transaction ${transaction.status}: ${transaction.id} \n\nSee console for all available details` + `Transaction ${transaction.status}: ${transaction.id} \n\nSee console for all available details`, ); }); }, diff --git a/packages/paypal-js/types/tests/server.test.ts b/packages/paypal-js/types/tests/server.test.ts index 10ddec76..3a4018c9 100644 --- a/packages/paypal-js/types/tests/server.test.ts +++ b/packages/paypal-js/types/tests/server.test.ts @@ -6,7 +6,7 @@ import type { function createOrder( // eslint-disable-next-line @typescript-eslint/no-unused-vars - createOrderRequestBody: CreateOrderRequestBody + createOrderRequestBody: CreateOrderRequestBody, ): Promise { return Promise.resolve({ id: "123456", status: "CREATED", links: [] }); } diff --git a/packages/react-paypal-js/.nvmrc b/packages/react-paypal-js/.nvmrc deleted file mode 100644 index 6f7f377b..00000000 --- a/packages/react-paypal-js/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v16 diff --git a/packages/react-paypal-js/.storybook/preview-head.html b/packages/react-paypal-js/.storybook/preview-head.html index e5edf0e7..4bc250ff 100644 --- a/packages/react-paypal-js/.storybook/preview-head.html +++ b/packages/react-paypal-js/.storybook/preview-head.html @@ -90,8 +90,11 @@ font-size: 1rem; line-height: 1.5; border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, - border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; cursor: pointer; } diff --git a/packages/react-paypal-js/README.md b/packages/react-paypal-js/README.md index 8ddca6d4..3b807ac1 100644 --- a/packages/react-paypal-js/README.md +++ b/packages/react-paypal-js/README.md @@ -299,7 +299,7 @@ const SubmitPayment = () => { }) .then((order) => { fetch( - "/your-server-side-integration-endpoint/capture-payment-info" + "/your-server-side-integration-endpoint/capture-payment-info", ) .then((response) => response.json()) .then((data) => { @@ -326,7 +326,7 @@ export default function App() { createOrder={() => { // Here define the call to create and order return fetch( - "/your-server-side-integration-endpoint/orders" + "/your-server-side-integration-endpoint/orders", ) .then((response) => response.json()) .then((order) => order.id) diff --git a/packages/react-paypal-js/lint-staged.config.js b/packages/react-paypal-js/lint-staged.config.js deleted file mode 100644 index 02cb27ee..00000000 --- a/packages/react-paypal-js/lint-staged.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - "**/*.ts?(x)": (filenames) => [ - "npm run typecheck", - `prettier --write ${filenames.join(" ")}`, - `eslint ${filenames.join(" ")}`, - ], - "**/*.js": (filenames) => [ - `prettier --write ${filenames.join(" ")}`, - `eslint ${filenames.join(" ")}`, - ], - "**/*.{json,css,html,md,yml}": (filenames) => - `prettier --write ${filenames.join(" ")}`, -}; diff --git a/packages/react-paypal-js/package.json b/packages/react-paypal-js/package.json index 92d3af00..954c09eb 100644 --- a/packages/react-paypal-js/package.json +++ b/packages/react-paypal-js/package.json @@ -21,8 +21,6 @@ "scripts": { "build": "rollup --config", "check-node-version": "node scripts/check-node-version.js", - "format": "prettier --write .", - "format:check": "prettier --check .", "lint": "eslint .", "prepack": "rimraf dist && npm run build && npm run type-declarations", "test": "jest --env=jsdom", @@ -35,7 +33,7 @@ "postrelease": "git push && git push --follow-tags && npm run build && npm publish", "typecheck": "tsc --noEmit", "type-declarations": "tsc --emitDeclarationOnly --outDir dist/types --project tsconfig.declarations.json", - "validate": "npm run check-node-version && npm run format:check && npm run typecheck && npm run build && npm run lint && npm test -- --coverage" + "validate": "npm run check-node-version && npm run typecheck && npm run build && npm run lint && npm test -- --coverage" }, "files": [ "dist" @@ -86,7 +84,6 @@ "husky": "^7.0.4", "jest": "^27.5.1", "jest-mock-extended": "^2.0.4", - "prettier": "^2.5.1", "react": "^16.14.0", "react-dom": "^16.14.0", "react-element-to-jsx-string": "^14.3.4", diff --git a/packages/react-paypal-js/scripts/check-node-version.js b/packages/react-paypal-js/scripts/check-node-version.js index 4545e1aa..0cbe0d06 100644 --- a/packages/react-paypal-js/scripts/check-node-version.js +++ b/packages/react-paypal-js/scripts/check-node-version.js @@ -4,11 +4,11 @@ const semver = require("semver"); const expectedNodeVersion = readFileSync( join(__dirname, "../", ".nvmrc"), - "utf-8" + "utf-8", ); const isValidNodeVersion = semver.satisfies( process.version, - expectedNodeVersion + expectedNodeVersion, ); // successfully exit when Node version is valid diff --git a/packages/react-paypal-js/src/components/PayPalButtons.test.tsx b/packages/react-paypal-js/src/components/PayPalButtons.test.tsx index 51f52a64..3718b5b9 100644 --- a/packages/react-paypal-js/src/components/PayPalButtons.test.tsx +++ b/packages/react-paypal-js/src/components/PayPalButtons.test.tsx @@ -64,7 +64,7 @@ describe("", () => { style={{ layout: "horizontal" }} message={{ amount: 100 }} /> - + , ); await waitFor(() => @@ -73,7 +73,7 @@ describe("", () => { message: { amount: 100 }, fundingSource: FUNDING.CREDIT, onInit: expect.any(Function), - }) + }), ); }); @@ -81,11 +81,13 @@ describe("", () => { render( - + , ); await waitFor(() => - expect(document.querySelector("div.custom-class-name")).toBeTruthy() + expect( + document.querySelector("div.custom-class-name"), + ).toBeTruthy(), ); }); @@ -99,12 +101,12 @@ describe("", () => { disabled={true} onInit={onInitCallbackMock} /> - + , ); await waitFor(() => { expect( - document.querySelector("div.paypal-buttons-disabled") + document.querySelector("div.paypal-buttons-disabled"), ).toBeTruthy(); }); expect(window.paypal?.Buttons).toHaveBeenCalled(); @@ -117,8 +119,8 @@ describe("", () => { act(() => (window.paypal?.Buttons as jest.Mock).mock.calls[0][0].onInit( {}, - onInitActions - ) + onInitActions, + ), ); await waitFor(() => { @@ -135,14 +137,14 @@ describe("", () => { disabled={true} onInit={jest.fn()} /> - + , ); await waitFor(() => { expect( container .querySelector("div.custom-class-name") - ?.classList.contains("paypal-buttons-disabled") + ?.classList.contains("paypal-buttons-disabled"), ).toBeTruthy(); }); const onInitActions = { @@ -154,8 +156,8 @@ describe("", () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any (window.paypal?.Buttons as jest.Mock).mock.calls[0][0]?.onInit( {}, - onInitActions - ) + onInitActions, + ), ); rerender( @@ -164,7 +166,7 @@ describe("", () => { disabled={false} onInit={onInitActions.enable} /> - + , ); await waitFor(() => { expect(onInitActions.enable).toBeCalled(); @@ -172,7 +174,7 @@ describe("", () => { expect( container ?.querySelector("div.custom-class-name") - ?.classList.contains("paypal-buttons-disabled") + ?.classList.contains("paypal-buttons-disabled"), ).toBeFalsy(); }); @@ -196,25 +198,25 @@ describe("", () => { render( - + , ); await waitFor(() => - expect(window.paypal?.Buttons).toHaveBeenCalledTimes(1) + expect(window.paypal?.Buttons).toHaveBeenCalledTimes(1), ); fireEvent.click(screen.getByText("Update Amount")); // confirm re-render when the forceReRender value changes for first item await waitFor(() => - expect(window.paypal?.Buttons).toHaveBeenCalledTimes(2) + expect(window.paypal?.Buttons).toHaveBeenCalledTimes(2), ); fireEvent.click(screen.getByText("Update Currency")); // confirm re-render when the forceReRender value changes for second item await waitFor(() => - expect(window.paypal?.Buttons).toHaveBeenCalledTimes(3) + expect(window.paypal?.Buttons).toHaveBeenCalledTimes(3), ); }); window.paypal?.Buttons as jest.Mock; @@ -237,22 +239,24 @@ describe("", () => { render( - + , ); await waitFor(() => - expect(window.paypal?.Buttons).toHaveBeenCalledTimes(1) + expect(window.paypal?.Buttons).toHaveBeenCalledTimes(1), ); expect(screen.getByTestId("orderID").innerHTML).toBe("1"); await act(() => // call createOrder() to trigger a state change - (window.paypal?.Buttons as jest.Mock).mock.calls[0][0].createOrder() + ( + window.paypal?.Buttons as jest.Mock + ).mock.calls[0][0].createOrder(), ); await waitFor(() => - expect(screen.getByTestId("orderID").innerHTML).toBe("2") + expect(screen.getByTestId("orderID").innerHTML).toBe("2"), ); // confirm that the Buttons were NOT reset by a side-effect in createOrder() @@ -271,7 +275,7 @@ describe("", () => { render( - + , ); // defaults to rendering null when ineligible @@ -280,11 +284,11 @@ describe("", () => { }); expect( (window.paypal?.Buttons as jest.Mock).mock.results[0].value - .isEligible + .isEligible, ).toBeCalled(); expect( (window.paypal?.Buttons as jest.Mock).mock.results[0].value - .isEligible.mock.results[0].value + .isEligible.mock.results[0].value, ).toBeFalsy(); }); @@ -300,7 +304,7 @@ describe("", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -325,7 +329,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -359,7 +363,7 @@ describe("", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -378,7 +382,7 @@ describe("", () => { options?.fundingSource === "venmo" ) { throw new Error( - "Unexpected style.color for venmo button: gold, expected blue, silver, black, white" + "Unexpected style.color for venmo button: gold, expected blue, silver, black, white", ); } return mockPaypalButtonsComponent; @@ -398,7 +402,7 @@ describe("", () => { fundingSource={FUNDING.VENMO} /> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalled()); @@ -406,7 +410,7 @@ describe("", () => { expect.objectContaining({ message: "Failed to render component. Failed to initialize: Error: Unexpected style.color for venmo button: gold, expected blue, silver, black, white", - }) + }), ); spyConsoleError.mockRestore(); }); @@ -433,12 +437,12 @@ describe("", () => { const { container } = render( - + , ); await waitFor(() => expect(mockRender).toBeCalled()); expect( - container.querySelector("div.test-children")?.hasChildNodes() + container.querySelector("div.test-children")?.hasChildNodes(), ).toBeFalsy(); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/PayPalButtons.tsx b/packages/react-paypal-js/src/components/PayPalButtons.tsx index 7f101be1..2186cfec 100644 --- a/packages/react-paypal-js/src/components/PayPalButtons.tsx +++ b/packages/react-paypal-js/src/components/PayPalButtons.tsx @@ -41,8 +41,8 @@ export const PayPalButtons: FunctionComponent = ({ if (buttons.current?.updateProps) { buttons.current.updateProps({ - message: buttonProps.message - }) + message: buttonProps.message, + }); } // useEffect hook for rendering the buttons @@ -53,7 +53,7 @@ export const PayPalButtons: FunctionComponent = ({ } const paypalWindowNamespace = getPayPalWindowNamespace( - options.dataNamespace + options.dataNamespace, ); // verify dependency on window object @@ -68,7 +68,7 @@ export const PayPalButtons: FunctionComponent = ({ sdkComponentKey: "buttons", sdkRequestedComponents: options.components, sdkDataNamespace: options[SDK_SETTINGS.DATA_NAMESPACE], - }) + }), ); }); return closeButtonsComponent; @@ -76,7 +76,7 @@ export const PayPalButtons: FunctionComponent = ({ const decoratedOnInit = ( data: Record, - actions: OnInitActions + actions: OnInitActions, ) => { setInitActions(actions); if (typeof buttonProps.onInit === "function") { @@ -92,7 +92,7 @@ export const PayPalButtons: FunctionComponent = ({ } catch (err) { return setErrorState(() => { throw new Error( - `Failed to render component. Failed to initialize: ${err}` + `Failed to render component. Failed to initialize: ${err}`, ); }); } @@ -119,18 +119,14 @@ export const PayPalButtons: FunctionComponent = ({ // paypal buttons container is still in the DOM setErrorState(() => { throw new Error( - `Failed to render component. ${err}` + `Failed to render component. ${err}`, ); }); }); return closeButtonsComponent; // eslint-disable-next-line react-hooks/exhaustive-deps - }, [ - isResolved, - ...forceReRender, - buttonProps.fundingSource - ]); + }, [isResolved, ...forceReRender, buttonProps.fundingSource]); // useEffect hook for managing disabled state useEffect(() => { diff --git a/packages/react-paypal-js/src/components/PayPalMarks.test.tsx b/packages/react-paypal-js/src/components/PayPalMarks.test.tsx index 3e810adf..0d39588d 100644 --- a/packages/react-paypal-js/src/components/PayPalMarks.test.tsx +++ b/packages/react-paypal-js/src/components/PayPalMarks.test.tsx @@ -47,13 +47,13 @@ describe("", () => { options={{ clientId: "test", components: "marks" }} > - + , ); await waitFor(() => expect(window.paypal?.Marks).toHaveBeenCalledWith({ fundingSource: FUNDING.CREDIT, - }) + }), ); }); @@ -71,11 +71,13 @@ describe("", () => { options={{ clientId: "test", components: "marks" }} > - + , ); await waitFor(() => - expect(document.querySelector("div.custom-class-name")).toBeTruthy() + expect( + document.querySelector("div.custom-class-name"), + ).toBeTruthy(), ); }); @@ -87,7 +89,7 @@ describe("", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -110,7 +112,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -131,7 +133,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -163,7 +165,7 @@ describe("", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -191,7 +193,7 @@ describe("", () => { render( - + , ); await waitFor(() => expect(mockRender).toBeCalled()); @@ -216,13 +218,14 @@ describe("", () => {
- + , ); await waitFor(() => expect( - container.querySelector(".ineligible") instanceof HTMLDivElement - ).toBeTruthy() + container.querySelector(".ineligible") instanceof + HTMLDivElement, + ).toBeTruthy(), ); expect(container.querySelector(".mark-container")).toBeNull(); expect(mockIsEligible).toBeCalledTimes(1); @@ -250,7 +253,7 @@ describe("", () => { const { rerender } = render( - + , ); await waitFor(() => expect(mockRender).toBeCalledTimes(1)); @@ -258,7 +261,7 @@ describe("", () => { rerender( - + , ); await waitFor(() => expect(mockRender).toBeCalledTimes(2)); diff --git a/packages/react-paypal-js/src/components/PayPalMarks.tsx b/packages/react-paypal-js/src/components/PayPalMarks.tsx index c0b91638..82dab5c5 100644 --- a/packages/react-paypal-js/src/components/PayPalMarks.tsx +++ b/packages/react-paypal-js/src/components/PayPalMarks.tsx @@ -60,7 +60,7 @@ export const PayPalMarks: FC = ({ // paypal marks container is still in the DOM setErrorState(() => { throw new Error( - `Failed to render component. ${err}` + `Failed to render component. ${err}`, ); }); }); @@ -73,7 +73,7 @@ export const PayPalMarks: FC = ({ } const paypalWindowNamespace = getPayPalWindowNamespace( - options[SDK_SETTINGS.DATA_NAMESPACE] + options[SDK_SETTINGS.DATA_NAMESPACE], ); // verify dependency on window object @@ -88,7 +88,7 @@ export const PayPalMarks: FC = ({ sdkComponentKey: "marks", sdkRequestedComponents: options.components, sdkDataNamespace: options[SDK_SETTINGS.DATA_NAMESPACE], - }) + }), ); }); } diff --git a/packages/react-paypal-js/src/components/PayPalMessages.test.tsx b/packages/react-paypal-js/src/components/PayPalMessages.test.tsx index 47dbc75d..2bd23458 100644 --- a/packages/react-paypal-js/src/components/PayPalMessages.test.tsx +++ b/packages/react-paypal-js/src/components/PayPalMessages.test.tsx @@ -47,11 +47,11 @@ describe("", () => { options={{ clientId: "test", components: "messages" }} > - + , ); await waitFor(() => - expect(window.paypal?.Messages).toHaveBeenCalledWith({ style }) + expect(window.paypal?.Messages).toHaveBeenCalledWith({ style }), ); }); @@ -68,13 +68,13 @@ describe("", () => { options={{ clientId: "test", components: "messages" }} > - + , ); await waitFor(() => expect( - container.querySelector("div.custom-class-name") - ).not.toBeNull() + container.querySelector("div.custom-class-name"), + ).not.toBeNull(), ); }); @@ -88,7 +88,7 @@ describe("", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -114,7 +114,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -145,7 +145,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(mockRender).toBeCalled()); @@ -180,7 +180,7 @@ describe("", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); diff --git a/packages/react-paypal-js/src/components/PayPalMessages.tsx b/packages/react-paypal-js/src/components/PayPalMessages.tsx index 6bde2400..8d63b55f 100644 --- a/packages/react-paypal-js/src/components/PayPalMessages.tsx +++ b/packages/react-paypal-js/src/components/PayPalMessages.tsx @@ -37,7 +37,7 @@ export const PayPalMessages: FC = ({ } const paypalWindowNamespace = getPayPalWindowNamespace( - options[SDK_SETTINGS.DATA_NAMESPACE] + options[SDK_SETTINGS.DATA_NAMESPACE], ); // verify dependency on window object @@ -53,7 +53,7 @@ export const PayPalMessages: FC = ({ sdkComponentKey: "messages", sdkRequestedComponents: options.components, sdkDataNamespace: options[SDK_SETTINGS.DATA_NAMESPACE], - }) + }), ); }); } @@ -76,7 +76,7 @@ export const PayPalMessages: FC = ({ // paypal messages container is still in the DOM setErrorState(() => { throw new Error( - `Failed to render component. ${err}` + `Failed to render component. ${err}`, ); }); }); diff --git a/packages/react-paypal-js/src/components/PayPalScriptProvider.test.tsx b/packages/react-paypal-js/src/components/PayPalScriptProvider.test.tsx index f3c75a8b..750fef23 100644 --- a/packages/react-paypal-js/src/components/PayPalScriptProvider.test.tsx +++ b/packages/react-paypal-js/src/components/PayPalScriptProvider.test.tsx @@ -30,7 +30,7 @@ describe("", () => { beforeEach(() => { document.head.innerHTML = ""; (loadScript as jest.Mock).mockImplementation( - loadScriptMockImplementation + loadScriptMockImplementation, ); }); @@ -43,7 +43,7 @@ describe("", () => { render( - + , ); expect(loadScript).toHaveBeenCalledWith({ clientId: "test", @@ -70,7 +70,7 @@ describe("", () => { render( - + , ); expect(loadScript).toHaveBeenCalledWith({ clientId: "test", @@ -98,7 +98,7 @@ describe("", () => { const { unmount } = render( - + , ); unmount(); @@ -122,7 +122,7 @@ describe("", () => { options={{ clientId: "test" }} > - + , ); // verify initial state @@ -136,7 +136,7 @@ describe("", () => { options={{ clientId: "test" }} > - + , ); expect(loadScript).toHaveBeenCalledWith({ @@ -163,7 +163,7 @@ describe("", () => { const { unmount } = render( - + , ); // unmount to simulate getting removed from the DOM @@ -172,7 +172,7 @@ describe("", () => { render( - + , ); await waitFor(() => expect(state.isResolved).toBeTruthy()); @@ -188,7 +188,7 @@ describe("usePayPalScriptReducer", () => { beforeEach(() => { document.head.innerHTML = ""; (loadScript as jest.Mock).mockImplementation( - loadScriptMockImplementation + loadScriptMockImplementation, ); }); @@ -201,7 +201,7 @@ describe("usePayPalScriptReducer", () => { render( - + , ); expect(state.options).toHaveProperty("clientId", "test"); @@ -230,7 +230,7 @@ describe("usePayPalScriptReducer", () => { options={{ clientId: "xyz", disableFunding: "card" }} /> - + , ); expect(state.options).toMatchObject({ clientId: "abc" }); @@ -245,7 +245,7 @@ describe("usePayPalScriptReducer", () => { const secondScriptID = state.options[SCRIPT_ID]; expect( - document.querySelector(`script[${SCRIPT_ID}="${secondScriptID}"]`) + document.querySelector(`script[${SCRIPT_ID}="${secondScriptID}"]`), ).toBeTruthy(); expect(firstScriptID).not.toBe(secondScriptID); diff --git a/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.test.tsx b/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.test.tsx index dbe22413..f927efd5 100644 --- a/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.test.tsx +++ b/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.test.tsx @@ -58,7 +58,7 @@ const setup = () => { (loadScript as jest.Mock).mockResolvedValue(window.paypal); (loadCustomScript as jest.Mock).mockResolvedValue( // eslint-disable-next-line @typescript-eslint/no-explicit-any - (window as any).braintree + (window as any).braintree, ); }; @@ -86,7 +86,7 @@ describe("Braintree PayPal button fail in mount process", () => { errorMessage = (ex as Error).message; } expect(errorMessage).toEqual( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" + "usePayPalScriptReducer must be used within a PayPalScriptProvider", ); expect(console.error).toHaveBeenCalled(); }); @@ -100,13 +100,13 @@ describe("Braintree PayPal button fail in mount process", () => { // @ts-expect-error this test case validates that the options property is required - + , ); } catch (ex) { errorMessage = (ex as Error).message; } expect(errorMessage).toEqual( - EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE + EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE, ); expect(console.error).toHaveBeenCalled(); }); @@ -119,13 +119,13 @@ describe("Braintree PayPal button fail in mount process", () => { render( - + , ); } catch (ex) { errorMessage = (ex as Error).message; } expect(errorMessage).toEqual( - EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE + EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE, ); expect(console.error).toHaveBeenCalled(); }); @@ -143,14 +143,14 @@ describe("Braintree PayPal button fail in mount process", () => { }} > - + , ); } catch (ex) { errorMessage = (ex as Error).message; } expect(errorMessage).toEqual( - EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE + EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE, ); expect(console.error).toHaveBeenCalled(); }); @@ -172,7 +172,7 @@ describe("Braintree PayPal button fail in mount process", () => { }} > - + , ); } catch (ex) { errorMessage = (ex as Error).message; @@ -189,7 +189,7 @@ describe("Braintree PayPal button fail in mount process", () => { .spyOn(console, "error") .mockImplementation(); (loadCustomScript as jest.Mock).mockRejectedValue( - new Error("Server Error") + new Error("Server Error"), ); render( @@ -201,14 +201,14 @@ describe("Braintree PayPal button fail in mount process", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalled()); expect(onError.mock.calls[0][0]).toEqual( expect.objectContaining({ message: `${LOAD_SCRIPT_ERROR} Error: Server Error`, - }) + }), ); spyConsoleError.mockRestore(); }); @@ -231,14 +231,14 @@ describe("Braintree PayPal button fail in mount process", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalled()); expect(onError.mock.calls[0][0]).toEqual( expect.objectContaining({ message: `${LOAD_SCRIPT_ERROR} Error: Cannot create the Braintree client`, - }) + }), ); spyConsoleError.mockRestore(); }); @@ -259,14 +259,14 @@ describe("Braintree PayPal button fail in mount process", () => { > , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalled()); expect(onError.mock.calls[0][0]).toEqual( expect.objectContaining({ message: `${LOAD_SCRIPT_ERROR} TypeError: Cannot read properties of null (reading 'client')`, - }) + }), ); spyConsoleError.mockRestore(); }); @@ -284,7 +284,7 @@ describe("render Braintree PayPal button component", () => { }} > - + , ); await waitFor(() => { @@ -293,16 +293,16 @@ describe("render Braintree PayPal button component", () => { clientId: "test", dataClientToken: CLIENT_TOKEN, "data-react-paypal-script-id": expect.any(String), - }) + }), ); }); expect(loadCustomScript).toHaveBeenCalledWith( - expect.objectContaining({ url: BRAINTREE_SOURCE }) + expect.objectContaining({ url: BRAINTREE_SOURCE }), ); expect(loadCustomScript).toHaveBeenLastCalledWith( expect.objectContaining({ url: BRAINTREE_PAYPAL_CHECKOUT_SOURCE, - }) + }), ); }); @@ -321,7 +321,7 @@ describe("render Braintree PayPal button component", () => { createOrder={jest.fn()} onApprove={jest.fn()} /> - + , ); await waitFor(() => { @@ -355,7 +355,7 @@ describe("render Braintree PayPal button component", () => { createOrder={jest.fn()} onApprove={jest.fn()} /> - + , ); await waitFor(() => { diff --git a/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.tsx b/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.tsx index d6bcb880..c65099ae 100644 --- a/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.tsx +++ b/packages/react-paypal-js/src/components/braintree/BraintreePayPalButtons.tsx @@ -81,7 +81,7 @@ export const BraintreePayPalButtons: FC< forceReRender={forceReRender} {...(decorateActions( buttonProps, - providerContext.braintreePayPalCheckoutInstance + providerContext.braintreePayPalCheckoutInstance, ) as PayPalButtonsComponentProps)} > {children} diff --git a/packages/react-paypal-js/src/components/braintree/utils.test.ts b/packages/react-paypal-js/src/components/braintree/utils.test.ts index c7f9d1ad..0e28df81 100644 --- a/packages/react-paypal-js/src/components/braintree/utils.test.ts +++ b/packages/react-paypal-js/src/components/braintree/utils.test.ts @@ -39,7 +39,7 @@ describe("decorateActions", () => { "onClick": [MockFunction], "onInit": [MockFunction], } - ` + `, ); }); @@ -52,7 +52,7 @@ describe("decorateActions", () => { createOrder: jest .fn() .mockImplementation( - (data, actions) => actions.braintree.create !== undefined + (data, actions) => actions.braintree.create !== undefined, ), }; @@ -60,7 +60,7 @@ describe("decorateActions", () => { const buttonProps = decorateActions( buttonPropsWithCreateOrder, - mockedCheckout + mockedCheckout, ); if (!buttonProps) { @@ -72,7 +72,7 @@ describe("decorateActions", () => { const mockedCreateOrderActions = mock(); expect( - buttonProps.createOrder({}, mockedCreateOrderActions) + buttonProps.createOrder({}, mockedCreateOrderActions), ).toBeTruthy(); }); @@ -86,7 +86,7 @@ describe("decorateActions", () => { .fn() .mockImplementation( (data, actions) => - actions.braintree.createBillingAgreement !== undefined + actions.braintree.createBillingAgreement !== undefined, ), }; @@ -94,7 +94,7 @@ describe("decorateActions", () => { const buttonProps = decorateActions( buttonPropsWithCreateBillingAgreement, - mockedCheckout + mockedCheckout, ); if (!buttonProps) { @@ -109,8 +109,8 @@ describe("decorateActions", () => { expect( buttonProps.createBillingAgreement( {}, - mockedCreateBillingAgreementActions - ) + mockedCreateBillingAgreementActions, + ), ).toBeTruthy(); }); @@ -123,7 +123,7 @@ describe("decorateActions", () => { onApprove: jest .fn() .mockImplementation( - (data, actions) => actions.braintree.create !== undefined + (data, actions) => actions.braintree.create !== undefined, ), }; @@ -131,7 +131,7 @@ describe("decorateActions", () => { const buttonProps = decorateActions( buttonPropsWithOnApprove, - mockedCheckout + mockedCheckout, ); if (!buttonProps) { @@ -143,7 +143,7 @@ describe("decorateActions", () => { const mockedOnApproveData = mock(); const mockedOnApproveActions = mock(); expect( - buttonProps.onApprove(mockedOnApproveData, mockedOnApproveActions) + buttonProps.onApprove(mockedOnApproveData, mockedOnApproveActions), ).toBeTruthy(); }); }); @@ -170,7 +170,7 @@ describe("getBraintreeNamespace", () => { }, }; (getBraintreeWindowNamespace as jest.Mock).mockReturnValue( - braintreeNamespace + braintreeNamespace, ); test("should return Braintree namespace from argument", async () => { @@ -190,7 +190,7 @@ describe("getBraintreeNamespace", () => { getBraintreeNamespace(mock()); } catch (err) { expect((err as Error).message).toEqual( - "The braintreeNamespace property is not a valid BraintreeNamespace type." + "The braintreeNamespace property is not a valid BraintreeNamespace type.", ); } }); diff --git a/packages/react-paypal-js/src/components/braintree/utils.ts b/packages/react-paypal-js/src/components/braintree/utils.ts index 3b361e89..f0953a5c 100644 --- a/packages/react-paypal-js/src/components/braintree/utils.ts +++ b/packages/react-paypal-js/src/components/braintree/utils.ts @@ -22,7 +22,7 @@ const isValidBraintreeNamespace = (braintreeSource?: BraintreeNamespace) => { typeof braintreeSource?.paypalCheckout?.create !== "function" ) { throw new Error( - "The braintreeNamespace property is not a valid BraintreeNamespace type." + "The braintreeNamespace property is not a valid BraintreeNamespace type.", ); } return true; @@ -37,7 +37,7 @@ const isValidBraintreeNamespace = (braintreeSource?: BraintreeNamespace) => { */ export const decorateActions = ( buttonProps: BraintreePayPalButtonsComponentProps, - payPalCheckoutInstance: BraintreePayPalCheckout + payPalCheckoutInstance: BraintreePayPalCheckout, ): BraintreePayPalButtonsComponentProps => { const createOrderRef = buttonProps.createOrder; const createBillingAgreementRef = buttonProps.createBillingAgreement; @@ -86,7 +86,7 @@ export const decorateActions = ( * @returns the {@link BraintreeNamespace} */ export const getBraintreeNamespace = ( - braintreeSource?: BraintreeNamespace + braintreeSource?: BraintreeNamespace, ): Promise => { if (braintreeSource && isValidBraintreeNamespace(braintreeSource)) { return Promise.resolve(braintreeSource); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalCVVField.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalCVVField.test.tsx index 76198c8c..5c4a9c6d 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalCVVField.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalCVVField.test.tsx @@ -22,7 +22,7 @@ const CardFields = jest.fn( render: jest.fn(() => Promise.resolve()), close: jest.fn(() => Promise.resolve()), }), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ); const wrapper = ({ children }: { children: ReactNode }) => ( Error} onError={onError}> @@ -75,12 +75,12 @@ describe("PayPalCVVField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(CVVField).toHaveBeenCalledWith( - expect.objectContaining({ style: { input: { color: "black" } } }) + expect.objectContaining({ style: { input: { color: "black" } } }), ); spyConsoleError.mockRestore(); @@ -116,7 +116,7 @@ describe("PayPalCVVField", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -128,7 +128,7 @@ describe("PayPalCVVField", () => { onBlur: mockOnBlur, onInputSubmitRequest: mockOnInputSubmitRequest, }, - }) + }), ); spyConsoleError.mockRestore(); @@ -157,14 +157,14 @@ describe("PayPalCVVField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(CVVField).toHaveBeenCalledWith( expect.objectContaining({ placeholder: "custom-place-holder", - }) + }), ); spyConsoleError.mockRestore(); @@ -193,7 +193,7 @@ describe("PayPalCVVField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -213,12 +213,12 @@ describe("PayPalCVVField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(1)); expect(onError.mock.calls[0][0].message).toBe( - CARD_FIELDS_CONTEXT_ERROR + CARD_FIELDS_CONTEXT_ERROR, ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalCardField.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalCardField.tsx index 76ca67fa..16ed62df 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalCardField.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalCardField.tsx @@ -40,7 +40,7 @@ export const PayPalCardField: React.FC< const registeredField = registerField( fieldName, options, - cardFieldsForm + cardFieldsForm, ); registeredField?.render(containerRef.current).catch((err) => { @@ -51,7 +51,7 @@ export const PayPalCardField: React.FC< // Component is still in the DOM setError(() => { throw new Error( - `Failed to render component. ${err}` + `Failed to render component. ${err}`, ); }); }); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsForm.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsForm.test.tsx index cb879e21..92698660 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsForm.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsForm.test.tsx @@ -37,7 +37,7 @@ const CardFields = jest.fn( render: jest.fn(() => Promise.resolve()), close: jest.fn(() => Promise.resolve()), }), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ); const wrapper = ({ children }: { children: ReactNode }) => ( Error} onError={onError}> @@ -90,14 +90,14 @@ describe("PayPalCardFieldsForm", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(CardFields).toBeCalledWith( expect.objectContaining({ style: { input: { color: "black" } }, - }) + }), ); spyConsoleError.mockRestore(); @@ -131,7 +131,7 @@ describe("PayPalCardFieldsForm", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -143,7 +143,7 @@ describe("PayPalCardFieldsForm", () => { onBlur: mockOnBlur, onInputSubmitRequest: mockOnInputSubmitRequest, }, - }) + }), ); spyConsoleError.mockRestore(); @@ -172,7 +172,7 @@ describe("PayPalCardFieldsForm", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -192,12 +192,12 @@ describe("PayPalCardFieldsForm", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(4)); // 4 times, 1 for each field in the form. expect(onError.mock.calls[0][0].message).toBe( - CARD_FIELDS_CONTEXT_ERROR + CARD_FIELDS_CONTEXT_ERROR, ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.test.tsx index e1268be5..570ff308 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.test.tsx @@ -73,7 +73,7 @@ describe("PayPalCardFieldsProvider", () => { NameField: jest.fn().mockReturnValue(happyMethods), CVVField: jest.fn().mockReturnValue(happyMethods), ExpiryField: jest.fn().mockReturnValue(happyMethods), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ), version: "", }; @@ -98,12 +98,12 @@ describe("PayPalCardFieldsProvider", () => { > <> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); expect(onError.mock.calls[0][0].message).toEqual( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" + "usePayPalScriptReducer must be used within a PayPalScriptProvider", ); spyConsoleError.mockRestore(); }); @@ -134,12 +134,12 @@ describe("PayPalCardFieldsProvider", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); expect(onError.mock.calls[0][0].message).toEqual( - CARD_FIELDS_DUPLICATE_CHILDREN_ERROR + CARD_FIELDS_DUPLICATE_CHILDREN_ERROR, ); spyConsoleError.mockRestore(); @@ -170,7 +170,7 @@ describe("PayPalCardFieldsProvider", () => { - + , ); await waitFor(() => { expect(loadScript).toBeCalled(); @@ -187,7 +187,7 @@ describe("PayPalCardFieldsProvider", () => { () => ({ isEligible: jest.fn().mockReturnValue(false), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ), version: "", }; @@ -211,7 +211,7 @@ describe("PayPalCardFieldsProvider", () => { - + , ); await waitFor(() => { expect(getMockElementsRendered().length).toEqual(0); @@ -228,7 +228,7 @@ describe("PayPalCardFieldsProvider", () => { ({ isEligible: jest.fn().mockReturnValue(true), NumberField: jest.fn(() => unHappyMethods), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ), version: "", }; @@ -250,12 +250,12 @@ describe("PayPalCardFieldsProvider", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); expect(onError.mock.calls[0][0].message).toEqual( - "Failed to render component. Unknown error" + "Failed to render component. Unknown error", ); spyConsoleError.mockRestore(); }); @@ -284,7 +284,7 @@ describe("PayPalCardFieldsProvider", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalled()); @@ -312,7 +312,7 @@ describe("PayPalCardFieldsProvider", () => { - + , ); await waitFor(() => { @@ -344,7 +344,7 @@ describe("PayPalCardFieldsProvider", () => { render: mockRender, close: happyMethods.close, })), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ), version: "", }; @@ -368,7 +368,7 @@ describe("PayPalCardFieldsProvider", () => { - + , ); await waitFor(() => expect(mockRender).toHaveBeenCalledTimes(3)); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.tsx index bf8f244c..fdb343da 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalCardFieldsProvider.tsx @@ -52,14 +52,14 @@ export const PayPalCardFieldsProvider = ({ try { cardFieldsInstance.current = getPayPalWindowNamespace( - options[SDK_SETTINGS.DATA_NAMESPACE] + options[SDK_SETTINGS.DATA_NAMESPACE], ).CardFields?.({ ...props, }) ?? null; } catch (error) { setError(() => { throw new Error( - `Failed to render component. Failed to initialize: ${error}` + `Failed to render component. Failed to initialize: ${error}`, ); }); return; @@ -72,7 +72,7 @@ export const PayPalCardFieldsProvider = ({ components: options.components, [SDK_SETTINGS.DATA_NAMESPACE]: options[SDK_SETTINGS.DATA_NAMESPACE], - }) + }), ); }); return; diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalExpiryField.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalExpiryField.test.tsx index f7a63663..a07e23b3 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalExpiryField.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalExpiryField.test.tsx @@ -22,7 +22,7 @@ const CardFields = jest.fn( render: jest.fn(() => Promise.resolve()), close: jest.fn(() => Promise.resolve()), }), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ); const wrapper = ({ children }: { children: ReactNode }) => ( Error} onError={onError}> @@ -75,12 +75,12 @@ describe("PayPalExpiryField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(ExpiryField).toHaveBeenCalledWith( - expect.objectContaining({ style: { input: { color: "black" } } }) + expect.objectContaining({ style: { input: { color: "black" } } }), ); spyConsoleError.mockRestore(); @@ -116,7 +116,7 @@ describe("PayPalExpiryField", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -128,7 +128,7 @@ describe("PayPalExpiryField", () => { onBlur: mockOnBlur, onInputSubmitRequest: mockOnInputSubmitRequest, }, - }) + }), ); spyConsoleError.mockRestore(); @@ -157,14 +157,14 @@ describe("PayPalExpiryField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(ExpiryField).toHaveBeenCalledWith( expect.objectContaining({ placeholder: "custom-place-holder", - }) + }), ); spyConsoleError.mockRestore(); @@ -193,7 +193,7 @@ describe("PayPalExpiryField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -213,12 +213,12 @@ describe("PayPalExpiryField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(1)); expect(onError.mock.calls[0][0].message).toBe( - CARD_FIELDS_CONTEXT_ERROR + CARD_FIELDS_CONTEXT_ERROR, ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalNameField.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalNameField.test.tsx index b4271d5a..16800149 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalNameField.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalNameField.test.tsx @@ -22,7 +22,7 @@ const CardFields = jest.fn( render: jest.fn(() => Promise.resolve()), close: jest.fn(() => Promise.resolve()), }), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ); const wrapper = ({ children }: { children: ReactNode }) => ( Error} onError={onError}> @@ -75,12 +75,12 @@ describe("PayPalNameField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(NameField).toHaveBeenCalledWith( - expect.objectContaining({ style: { input: { color: "black" } } }) + expect.objectContaining({ style: { input: { color: "black" } } }), ); spyConsoleError.mockRestore(); @@ -116,7 +116,7 @@ describe("PayPalNameField", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -128,7 +128,7 @@ describe("PayPalNameField", () => { onBlur: mockOnBlur, onInputSubmitRequest: mockOnInputSubmitRequest, }, - }) + }), ); spyConsoleError.mockRestore(); @@ -157,14 +157,14 @@ describe("PayPalNameField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(NameField).toHaveBeenCalledWith( expect.objectContaining({ placeholder: "custom-place-holder", - }) + }), ); spyConsoleError.mockRestore(); @@ -193,7 +193,7 @@ describe("PayPalNameField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -213,12 +213,12 @@ describe("PayPalNameField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(1)); expect(onError.mock.calls[0][0].message).toBe( - CARD_FIELDS_CONTEXT_ERROR + CARD_FIELDS_CONTEXT_ERROR, ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/cardFields/PayPalNumberField.test.tsx b/packages/react-paypal-js/src/components/cardFields/PayPalNumberField.test.tsx index 57a78846..e30de5f0 100644 --- a/packages/react-paypal-js/src/components/cardFields/PayPalNumberField.test.tsx +++ b/packages/react-paypal-js/src/components/cardFields/PayPalNumberField.test.tsx @@ -22,7 +22,7 @@ const CardFields = jest.fn( render: jest.fn(() => Promise.resolve()), close: jest.fn(() => Promise.resolve()), }), - } as unknown as PayPalCardFieldsComponent) + }) as unknown as PayPalCardFieldsComponent, ); const wrapper = ({ children }: { children: ReactNode }) => ( Error} onError={onError}> @@ -75,12 +75,12 @@ describe("PayPalNumberField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(NumberField).toHaveBeenCalledWith( - expect.objectContaining({ style: { input: { color: "black" } } }) + expect.objectContaining({ style: { input: { color: "black" } } }), ); spyConsoleError.mockRestore(); @@ -116,7 +116,7 @@ describe("PayPalNumberField", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -128,7 +128,7 @@ describe("PayPalNumberField", () => { onBlur: mockOnBlur, onInputSubmitRequest: mockOnInputSubmitRequest, }, - }) + }), ); spyConsoleError.mockRestore(); @@ -157,14 +157,14 @@ describe("PayPalNumberField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); expect(NumberField).toHaveBeenCalledWith( expect.objectContaining({ placeholder: "custom-place-holder", - }) + }), ); spyConsoleError.mockRestore(); @@ -193,7 +193,7 @@ describe("PayPalNumberField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toHaveBeenCalledTimes(0)); @@ -213,12 +213,12 @@ describe("PayPalNumberField", () => { , - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(1)); expect(onError.mock.calls[0][0].message).toBe( - CARD_FIELDS_CONTEXT_ERROR + CARD_FIELDS_CONTEXT_ERROR, ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/cardFields/hooks.ts b/packages/react-paypal-js/src/components/cardFields/hooks.ts index 6118ad11..7a3a6831 100644 --- a/packages/react-paypal-js/src/components/cardFields/hooks.ts +++ b/packages/react-paypal-js/src/components/cardFields/hooks.ts @@ -22,7 +22,7 @@ export type RegistryHookReturnType = { registerField: ( fieldName: FieldComponentName, options: PayPalCardFieldsIndividualFieldOptions, - cardFields: PayPalCardFieldsComponent | null + cardFields: PayPalCardFieldsComponent | null, ) => PayPalCardFieldsIndividualField | void; unregisterField: (field: FieldComponentName) => void; }; diff --git a/packages/react-paypal-js/src/components/cardFields/utils.ts b/packages/react-paypal-js/src/components/cardFields/utils.ts index 5f73b24a..5c80656b 100644 --- a/packages/react-paypal-js/src/components/cardFields/utils.ts +++ b/packages/react-paypal-js/src/components/cardFields/utils.ts @@ -33,7 +33,7 @@ export function ignore(): void { } export function hasChildren( - container: React.RefObject + container: React.RefObject, ): boolean { return !!container.current?.children.length; } diff --git a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.test.tsx b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.test.tsx index a094b47b..a9c9f627 100644 --- a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.test.tsx +++ b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.test.tsx @@ -21,13 +21,13 @@ const providerRender = ( { providerProps, ...renderOptions - }: { providerProps: ProviderProps } + }: { providerProps: ProviderProps }, ) => { return render( {ui} , - renderOptions + renderOptions, ); }; const defaultProviderValue = { @@ -46,11 +46,11 @@ describe("PayPalHostedField", () => { options={{ selector: "#number" }} /> , - defaultProviderValue + defaultProviderValue, ); expect( - container.querySelector("#number") instanceof HTMLDivElement + container.querySelector("#number") instanceof HTMLDivElement, ).toBeTruthy(); }); @@ -61,7 +61,7 @@ describe("PayPalHostedField", () => { hostedFieldType={PAYPAL_HOSTED_FIELDS_TYPES.NUMBER} options={{ selector: ".class1" }} />, - defaultProviderValue + defaultProviderValue, ); const renderedElement = container.querySelector(".class1"); @@ -80,7 +80,7 @@ describe("PayPalHostedField", () => { hostedFieldType={PAYPAL_HOSTED_FIELDS_TYPES.NUMBER} options={{ selector: ".number" }} />, - defaultProviderValue + defaultProviderValue, ); const renderedElement = container.querySelector(".number"); @@ -103,12 +103,12 @@ describe("PayPalHostedField", () => { hostedFieldType={PAYPAL_HOSTED_FIELDS_TYPES.NUMBER} options={{ selector: ".number" }} />, - { wrapper } + { wrapper }, ); await waitFor(() => expect(onError).toBeCalledTimes(1)); expect(onError.mock.calls[0][0].message).toBe( - "The HostedField cannot be register in the PayPalHostedFieldsProvider parent component" + "The HostedField cannot be register in the PayPalHostedFieldsProvider parent component", ); spyConsoleError.mockRestore(); }); diff --git a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.tsx b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.tsx index cfa50740..52af198f 100644 --- a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.tsx +++ b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedField.tsx @@ -32,7 +32,7 @@ export const PayPalHostedField: FC = ({ useEffect(() => { if (!hostedFieldContext?.registerHostedField) { throw new Error( - "The HostedField cannot be register in the PayPalHostedFieldsProvider parent component" + "The HostedField cannot be register in the PayPalHostedFieldsProvider parent component", ); } // Register in the parent provider diff --git a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.test.tsx b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.test.tsx index d3cc40b5..484042f4 100644 --- a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.test.tsx +++ b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.test.tsx @@ -60,10 +60,10 @@ describe("PayPalHostedFieldsProvider", () => { <> , - { wrapper } + { wrapper }, ); expect(onError.mock.calls[0][0].message).toEqual( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" + "usePayPalScriptReducer must be used within a PayPalScriptProvider", ); spyConsoleError.mockRestore(); }); @@ -79,10 +79,10 @@ describe("PayPalHostedFieldsProvider", () => { <> , - { wrapper } + { wrapper }, ); expect(onError.mock.calls[0][0].message).toEqual( - EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE + EMPTY_BRAINTREE_AUTHORIZATION_ERROR_MESSAGE, ); spyConsoleError.mockRestore(); }); @@ -106,10 +106,10 @@ describe("PayPalHostedFieldsProvider", () => { <> , - { wrapper } + { wrapper }, ); expect(onError.mock.calls[0][0].message).toEqual( - "To use HostedFields you must use it with at least 3 children with types: [number, cvv, expirationDate] includes" + "To use HostedFields you must use it with at least 3 children with types: [number, cvv, expirationDate] includes", ); spyConsoleError.mockRestore(); }); @@ -146,14 +146,14 @@ describe("PayPalHostedFieldsProvider", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => { expect(onError.mock.calls[0][0].message).toEqual( "Unable to render because window.paypal.HostedFields is undefined." + "\nTo fix the issue, add 'hosted-fields' to the list of components passed to the parent PayPalScriptProvider: " + - "" + "", ); }); spyConsoleError.mockRestore(); @@ -191,7 +191,7 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: "cvv" }} /> - + , ); await waitFor(() => { expect(loadScript).toBeCalled(); @@ -228,7 +228,7 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: "cvv" }} /> - + , ); await waitFor(() => { expect(container.querySelector(".number")).toEqual(null); @@ -274,12 +274,12 @@ describe("PayPalHostedFieldsProvider", () => { /> , - { wrapper } + { wrapper }, ); await waitFor(() => { expect(onError.mock.calls[0][0].message).toEqual( - "Failed to render component. Error: Failing rendering hostedFields" + "Failed to render component. Error: Failing rendering hostedFields", ); }); spyConsoleError.mockRestore(); @@ -315,17 +315,17 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: ".cvv" }} /> - + , ); await waitFor(() => { expect(window?.paypal?.HostedFields?.render).toBeCalled(); }); expect( - container.querySelector(".number") instanceof HTMLDivElement + container.querySelector(".number") instanceof HTMLDivElement, ).toBeTruthy(); expect( - container.querySelector(".expiration") instanceof HTMLDivElement + container.querySelector(".expiration") instanceof HTMLDivElement, ).toBeTruthy(); expect(container.querySelector(".cvv")).toBeTruthy(); @@ -365,7 +365,7 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: ".cvv" }} /> - + , ); await waitFor(() => { expect(window?.paypal?.HostedFields?.render).toBeCalledTimes(2); @@ -381,7 +381,9 @@ describe("PayPalHostedFieldsProvider", () => { .fn() .mockImplementation( () => - new Promise((resolve) => setTimeout(() => resolve({}), 500)) + new Promise((resolve) => + setTimeout(() => resolve({}), 500), + ), ); const { container, unmount } = render( @@ -413,7 +415,7 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: ".cvv" }} /> - + , ); await waitFor(() => { @@ -423,7 +425,7 @@ describe("PayPalHostedFieldsProvider", () => { jest.runAllTimers(); expect( - container.querySelector(".number") instanceof HTMLDivElement + container.querySelector(".number") instanceof HTMLDivElement, ).toBeFalsy(); jest.useRealTimers(); }); @@ -465,7 +467,7 @@ describe("PayPalHostedFieldsProvider", () => { options={{ selector: ".cvv" }} /> - + , ); await waitFor(() => { @@ -476,7 +478,7 @@ describe("PayPalHostedFieldsProvider", () => { onInstallmentsAvailable: expect.any(Function), onInstallmentsError: expect.any(Function), }, - }) + }), ); }); }); diff --git a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.tsx b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.tsx index 63167696..8f78e85b 100644 --- a/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.tsx +++ b/packages/react-paypal-js/src/components/hostedFields/PayPalHostedFieldsProvider.tsx @@ -44,8 +44,8 @@ export const PayPalHostedFieldsProvider: FC< useEffect(() => { validateHostedFieldChildren( Object.keys( - registeredFields.current - ) as PAYPAL_HOSTED_FIELDS_TYPES[] + registeredFields.current, + ) as PAYPAL_HOSTED_FIELDS_TYPES[], ); // Only render the hosted fields when script is loaded and hostedFields is eligible if (!(loadingStatus === SCRIPT_LOADING_STATE.RESOLVED)) { @@ -53,7 +53,7 @@ export const PayPalHostedFieldsProvider: FC< } // Get the hosted fields from the [window.paypal.HostedFields] SDK hostedFields.current = getPayPalWindowNamespace( - options[SDK_SETTINGS.DATA_NAMESPACE] + options[SDK_SETTINGS.DATA_NAMESPACE], ).HostedFields; if (!hostedFields.current) { @@ -62,7 +62,7 @@ export const PayPalHostedFieldsProvider: FC< components: options.components, [SDK_SETTINGS.DATA_NAMESPACE]: options[SDK_SETTINGS.DATA_NAMESPACE], - }) + }), ); } if (!hostedFields.current.isEligible()) { @@ -89,7 +89,7 @@ export const PayPalHostedFieldsProvider: FC< .catch((err) => { setErrorState(() => { throw new Error( - `Failed to render component. ${err}` + `Failed to render component. ${err}`, ); }); }); diff --git a/packages/react-paypal-js/src/components/hostedFields/hooks.ts b/packages/react-paypal-js/src/components/hostedFields/hooks.ts index c5f52d1c..8a031c05 100644 --- a/packages/react-paypal-js/src/components/hostedFields/hooks.ts +++ b/packages/react-paypal-js/src/components/hostedFields/hooks.ts @@ -12,10 +12,10 @@ import type { PayPalHostedFieldsRegistered } from "../../types/payPalHostedField * and at the second a function handler to register the hosted fields components */ export const useHostedFieldsRegister = ( - initialValue = {} + initialValue = {}, ): [ MutableRefObject, - (component: PayPalHostedFieldsRegistered) => void + (component: PayPalHostedFieldsRegistered) => void, ] => { const registeredFields = useRef(initialValue); diff --git a/packages/react-paypal-js/src/components/hostedFields/utils.test.ts b/packages/react-paypal-js/src/components/hostedFields/utils.test.ts index 50f2993e..954c127e 100644 --- a/packages/react-paypal-js/src/components/hostedFields/utils.test.ts +++ b/packages/react-paypal-js/src/components/hostedFields/utils.test.ts @@ -21,13 +21,13 @@ describe("generateMissingHostedFieldsError", () => { generateMissingHostedFieldsError({ components: "marks", [SDK_SETTINGS.DATA_NAMESPACE]: "Braintree", - }) + }), ).toEqual(exceptionMessage); }); test("should throw exception with default namespace", () => { expect(generateMissingHostedFieldsError({ components: "" })).toEqual( - exceptionMessagePayPalNamespace + exceptionMessagePayPalNamespace, ); }); @@ -35,9 +35,9 @@ describe("generateMissingHostedFieldsError", () => { window.paypal = { version: "" }; expect( - generateMissingHostedFieldsError({ components: "hosted-fields" }) + generateMissingHostedFieldsError({ components: "hosted-fields" }), ).toEqual( - "Unable to render because window.paypal.HostedFields is undefined." + "Unable to render because window.paypal.HostedFields is undefined.", ); }); }); diff --git a/packages/react-paypal-js/src/components/hostedFields/utils.ts b/packages/react-paypal-js/src/components/hostedFields/utils.ts index fccd75db..9e9108dd 100644 --- a/packages/react-paypal-js/src/components/hostedFields/utils.ts +++ b/packages/react-paypal-js/src/components/hostedFields/utils.ts @@ -43,7 +43,7 @@ export const generateMissingHostedFieldsError = ({ * @returns @type {true} when the children are valid */ const validateExpirationDate = ( - registerTypes: PAYPAL_HOSTED_FIELDS_TYPES[] + registerTypes: PAYPAL_HOSTED_FIELDS_TYPES[], ) => { return ( !registerTypes.includes(PAYPAL_HOSTED_FIELDS_TYPES.EXPIRATION_DATE) && @@ -92,7 +92,7 @@ const noDuplicateChildren = (registerTypes: PAYPAL_HOSTED_FIELDS_TYPES[]) => { * @param requiredChildren the list with required children [number, expiration, cvv] */ export const validateHostedFieldChildren = ( - registeredFields: PAYPAL_HOSTED_FIELDS_TYPES[] + registeredFields: PAYPAL_HOSTED_FIELDS_TYPES[], ): void => { hasDefaultChildren(registeredFields); noDuplicateChildren(registeredFields); diff --git a/packages/react-paypal-js/src/context/scriptProviderContext.test.ts b/packages/react-paypal-js/src/context/scriptProviderContext.test.ts index 3396db83..95cbe19d 100644 --- a/packages/react-paypal-js/src/context/scriptProviderContext.test.ts +++ b/packages/react-paypal-js/src/context/scriptProviderContext.test.ts @@ -26,9 +26,9 @@ describe("getScriptID", () => { intent: "capture", currency: "USD", dataClientToken: "long_JWT_client_token", - }) + }), ).toEqual( - "react-paypal-js-iiuovjsckceqpjrzqildwyishnomaqumyapbgcgqkiseblauicltugxfqiiskmmkdjrzqiggpdicseweuqvrvvljmcfhgckevdcatp" + "react-paypal-js-iiuovjsckceqpjrzqildwyishnomaqumyapbgcgqkiseblauicltugxfqiiskmmkdjrzqiggpdicseweuqvrvvljmcfhgckevdcatp", ); }); }); @@ -48,7 +48,7 @@ describe("destroySDKScript", () => { destroySDKScript("script-id"); expect( - document.querySelector("#script-id") instanceof HTMLScriptElement + document.querySelector("#script-id") instanceof HTMLScriptElement, ).toBeTruthy(); }); @@ -61,7 +61,7 @@ describe("destroySDKScript", () => { destroySDKScript("generated-id"); expect( - document.querySelector("#script-id") instanceof HTMLScriptElement + document.querySelector("#script-id") instanceof HTMLScriptElement, ).toBeFalsy(); }); }); @@ -89,7 +89,7 @@ describe("scriptReducer", () => { scriptReducer(state, { type: DISPATCH_ACTION.LOADING_STATUS, value: "resolve" as SCRIPT_LOADING_STATE, - }) + }), ).toMatchObject({ ...state, loadingStatus: "resolve" }); }); @@ -101,7 +101,7 @@ describe("scriptReducer", () => { clientId: "", [SCRIPT_ID]: "script", } as PayPalScriptOptions, - }) + }), ).toMatchObject({ ...state, loadingStatus: "pending", @@ -118,7 +118,7 @@ describe("scriptReducer", () => { scriptReducer(state, { type: DISPATCH_ACTION.SET_BRAINTREE_INSTANCE, value: braintreeMockInstance, - }) + }), ).toMatchObject({ ...state, braintreePayPalCheckoutInstance: braintreeMockInstance, diff --git a/packages/react-paypal-js/src/context/scriptProviderContext.ts b/packages/react-paypal-js/src/context/scriptProviderContext.ts index c77159cc..c5c68066 100644 --- a/packages/react-paypal-js/src/context/scriptProviderContext.ts +++ b/packages/react-paypal-js/src/context/scriptProviderContext.ts @@ -30,7 +30,7 @@ export function getScriptID(options: ReactPayPalScriptOptions): string { */ export function destroySDKScript(reactPayPalScriptID?: string): void { const scriptNode = self.document.querySelector( - `script[${SCRIPT_ID}="${reactPayPalScriptID}"]` + `script[${SCRIPT_ID}="${reactPayPalScriptID}"]`, ); if (scriptNode?.parentNode) { @@ -47,7 +47,7 @@ export function destroySDKScript(reactPayPalScriptID?: string): void { */ export function scriptReducer( state: ScriptContextState, - action: ScriptReducerAction + action: ScriptReducerAction, ): ScriptContextState { switch (action.type) { case DISPATCH_ACTION.LOADING_STATUS: diff --git a/packages/react-paypal-js/src/hooks/contextValidator.test.ts b/packages/react-paypal-js/src/hooks/contextValidator.test.ts index 4b880931..e63180a9 100644 --- a/packages/react-paypal-js/src/hooks/contextValidator.test.ts +++ b/packages/react-paypal-js/src/hooks/contextValidator.test.ts @@ -14,8 +14,8 @@ describe("validateReducer", () => { validateReducer(null); }).toThrowError( new Error( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" - ) + "usePayPalScriptReducer must be used within a PayPalScriptProvider", + ), ); }); @@ -25,8 +25,8 @@ describe("validateReducer", () => { validateReducer({}); }).toThrowError( new Error( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" - ) + "usePayPalScriptReducer must be used within a PayPalScriptProvider", + ), ); }); @@ -36,8 +36,8 @@ describe("validateReducer", () => { validateReducer({ dispatch: 10 }); }).toThrowError( new Error( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" - ) + "usePayPalScriptReducer must be used within a PayPalScriptProvider", + ), ); }); @@ -47,8 +47,8 @@ describe("validateReducer", () => { validateReducer({ dispatch: jest.fn() }); }).toThrowError( new Error( - "usePayPalScriptReducer must be used within a PayPalScriptProvider" - ) + "usePayPalScriptReducer must be used within a PayPalScriptProvider", + ), ); }); diff --git a/packages/react-paypal-js/src/hooks/contextValidator.ts b/packages/react-paypal-js/src/hooks/contextValidator.ts index b37cb601..72ef621a 100644 --- a/packages/react-paypal-js/src/hooks/contextValidator.ts +++ b/packages/react-paypal-js/src/hooks/contextValidator.ts @@ -13,7 +13,7 @@ import type { ScriptContextState } from "../types"; * @returns strict context avoiding null values in the type */ export function validateReducer( - scriptContext: ScriptContextState | null + scriptContext: ScriptContextState | null, ): ScriptContextState { if ( typeof scriptContext?.dispatch === "function" && @@ -36,7 +36,7 @@ export function validateReducer( * @returns strict context if one of the keys are defined */ export const validateBraintreeAuthorizationData = ( - scriptContext: ScriptContextState | null + scriptContext: ScriptContextState | null, ): ScriptContextState => { if ( !scriptContext?.options?.[SDK_SETTINGS.DATA_CLIENT_TOKEN] && diff --git a/packages/react-paypal-js/src/hooks/scriptProviderHooks.ts b/packages/react-paypal-js/src/hooks/scriptProviderHooks.ts index 51a7b9f9..39711767 100644 --- a/packages/react-paypal-js/src/hooks/scriptProviderHooks.ts +++ b/packages/react-paypal-js/src/hooks/scriptProviderHooks.ts @@ -22,7 +22,7 @@ import type { */ export function usePayPalScriptReducer(): [ ScriptContextDerivedState, - React.Dispatch + React.Dispatch, ] { const scriptContext = validateReducer(useContext(ScriptContext)); @@ -49,10 +49,10 @@ export function usePayPalScriptReducer(): [ */ export function useScriptProviderContext(): [ ScriptContextState, - React.Dispatch + React.Dispatch, ] { const scriptContext = validateBraintreeAuthorizationData( - validateReducer(useContext(ScriptContext)) + validateReducer(useContext(ScriptContext)), ); return [ diff --git a/packages/react-paypal-js/src/stories/PayPalMessages.stories.tsx b/packages/react-paypal-js/src/stories/PayPalMessages.stories.tsx index a5686f96..e0d29387 100644 --- a/packages/react-paypal-js/src/stories/PayPalMessages.stories.tsx +++ b/packages/react-paypal-js/src/stories/PayPalMessages.stories.tsx @@ -101,7 +101,7 @@ export default function App() { context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)).args - .style + .style, )} /> ), diff --git a/packages/react-paypal-js/src/stories/braintree/BraintreePayPalButtons.stories.tsx b/packages/react-paypal-js/src/stories/braintree/BraintreePayPalButtons.stories.tsx index 5f959cca..dc7647a6 100644 --- a/packages/react-paypal-js/src/stories/braintree/BraintreePayPalButtons.stories.tsx +++ b/packages/react-paypal-js/src/stories/braintree/BraintreePayPalButtons.stories.tsx @@ -112,7 +112,7 @@ export default { storyArg: { args: { size: number }; originalStoryFn: { name: string }; - } + }, ): ReactElement => { // Workaround to render the story after got the client token, // The new experimental loaders doesn't work in Docs views @@ -170,7 +170,7 @@ export const Default: FC = ({ forceReRender={[style, amount, currency]} createOrder={( data: Record, - actions: CreateOrderBraintreeActions + actions: CreateOrderBraintreeActions, ) => actions.braintree .createPayment({ @@ -198,7 +198,7 @@ export const Default: FC = ({ } onApprove={( data: OnApproveBraintreeData, - actions: OnApproveBraintreeActions + actions: OnApproveBraintreeActions, ) => actions.braintree.tokenizePayment(data).then((payload) => { approveSale(payload.nonce, amount).then((data) => { @@ -272,7 +272,7 @@ export const BillingAgreement: FC = ({ ), @@ -285,7 +285,7 @@ export const BillingAgreement: FC = ({ ), diff --git a/packages/react-paypal-js/src/stories/commons.tsx b/packages/react-paypal-js/src/stories/commons.tsx index 9a9ab4ad..c81e3b43 100644 --- a/packages/react-paypal-js/src/stories/commons.tsx +++ b/packages/react-paypal-js/src/stories/commons.tsx @@ -20,7 +20,7 @@ export const defaultProps = { }, onClick(): void { action("button")( - "Click event dispatch from the the PayPal payment button" + "Click event dispatch from the the PayPal payment button", ); }, onError(err: Record): void { diff --git a/packages/react-paypal-js/src/stories/components/CopyButton.tsx b/packages/react-paypal-js/src/stories/components/CopyButton.tsx index bf3cab3d..e71a4c9b 100644 --- a/packages/react-paypal-js/src/stories/components/CopyButton.tsx +++ b/packages/react-paypal-js/src/stories/components/CopyButton.tsx @@ -2,13 +2,10 @@ import React, { useState } from "react"; import { useSandpack } from "@codesandbox/sandpack-react"; import type { ReactElement } from "react"; -import type { - FontWeightProperty, - FloatProperty, - PositionProperty, -} from "csstype/index"; -const COPY_BUTTON = { +import type { Properties as CSSProperties} from "csstype"; + +const COPY_BUTTON: CSSProperties = { padding: "4px 10px", cursor: "pointer", display: "flex", @@ -17,11 +14,11 @@ const COPY_BUTTON = { background: "#FFFFFF", fontSize: "12px", lineHeight: "16px", - fontWeight: "700" as FontWeightProperty, + fontWeight: "700", border: "1px solid rgba(0,0,0,.1)", borderRadius: "4px 0 0 0", - float: "right" as FloatProperty, - position: "relative" as PositionProperty, + float: "right", + position: "relative", top: "-26px", }; diff --git a/packages/react-paypal-js/src/stories/payPalButtons/PayPalButtons.stories.tsx b/packages/react-paypal-js/src/stories/payPalButtons/PayPalButtons.stories.tsx index e6ce4ffb..b478039f 100644 --- a/packages/react-paypal-js/src/stories/payPalButtons/PayPalButtons.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalButtons/PayPalButtons.stories.tsx @@ -176,12 +176,12 @@ export const Default: FC = ({ } else { throw new Error("failed to create Order Id"); } - } + }, ) } onApprove={(data) => onApprove(data).then((orderData) => - action(APPROVE)(orderData) + action(APPROVE)(orderData), ) } {...defaultProps} @@ -210,7 +210,7 @@ export const Donate: FC> = ({ } else { throw new Error("failed to create Order Id"); } - } + }, ) } onApprove={(data) => @@ -230,7 +230,7 @@ export const Donate: FC> = ({ ), @@ -244,7 +244,7 @@ export const Donate: FC> = ({ ), diff --git a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsForm.stories.tsx b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsForm.stories.tsx index 530ef454..ad8c832b 100644 --- a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsForm.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsForm.stories.tsx @@ -134,7 +134,7 @@ export const Default: FC = () => { function onApprove(data: CardFieldsOnApproveData) { action(`Received ${ORDER_ID}`)(data.orderID); action(CAPTURE_ORDER)( - `Sending ${ORDER_ID} to custom endpoint to capture the payment information` + `Sending ${ORDER_ID} to custom endpoint to capture the payment information`, ); fetch(CAPTURE_ORDER_URL, { method: "POST", diff --git a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsIndividual.stories.tsx b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsIndividual.stories.tsx index 322696ed..007a6cb5 100644 --- a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsIndividual.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsIndividual.stories.tsx @@ -256,7 +256,7 @@ export const Default: FC = () => { function onApprove(data: CardFieldsOnApproveData) { action(`Received ${ORDER_ID}`)(data.orderID); action(CAPTURE_ORDER)( - `Sending ${ORDER_ID} to custom endpoint to capture the payment information` + `Sending ${ORDER_ID} to custom endpoint to capture the payment information`, ); fetch(CAPTURE_ORDER_URL, { method: "POST", diff --git a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsProvider.stories.tsx b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsProvider.stories.tsx index 9b5f2e21..5b1c7e35 100644 --- a/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsProvider.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalCardFields/payPalCardFieldsProvider.stories.tsx @@ -279,7 +279,7 @@ export const Default: FC = () => { function onApprove(data: CardFieldsOnApproveData) { action(`Received ${ORDER_ID}`)(data.orderID); action(CAPTURE_ORDER)( - `Sending ${ORDER_ID} to custom endpoint to capture the payment information` + `Sending ${ORDER_ID} to custom endpoint to capture the payment information`, ); fetch(CAPTURE_ORDER_URL, { method: "POST", diff --git a/packages/react-paypal-js/src/stories/payPalCardFields/usePayPalCardFields.stories.tsx b/packages/react-paypal-js/src/stories/payPalCardFields/usePayPalCardFields.stories.tsx index 46e553a1..6ac3cbaf 100644 --- a/packages/react-paypal-js/src/stories/payPalCardFields/usePayPalCardFields.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalCardFields/usePayPalCardFields.stories.tsx @@ -252,7 +252,7 @@ export const Default: FC = () => { function onApprove(data: CardFieldsOnApproveData) { action(`Received ${ORDER_ID}`)(data.orderID); action(CAPTURE_ORDER)( - `Sending ${ORDER_ID} to custom endpoint to capture the payment information` + `Sending ${ORDER_ID} to custom endpoint to capture the payment information`, ); fetch(CAPTURE_ORDER_URL, { method: "POST", diff --git a/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFields.stories.tsx b/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFields.stories.tsx index f4c90c30..26316c9d 100644 --- a/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFields.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFields.stories.tsx @@ -69,7 +69,7 @@ const SubmitPayment = ({ customStyle }: { customStyle?: CSSProperties }) => { } const isFormInvalid = Object.values(hostedField.cardFields.getState().fields).some( - (field) => !field.isValid + (field) => !field.isValid, ) || !cardHolderName?.current?.value; if (isFormInvalid) { @@ -84,7 +84,7 @@ const SubmitPayment = ({ customStyle }: { customStyle?: CSSProperties }) => { .then((data) => { action(`Received ${ORDER_ID}`)(data.orderId); action(CAPTURE_ORDER)( - `Sending ${ORDER_ID} to custom endpoint to capture the payment information` + `Sending ${ORDER_ID} to custom endpoint to capture the payment information`, ); fetch(CAPTURE_ORDER_URL, { method: "POST", @@ -248,7 +248,7 @@ export const Default: FC = ({ amount, styles, style }) => { { action(CREATE_ORDER)( - "Start creating the order in custom endpoint" + "Start creating the order in custom endpoint", ); return fetch(CREATE_ORDER_URL, { method: "POST", @@ -410,7 +410,7 @@ export const ExpirationDate: FC<{ amount: string }> = ({ amount }) => { ), @@ -427,7 +427,7 @@ export const ExpirationDate: FC<{ amount: string }> = ({ amount }) => { ), diff --git a/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFieldsProvider.stories.tsx b/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFieldsProvider.stories.tsx index ad01777b..356f0ed8 100644 --- a/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFieldsProvider.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalHostedFields/PayPalHostedFieldsProvider.stories.tsx @@ -71,7 +71,7 @@ export default { context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)) - .args.styles + .args.styles, )} /> ), diff --git a/packages/react-paypal-js/src/stories/payPalHostedFields/codeHostedFields.ts b/packages/react-paypal-js/src/stories/payPalHostedFields/codeHostedFields.ts index f288d2d3..9ee267fb 100644 --- a/packages/react-paypal-js/src/stories/payPalHostedFields/codeHostedFields.ts +++ b/packages/react-paypal-js/src/stories/payPalHostedFields/codeHostedFields.ts @@ -111,7 +111,7 @@ const getCode = ( customCardNameField, expirationDateFieldType, }: { expirationDateFieldType: string; customCardNameField: string }, - args: Args + args: Args, ): string => `import { useState, useEffect, useRef } from "react"; import { @@ -268,7 +268,7 @@ export const getDefaultCode = (args: Args): string => customCardNameField: CUSTOM_INPUT_WITH_LABEL, expirationDateFieldType: EXPIRATION_DATE_SINGLE_FIELD, }, - args + args, ); export const getExpirationDateCode = (args: Args): string => getCode( @@ -276,5 +276,5 @@ export const getExpirationDateCode = (args: Args): string => customCardNameField: CUSTOM_INPUT, expirationDateFieldType: EXPIRATION_DATE_MULTI_FIELD, }, - args + args, ); diff --git a/packages/react-paypal-js/src/stories/payPalMarks/PayPalMarks.stories.tsx b/packages/react-paypal-js/src/stories/payPalMarks/PayPalMarks.stories.tsx index c528202c..8ec96962 100644 --- a/packages/react-paypal-js/src/stories/payPalMarks/PayPalMarks.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalMarks/PayPalMarks.stories.tsx @@ -79,7 +79,7 @@ export const RadioButtons: FC<{ style: PayPalButtonsComponentOptions["style"]; }> = ({ style }) => { const [selectedFundingSource, setSelectedFundingSource] = useState( - fundingSources[0] + fundingSources[0], ); function onChange(event: ChangeEvent) { @@ -118,12 +118,12 @@ export const RadioButtons: FC<{ } else { throw new Error("failed to create Order Id"); } - } + }, ) } onApprove={(data) => onApprove(data).then((orderData) => - action(APPROVE)(orderData) + action(APPROVE)(orderData), ) } {...defaultProps} @@ -144,7 +144,7 @@ export const RadioButtons: FC<{ context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)).args - .fundingSource + .fundingSource, )} /> ), @@ -161,7 +161,7 @@ export const RadioButtons: FC<{ ), diff --git a/packages/react-paypal-js/src/stories/payPalScriptProvider/PayPalScriptProvider.stories.tsx b/packages/react-paypal-js/src/stories/payPalScriptProvider/PayPalScriptProvider.stories.tsx index 8318966a..f3b76cdf 100644 --- a/packages/react-paypal-js/src/stories/payPalScriptProvider/PayPalScriptProvider.stories.tsx +++ b/packages/react-paypal-js/src/stories/payPalScriptProvider/PayPalScriptProvider.stories.tsx @@ -70,7 +70,7 @@ function PrintLoadingState(): ReactElement | null { if (isInitial) { action("isInitial")( - "The sdk script has not been loaded yet. It has been deferred." + "The sdk script has not been loaded yet. It has been deferred.", ); } else if (isPending) { action("isPending")("The sdk script is loading."); @@ -78,7 +78,7 @@ function PrintLoadingState(): ReactElement | null { action("isResolved")("The sdk script has successfully loaded."); } else if (isRejected) { action("isResolved")( - "Something went wrong. The sdk script failed to load." + "Something went wrong. The sdk script failed to load.", ); } @@ -135,7 +135,7 @@ export const Default: FC<{ deferLoading: boolean }> = ({ deferLoading }) => { context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)).args - .deferLoading + .deferLoading, )} /> ), diff --git a/packages/react-paypal-js/src/stories/subscriptions/Subscriptions.stories.tsx b/packages/react-paypal-js/src/stories/subscriptions/Subscriptions.stories.tsx index 1cac2259..461c2093 100644 --- a/packages/react-paypal-js/src/stories/subscriptions/Subscriptions.stories.tsx +++ b/packages/react-paypal-js/src/stories/subscriptions/Subscriptions.stories.tsx @@ -41,7 +41,7 @@ const subscriptionOptions: PayPalScriptOptions = { const buttonSubscriptionProps = { createSubscription( data: Record, - actions: CreateSubscriptionActions + actions: CreateSubscriptionActions, ) { return actions.subscription .create({ @@ -186,7 +186,7 @@ export const Default: FC<{ type: string }> = ({ type }) => { context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)).args - .type + .type, )} /> ), diff --git a/packages/react-paypal-js/src/stories/utils.ts b/packages/react-paypal-js/src/stories/utils.ts index 136766a1..bdf6ea9a 100644 --- a/packages/react-paypal-js/src/stories/utils.ts +++ b/packages/react-paypal-js/src/stories/utils.ts @@ -17,7 +17,7 @@ export const CAPTURE_ORDER_URL = `${FLY_SERVER}/api/paypal/capture-order`; const CLIENT_TOKEN_URL = `${FLY_SERVER}/api/braintree/generate-client-token`; const SALE_URL = `${FLY_SERVER}/api/braintree/sale`; const allowedSDKQueryParams = Object.keys(SDK_QUERY_KEYS).map( - (key) => SDK_QUERY_KEYS[key] + (key) => SDK_QUERY_KEYS[key], ); // paypal-js supports the sdkBaseURL param for testing in lower environments @@ -46,7 +46,7 @@ export async function getClientToken(url = CLIENT_TOKEN_URL): Promise { export async function approveSale( nonce: string, - amount: string + amount: string, ): Promise { return await ( await fetch(SALE_URL, { @@ -81,7 +81,7 @@ export function generateFundingSource(fundingSource?: string): string { } export function createOrder( - cart: { sku: string; quantity: number }[] + cart: { sku: string; quantity: number }[], ): Promise { return fetch(CREATE_ORDER_URL, { method: "POST", diff --git a/packages/react-paypal-js/src/stories/venmo/VenmoButton.stories.tsx b/packages/react-paypal-js/src/stories/venmo/VenmoButton.stories.tsx index 1cc01c9b..6e483583 100644 --- a/packages/react-paypal-js/src/stories/venmo/VenmoButton.stories.tsx +++ b/packages/react-paypal-js/src/stories/venmo/VenmoButton.stories.tsx @@ -126,7 +126,7 @@ export const Default: FC<{ context={context} code={getDefaultCode( context.getStoryContext(context.storyById(context.id)).args - .style + .style, )} /> ), diff --git a/packages/react-paypal-js/src/types/braintree/clientTypes.ts b/packages/react-paypal-js/src/types/braintree/clientTypes.ts index ed629c77..88b0ae1c 100644 --- a/packages/react-paypal-js/src/types/braintree/clientTypes.ts +++ b/packages/react-paypal-js/src/types/braintree/clientTypes.ts @@ -86,7 +86,7 @@ export interface BraintreeClient { data: unknown; timeout?: number | undefined; }, - callback: BraintreeCallback + callback: BraintreeCallback, ): void; /** diff --git a/packages/react-paypal-js/src/types/braintree/commonsTypes.ts b/packages/react-paypal-js/src/types/braintree/commonsTypes.ts index 6c1ca23d..7d885d42 100644 --- a/packages/react-paypal-js/src/types/braintree/commonsTypes.ts +++ b/packages/react-paypal-js/src/types/braintree/commonsTypes.ts @@ -1,6 +1,6 @@ export type BraintreeCallback = ( err?: BraintreeError, - data?: T + data?: T, ) => void; export interface BraintreeError { /** diff --git a/packages/react-paypal-js/src/types/braintree/paypalCheckout.ts b/packages/react-paypal-js/src/types/braintree/paypalCheckout.ts index b1deeafd..5250be83 100644 --- a/packages/react-paypal-js/src/types/braintree/paypalCheckout.ts +++ b/packages/react-paypal-js/src/types/braintree/paypalCheckout.ts @@ -223,7 +223,7 @@ export interface BraintreePayPalCheckout { */ createPayment( options: BraintreePayPalCheckoutCreatePaymentOptions, - callback?: BraintreeCallback + callback?: BraintreeCallback, ): Promise; /** @@ -249,7 +249,7 @@ export interface BraintreePayPalCheckout { * */ tokenizePayment( - tokenizeOptions: BraintreePayPalCheckoutTokenizationOptions + tokenizeOptions: BraintreePayPalCheckoutTokenizationOptions, ): Promise; /** diff --git a/packages/react-paypal-js/src/types/braintreePayPalButtonTypes.ts b/packages/react-paypal-js/src/types/braintreePayPalButtonTypes.ts index 39d4cbc6..1e825e3b 100644 --- a/packages/react-paypal-js/src/types/braintreePayPalButtonTypes.ts +++ b/packages/react-paypal-js/src/types/braintreePayPalButtonTypes.ts @@ -33,21 +33,21 @@ export interface BraintreePayPalButtonsComponentProps */ createOrder?: ( data: Record, - actions: CreateOrderBraintreeActions + actions: CreateOrderBraintreeActions, ) => Promise; /** * The createBillingAgreement actions include the Braintree SDK paypalCheckoutInstance as `actions.braintree` */ createBillingAgreement?: ( data: Record, - actions: CreateBillingAgreementActions + actions: CreateBillingAgreementActions, ) => Promise; /** * The onApprove actions include the Braintree SDK paypalCheckoutInstance as `actions.braintree` */ onApprove?: ( data: OnApproveBraintreeData, - actions: OnApproveBraintreeActions + actions: OnApproveBraintreeActions, ) => Promise; /** * An optional Braintree namespace. diff --git a/packages/react-paypal-js/src/utils.test.ts b/packages/react-paypal-js/src/utils.test.ts index a0b065c1..51e2f1fa 100644 --- a/packages/react-paypal-js/src/utils.test.ts +++ b/packages/react-paypal-js/src/utils.test.ts @@ -21,7 +21,7 @@ describe("generateErrorMessage", () => { sdkComponentKey: "example", sdkRequestedComponents: ["hosted-fields"], sdkDataNamespace: "customNamespace", - }) + }), ).toBe(errorMessage); }); test("sdkRequestedComponents as a string", () => { @@ -31,7 +31,7 @@ describe("generateErrorMessage", () => { sdkComponentKey: "example", sdkRequestedComponents: "hosted-fields", sdkDataNamespace: "customNamespace", - }) + }), ).toBe(errorMessage); }); }); @@ -63,7 +63,7 @@ describe("getBraintreeWindowNamespace", () => { test("should return the paypal namespace", () => { expect(getBraintreeWindowNamespace("braintree")).toEqual( // eslint-disable-next-line @typescript-eslint/no-explicit-any - (window as any).braintree + (window as any).braintree, ); }); @@ -76,10 +76,10 @@ describe("hashStr", () => { test("should match the hash from the argument string", () => { expect(hashStr("react")).toMatchInlineSnapshot(`"xxhjw"`); expect(hashStr("react-js.braintree")).toMatchInlineSnapshot( - `"xxhjbzppoallaomelb"` + `"xxhjbzppoallaomelb"`, ); expect(hashStr("react-js.paypal")).toMatchInlineSnapshot( - `"xxhjbzppiqfhtje"` + `"xxhjbzppiqfhtje"`, ); expect(hashStr("")).toMatchInlineSnapshot(`""`); expect( @@ -93,10 +93,10 @@ describe("hashStr", () => { vault: false, locale: "US", [SDK_SETTINGS.DATA_NAMESPACE]: "braintree", - }) - ) + }), + ), ).toMatchInlineSnapshot( - `"iiuovjsckceqfpltierfuadvueugmwdpyghjioombfdvqayoscllfvddtjnvtfgijdxjyablkakmjjmogakewwsybbxfiiseblauicltugxfqiistfmyeomwiyrvgkaswosisqbndhwqqmmclzswdxymqeuqwetbsehtpvnvgsvtsiscvpnvvxdxekjpwoayeofhgilfeke"` + `"iiuovjsckceqfpltierfuadvueugmwdpyghjioombfdvqayoscllfvddtjnvtfgijdxjyablkakmjjmogakewwsybbxfiiseblauicltugxfqiistfmyeomwiyrvgkaswosisqbndhwqqmmclzswdxymqeuqwetbsehtpvnvgsvtsiscvpnvvxdxekjpwoayeofhgilfeke"`, ); }); }); diff --git a/packages/react-paypal-js/src/utils.ts b/packages/react-paypal-js/src/utils.ts index df9feb6f..d6f52b7d 100644 --- a/packages/react-paypal-js/src/utils.ts +++ b/packages/react-paypal-js/src/utils.ts @@ -22,7 +22,7 @@ type ErrorMessageParams = { * @returns the namespace if exists or undefined otherwise */ export function getPayPalWindowNamespace( - namespace: string = DEFAULT_PAYPAL_NAMESPACE + namespace: string = DEFAULT_PAYPAL_NAMESPACE, ): PayPalNamespace { // eslint-disable-next-line @typescript-eslint/no-explicit-any return (window as any)[namespace]; @@ -37,7 +37,7 @@ export function getPayPalWindowNamespace( * @returns the namespace if exists or undefined otherwise */ export function getBraintreeWindowNamespace( - namespace: string = DEFAULT_BRAINTREE_NAMESPACE + namespace: string = DEFAULT_BRAINTREE_NAMESPACE, ): BraintreeNamespace { // eslint-disable-next-line @typescript-eslint/no-explicit-any return (window as any)[namespace]; diff --git a/packages/react-paypal-js/tsconfig.json b/packages/react-paypal-js/tsconfig.json index cc8492b2..b5222a38 100644 --- a/packages/react-paypal-js/tsconfig.json +++ b/packages/react-paypal-js/tsconfig.json @@ -9,6 +9,7 @@ "moduleResolution": "node", "target": "esnext", "strict": true, + "skipLibCheck": true, // these are overridden by the Rollup plugin "outDir": "./dist",