diff --git a/packages/venia-concept/package.json b/packages/venia-concept/package.json index af14191dc4..06865e6b16 100644 --- a/packages/venia-concept/package.json +++ b/packages/venia-concept/package.json @@ -69,7 +69,7 @@ "babel-plugin-graphql-tag": "~2.0.0", "babel-plugin-module-resolver": "~3.2.0", "babel-plugin-react-remove-properties": "~0.3.0", - "braintree-web-drop-in": "~1.16.0", + "braintree-web-drop-in": "~1.33.3", "compression": "~1.7.4", "css-loader": "~5.2.7", "dotenv": "~6.2.0", diff --git a/packages/venia-ui/package.json b/packages/venia-ui/package.json index 2fd9153b90..a55cf1a785 100644 --- a/packages/venia-ui/package.json +++ b/packages/venia-ui/package.json @@ -83,7 +83,7 @@ "@magento/peregrine": "~12.5.0", "@magento/pwa-buildpack": "~11.4.0", "apollo-cache-persist": "~0.1.1", - "braintree-web-drop-in": "~1.16.0", + "braintree-web-drop-in": "~1.33.3", "graphql": "~15.5.0", "react": "~17.0.1", "react-intl": "~5.20.0", diff --git a/venia-integration-tests/src/actions/checkoutPage/index.js b/venia-integration-tests/src/actions/checkoutPage/index.js index 5d1de7fded..076b99f746 100644 --- a/venia-integration-tests/src/actions/checkoutPage/index.js +++ b/venia-integration-tests/src/actions/checkoutPage/index.js @@ -238,7 +238,8 @@ export const editCreditCardInformation = ({ expiration, cvv }) => { - cy.get(fields.checkoutPageCreditCardCardholderName) + cy.getIframeBody(fields.checkoutPageCreditCardNameFrame) + .find(fields.checkoutPageCreditCardCardFrameholderName) .clear() .type(name); diff --git a/venia-integration-tests/src/fields/checkoutPage/index.js b/venia-integration-tests/src/fields/checkoutPage/index.js index e85c08fffe..80040df120 100644 --- a/venia-integration-tests/src/fields/checkoutPage/index.js +++ b/venia-integration-tests/src/fields/checkoutPage/index.js @@ -74,8 +74,11 @@ export const checkoutPageShippingGuestForm = '[data-cy="GuestForm-root"]'; export const checkoutPageShippingCard = '[data-cy="CheckoutPage-root"] [data-cy="ShippingInformation-root"] [data-cy="Card-root"]'; -export const checkoutPageCreditCardCardholderName = - '[data-cy="CreditCard-root"] [id*="braintree__card-view-input__cardholder-name"]'; +export const checkoutPageCreditCardNameFrame = + '[data-cy="CreditCard-root"] [id*="braintree-hosted-field-cardholderName"]'; + +export const checkoutPageCreditCardCardFrameholderName = + '[id*="cardholder-name"]'; export const checkoutPageCreditCardCardFrame = '[data-cy="CreditCard-root"] [id*="braintree-hosted-field-number"]'; diff --git a/yarn.lock b/yarn.lock index 28ffd75f50..f99aa11c3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2044,42 +2044,52 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@braintree/asset-loader@0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@braintree/asset-loader/-/asset-loader-0.2.1.tgz#1f744aada54321ff591e846d707a7b7d58d7ca9f" - integrity sha512-KNzByHqcZKHm6lss1dGCbLs9K4XrmLqn5YNdL0e7g7A0dzUU4mhXmZF+7rLAqX+XP9gE6nSaf7xh+TBj7oo24w== +"@braintree/asset-loader@0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@braintree/asset-loader/-/asset-loader-0.4.4.tgz#9a5eda24c3627bfd5c7f7483cd48f0e411dd2f09" + integrity sha512-uVhXC5dydmngmNVuDiKgfXSlz4kv4x5ytIJodI8N5SY16mRh13m/UmbQ7yH+o8DQqp50qPZ45MUHIZkXKPg85w== dependencies: - promise-polyfill "^8.1.0" + promise-polyfill "^8.1.3" -"@braintree/browser-detection@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@braintree/browser-detection/-/browser-detection-1.7.0.tgz#895ba64b700c3f36cab5c54591caf71a41171dd8" - integrity sha1-iVumS3AMPzbKtcVFkcr3GkEXHdg= +"@braintree/browser-detection@1.14.0", "@braintree/browser-detection@^1.12.1": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@braintree/browser-detection/-/browser-detection-1.14.0.tgz#d1b397b00ccbc7cac12f6cec27c0a413d740332a" + integrity sha512-OsqU+28RhNvSw8Y5JEiUHUrAyn4OpYazFkjSJe8ZVZfkAaRXQc6hsV38MMEpIlkPMig+A68buk/diY+0O8/dMQ== -"@braintree/browser-detection@^1.5.0": - version "1.12.0" - resolved "https://registry.yarnpkg.com/@braintree/browser-detection/-/browser-detection-1.12.0.tgz#f848b8a48e8ab34c7ff2dd420335973db190bf06" - integrity sha512-fmZcaXYkXr9b0J+3HwXLQogIYV+xSS6aBG7LGu0OjLkSD/k62EAu2xLGEDFHUu6siH/I7vvGoC0/Ds3f3RnS6g== +"@braintree/class-list@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@braintree/class-list/-/class-list-0.2.0.tgz#4c4352ac19c262f61526f93d07d248244b399ec4" + integrity sha512-iLXJT51jnBFuGvyTAQqZ2uwyEVwdyapyz52F5MK1Uoh2ZOiPJ5hoqI0wncyCP2KfqrgyCpOkkEaLMLb/94unGA== -"@braintree/class-list@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@braintree/class-list/-/class-list-0.1.0.tgz#d6c8606ce6a82b4b37f28e32eadd090abcf1adaa" - integrity sha512-AmXPsYhiNJKcxuwkgQjwyyTwFCeRlyFTeUJ9ecV/jLxS8ZH8fCAB4enYgArMRyvCekZZkqLK54kOJ6+OJBzJwA== +"@braintree/event-emitter@0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@braintree/event-emitter/-/event-emitter-0.4.1.tgz#204eaad8cf84eb7bf81fb288a359d34eda85a396" + integrity sha512-X41357O3OXUDlnwMvS1m0GQEn3zB3s3flOBeg2J5OBvLvdJEIAVpPkblABPtsPrlciDSvfv1aSG5ixHPgFH0Zg== -"@braintree/iframer@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@braintree/iframer/-/iframer-1.0.3.tgz#21dd1fd4cebd4154aeab1efa4d5b0d5f4384364e" - integrity sha1-Id0f1M69QVSuqx76TVsNX0OENk4= +"@braintree/extended-promise@0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@braintree/extended-promise/-/extended-promise-0.4.1.tgz#b44f8e6236ddb43434be11924f00fa69f8782a36" + integrity sha512-00n7m4z+swWHoFQLHLvrIBIEoxnGUBsl3ogvX79ITpcn8CHczDwtxYy5+RhMoAraRdfN3oB+8QIpN3KOxs2Q7w== -"@braintree/sanitize-url@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.0.0.tgz#a0ce629d18d4d435f23a0b880098cff7d99e8bb3" - integrity sha512-ymeXC1qObTag/hhEG7BoTMdIzuhKekTxNJTIfiVXsoP1fUXHKBpr0EfCsSA06BuP5gxTPs2vDKjtmYbgvEfY+g== +"@braintree/iframer@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@braintree/iframer/-/iframer-1.1.0.tgz#7e59b975c2a48bd92616f653367a5214fc2ddd4b" + integrity sha512-tVpr7U6u6bqeQlHreEjYMNtnHX62vLnNWziY2kQLqkWhvusPuY5DfuGEIPpWqsd+V/a1slyTQaxK6HWTlH6A/Q== -"@braintree/wrap-promise@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@braintree/wrap-promise/-/wrap-promise-1.1.1.tgz#d22c76855e6d4b4012610060421fae1a37ec90b0" - integrity sha1-0ix2hV5tS0ASYQBgQh+uGjfskLA= +"@braintree/sanitize-url@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz#fe364f025ba74f6de6c837a84ef44bdb1d61e68f" + integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w== + +"@braintree/uuid@0.1.0", "@braintree/uuid@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@braintree/uuid/-/uuid-0.1.0.tgz#ab9355015a7fb0e25cf3c2ff9cd32ece8ea304b0" + integrity sha512-YvZJdlNcK5EnR+7M8AjgEAf4Qx696+FOSYlPfy5ePn80vODtVAUU0FxHnzKZC0og1VbDNQDDiwhthR65D4Na0g== + +"@braintree/wrap-promise@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@braintree/wrap-promise/-/wrap-promise-2.1.0.tgz#7e27ffc5dacd2d71533b0c42506eea8e7c2e50fa" + integrity sha512-UIrJB+AfKU0CCfbMoWrsGpd2D/hBpY/SGgFI6WRHPOwhaZ3g9rz1weiJ6eb6L9KgVyunT7s2tckcPkbHw+NzeA== "@cnakazawa/watch@^1.0.3": version "1.0.4" @@ -6364,35 +6374,40 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -braintree-web-drop-in@~1.16.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/braintree-web-drop-in/-/braintree-web-drop-in-1.16.0.tgz#cda0dbccb3b9a4c47057f9e4af6c23b053b4e7c9" - integrity sha512-IdhAK0CyBCX67r2tOxCJWyoelMKFZkd+8Op3T4ijIKJTOFAJkx2uyqYh+GJHNoxuc3+KcJXfzbCA8xNnGIc2Dw== - dependencies: - "@braintree/asset-loader" "0.2.1" - "@braintree/browser-detection" "1.7.0" - "@braintree/class-list" "0.1.0" - "@braintree/wrap-promise" "1.1.1" - braintree-web "3.42.0" - promise-polyfill "8.1.0" - -braintree-web@3.42.0: - version "3.42.0" - resolved "https://registry.yarnpkg.com/braintree-web/-/braintree-web-3.42.0.tgz#07d8cb87bdbd89e9629098c9f4065c92e537e34c" - integrity sha512-R6Eyjz1XCftNk5RVVfcDwWtdlXqguLyWtXGXa7BjK6D2r4/PXqUGRzakWcKUtAYOixibjl0JKHLjf9DzxpTH5w== - dependencies: - "@braintree/asset-loader" "0.2.1" - "@braintree/browser-detection" "1.7.0" - "@braintree/class-list" "0.1.0" - "@braintree/iframer" "1.0.3" - "@braintree/sanitize-url" "3.0.0" - "@braintree/wrap-promise" "1.1.1" - card-validator "6.1.0" - credit-card-type "8.0.0" - framebus "3.0.2" - inject-stylesheet "1.0.0" - promise-polyfill "8.1.0" - restricted-input "1.2.7" +braintree-web-drop-in@~1.33.3: + version "1.33.3" + resolved "https://registry.yarnpkg.com/braintree-web-drop-in/-/braintree-web-drop-in-1.33.3.tgz#d8b27d7caffc8a8bf2e3bfafaaa2ca831dcf42aa" + integrity sha512-0Jz8MrTkN50B0WKsC/Zvf4vm8/6sZdufZqtDlMz/VLAkp+kbJ9uHs/ydxBFAPUrORXKbcH8kTqa7gShvbGDeHA== + dependencies: + "@braintree/asset-loader" "0.4.4" + "@braintree/browser-detection" "1.14.0" + "@braintree/class-list" "0.2.0" + "@braintree/event-emitter" "0.4.1" + "@braintree/uuid" "0.1.0" + "@braintree/wrap-promise" "2.1.0" + braintree-web "3.85.5" + promise-polyfill "8.2.3" + +braintree-web@3.85.5: + version "3.85.5" + resolved "https://registry.yarnpkg.com/braintree-web/-/braintree-web-3.85.5.tgz#318fad1439e9f95c0819049648567ea7584592a3" + integrity sha512-fRUwF8as9SJd2PCwmdkwE94nvItGmKHmB1Py4C4RM5G/j1v6rxh67l0pXBW14RtvEbnuQ0eIMeR1JQbu/Y5K2g== + dependencies: + "@braintree/asset-loader" "0.4.4" + "@braintree/browser-detection" "1.14.0" + "@braintree/class-list" "0.2.0" + "@braintree/event-emitter" "0.4.1" + "@braintree/extended-promise" "0.4.1" + "@braintree/iframer" "1.1.0" + "@braintree/sanitize-url" "6.0.0" + "@braintree/uuid" "0.1.0" + "@braintree/wrap-promise" "2.1.0" + card-validator "8.1.1" + credit-card-type "9.1.0" + framebus "5.1.2" + inject-stylesheet "5.0.0" + promise-polyfill "8.2.3" + restricted-input "3.0.5" brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" @@ -6829,12 +6844,12 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" -card-validator@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/card-validator/-/card-validator-6.1.0.tgz#d36bfc9ff8ee0c69e02d676b2b27f7b6d2dae92d" - integrity sha512-YAeCZvHFXj7zxYSjfQEOmL5c19+Bfpdi1hl9BIeAE7a56V3jPO9CbIVwSPPL4yoVPVjfE4Osp44c05UeELhu4A== +card-validator@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/card-validator/-/card-validator-8.1.1.tgz#418f5f32435553fb9ca2a02634ad413bb38697a9" + integrity sha512-cN4FsKwoTfTFnqPwVc7TQLSsH/QMDB3n/gWm0XelcApz4sKipnOQ6k33sa3bWsNnnIpgs7eXOF+mUV2UQAX2Sw== dependencies: - credit-card-type "^8.0.0" + credit-card-type "^9.1.0" case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" @@ -7672,15 +7687,10 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -credit-card-type@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/credit-card-type/-/credit-card-type-8.0.0.tgz#e65347bcdb979b4deb3107cd43a1cd9da802cd50" - integrity sha512-q3k5fbLJJIkPTBLr03Wo2Ui8cF5vHE8eTT/3K7BUW1ROoyns2vHoglWrzjmU/8JKA0X7JFlYlUVuDRwn7l2ldw== - -credit-card-type@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/credit-card-type/-/credit-card-type-8.3.0.tgz#f93c187c9362411544158c91d552efcc443aa87a" - integrity sha512-czfZUpQ7W9CDxZL4yFLb1kFtM/q2lTOY975hL2aO+DC8+GRNDVSXVCHXhVFZPxiUKmQCZbFP8vIhxx5TBQaThw== +credit-card-type@9.1.0, credit-card-type@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/credit-card-type/-/credit-card-type-9.1.0.tgz#54dd96c93b6579623e9c8656e6798fc2b93f5f05" + integrity sha512-CpNFuLxiPFxuZqhSKml3M+t0K/484pMAnfYWH14JoD7OZMnmC0Lmo+P7JX9SobqFpRoo7ifA18kOHdxJywYPEA== cross-fetch@3.0.6: version "3.0.6" @@ -9895,10 +9905,12 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -framebus@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/framebus/-/framebus-3.0.2.tgz#0c99c70cb507522aae6ed485e1317fc913873a8a" - integrity sha512-OqhYkhgRYlpKZoSl5EA3whKh8O8omFPCzf7MGzFqC6CtrT8lg7evNgU6QdjC3uY3ATq5saMDiY5HJ8KGiGDYCA== +framebus@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/framebus/-/framebus-5.1.2.tgz#cb38cf6a282d405411227cfaab4a1095ca9e8e15" + integrity sha512-Z/y6/0gHVx4Td4c0jkDiASBo0pXlJ2fKOP6CynSFnxTzqojG9xOKOFOqoYkcBHlz1vP4t4yHHR6Esp+GsYIh/Q== + dependencies: + "@braintree/uuid" "^0.1.0" fresh@0.5.2: version "0.5.2" @@ -11284,10 +11296,10 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inject-stylesheet@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/inject-stylesheet/-/inject-stylesheet-1.0.0.tgz#f673047458ee58f109fee4cfb66b09f362ccc261" - integrity sha1-9nMEdFjuWPEJ/uTPtmsJ82LMwmE= +inject-stylesheet@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/inject-stylesheet/-/inject-stylesheet-5.0.0.tgz#bb34acf05ca6ed86e5763d886cd6c9b19f360ab1" + integrity sha512-GzncrJP8E/pavMQzoO93CXoYCfTttwVm2cX2TyXJdgtVE0cCvWSFCn1/uMsM6ZkEg7LUsOcKuamcLiGWlv2p9A== inline-style-parser@0.1.1: version "0.1.1" @@ -15471,26 +15483,21 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -promise-polyfill@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.0.tgz#30059da54d1358ce905ac581f287e184aedf995d" - integrity sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA== - promise-polyfill@8.1.3: version "8.1.3" resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116" integrity sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g== +promise-polyfill@8.2.3, promise-polyfill@^8.1.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.3.tgz#2edc7e4b81aff781c88a0d577e5fe9da822107c6" + integrity sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg== + promise-polyfill@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b" integrity sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ== -promise-polyfill@^8.1.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" - integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== - promise.allsettled@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.4.tgz#65e71f2a604082ed69c548b68603294090ee6803" @@ -16577,12 +16584,12 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restricted-input@1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/restricted-input/-/restricted-input-1.2.7.tgz#e1298f5fd8c430cc2d8e6bb1175524023205cb34" - integrity sha1-4SmPX9jEMMwtjmuxF1UkAjIFyzQ= +restricted-input@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/restricted-input/-/restricted-input-3.0.5.tgz#c43d279df36be0a11085daa3b1ae1d28044c44d8" + integrity sha512-lUuXZ3wUnHURRarj5/0C8vomWIfWJO+p7T6RYwB46v7Oyuyr3yyupU+i7SjqUv4S6RAeAAZt1C/QCLJ9xhQBow== dependencies: - "@braintree/browser-detection" "^1.5.0" + "@braintree/browser-detection" "^1.12.1" resumer@~0.0.0: version "0.0.0"