diff --git a/.circleci/config.yml b/.circleci/config.yml index c2d90130c..fcda80f5c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: format: docker: - - image: cimg/node:14.19 + - image: cimg/node:16.18 steps: - checkout - restore_cache: @@ -25,7 +25,7 @@ jobs: command: yarn run format-ci test: docker: - - image: cimg/node:14.19 + - image: cimg/node:16.18 steps: - checkout - restore_cache: @@ -48,7 +48,7 @@ jobs: command: yarn run test-ci build: docker: - - image: cimg/node:14.19 + - image: cimg/node:16.18 steps: - checkout - restore_cache: @@ -71,7 +71,7 @@ jobs: command: yarn run build audit: docker: - - image: cimg/node:14.19 + - image: cimg/node:16.18 steps: - checkout - restore_cache: diff --git a/CHANGELOG.md b/CHANGELOG.md index 6dd29cd53..d38938b51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,36 @@ https://github.com/sharetribe/flex-template-web/ ## Upcoming version 2022-XX-XX +## [v11.1.0] 2023-02-07 + +### Updates from upstream (FTW-daily v9.1.0) + +- [change] Norway's stripe config should use NOK not EUR. + [#1579](https://github.com/sharetribe/ftw-daily/pull/1579) +- [delete] Update README.md after changes in [#1555]. + [#1569](https://github.com/sharetribe/ftw-daily/pull/1569) +- [change] Added some dependabot updates earlier: passport-0.6.0, loader-utils-2.0.4, + decode-uri-component-0.2.2 + Note: Passport-0.6.0 changed login and logout parameter list. +- [change] Update Browserlist db / caniuse-lite. + [#1567](https://github.com/sharetribe/ftw-daily/pull/1567) +- [change] Update minimum Node version to >=16.18.0. (v14.15 had problems with some libs and v14 + support ends soon.) [#1566](https://github.com/sharetribe/ftw-daily/pull/1566) +- [delete] Remove unnecessary polyfills (dependencies might still use these) + + - array-includes + - array.prototype.find + - object.entries + - object.values + - Number.parseFloat, Number.parseInt, Number.isNaN + + [#1565](https://github.com/sharetribe/ftw-daily/pull/1565) + +- [add] Add the cross-env package to better support Windows command prompts + [#1555](https://github.com/sharetribe/ftw-daily/pull/1555) + + [v11.1.0]: https://github.com/sharetribe/ftw-hourly/compare/v11.0.2...v11.1.0 + ## [v11.0.2] 2022-10-17 ### Updates from upstream (FTW-daily v9.0.2) diff --git a/README.md b/README.md index f8ef394f2..185a206a4 100644 --- a/README.md +++ b/README.md @@ -59,17 +59,6 @@ reference in Flex Docs. ### For Windows users -Change `export` to `set` in the package.json file if you're using Windows/DOS. You need to do the -change to "dev" and "dev-sever" commands. - -``` -"dev": "yarn run config-check&&set NODE_ENV=development&& set REACT_APP_DEV_API_SERVER_PORT=3500&&concurrently --kill-others \"yarn run dev-frontend\" \"yarn run dev-backend\"" -``` - -``` -"dev-server": "set NODE_ENV=development&& set PORT=4000&& set REACT_APP_CANONICAL_ROOT_URL=http://localhost:4000&&yarn run build&&nodemon --watch server server/index.js" -``` - We strongly recommend installing [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/about), if you are developing on Windows. These templates are made for Unix-like web services which is the most common diff --git a/package.json b/package.json index 6db792bbd..351e405c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "app", - "version": "11.0.2", + "version": "11.1.0", "private": true, "license": "Apache-2.0", "dependencies": { @@ -10,8 +10,6 @@ "@mapbox/polyline": "^1.1.1", "@sentry/browser": "^6.19.7", "@sentry/node": "^6.19.7", - "array-includes": "^3.1.5", - "array.prototype.find": "^2.2.0", "autosize": "^5.0.1", "basic-auth": "^2.0.1", "body-parser": "^1.20.0", @@ -36,9 +34,7 @@ "mapbox-gl-multitouch": "^1.0.3", "moment": "^2.29.4", "moment-timezone": "^0.5.35", - "object.entries": "^1.1.5", - "object.values": "^1.1.5", - "passport": "^0.5.3", + "passport": "^0.6.0", "passport-facebook": "^3.0.0", "passport-google-oauth": "^2.0.0", "path-to-regexp": "^6.2.1", @@ -70,6 +66,7 @@ "bfj": "^7.0.2", "chalk": "^v4.1.2", "concurrently": "^7.2.0", + "cross-env": "^7.0.3", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.6", "enzyme-to-json": "^3.6.2", @@ -93,7 +90,7 @@ "config-check": "node scripts/config.js --check", "dev-frontend": "sharetribe-scripts start", "dev-backend": "nodemon server/apiServer.js", - "dev": "yarn run config-check&&export NODE_ENV=development REACT_APP_DEV_API_SERVER_PORT=3500&&concurrently --kill-others \"yarn run dev-frontend\" \"yarn run dev-backend\"", + "dev": "yarn run config-check&&cross-env NODE_ENV=development REACT_APP_DEV_API_SERVER_PORT=3500 concurrently --kill-others \"yarn run dev-frontend\" \"yarn run dev-backend\"", "build": "yarn build-web&&yarn build-server", "build-web": "sharetribe-scripts build", "build-server": "sharetribe-scripts build-server", @@ -104,7 +101,7 @@ "test-ci": "yarn run test-server --runInBand && sharetribe-scripts test --runInBand", "eject": "sharetribe-scripts eject", "start": "node --icu-data-dir=node_modules/full-icu server/index.js", - "dev-server": "export NODE_ENV=development PORT=4000 REACT_APP_CANONICAL_ROOT_URL=http://localhost:4000&&yarn run build&&nodemon --watch server server/index.js", + "dev-server": "cross-env-shell NODE_ENV=development PORT=4000 REACT_APP_CANONICAL_ROOT_URL=http://localhost:4000 \"yarn run build&&nodemon --watch server server/index.js\"", "test-server": "jest ./server/**/*.test.js", "heroku-postbuild": "yarn run build", "timezones": "node scripts/parse-iana-timezones.js", @@ -123,7 +120,7 @@ ] }, "engines": { - "node": ">=14.15.0" + "node": ">=16.18.0" }, "prettier": { "singleQuote": true, diff --git a/src/stripe-config.js b/src/stripe-config.js index b97589487..d8aa29bee 100644 --- a/src/stripe-config.js +++ b/src/stripe-config.js @@ -230,7 +230,7 @@ export const stripeCountryDetails = [ { // Norway code: 'NO', - currency: 'EUR', + currency: 'NOK', accountConfig: { iban: true, }, diff --git a/src/util/polyfills.js b/src/util/polyfills.js index c8c4c3680..3338b1d5d 100644 --- a/src/util/polyfills.js +++ b/src/util/polyfills.js @@ -3,37 +3,10 @@ // // Smoothscroll +// TODO: scroll-behaviour smooth was added to Safari on March 2022. +// We could consider removing this on 2023. require('smoothscroll-polyfill').polyfill(); -// [].includes -require('array-includes').shim(); - -// [].find -require('array.prototype.find').shim(); - -// Object.entries -require('object.entries').shim(); - -// Object.values -require('object.values').shim(); - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat -if (typeof Number.parseFloat === 'undefined' && typeof window !== 'undefined') { - Number.parseFloat = window.parseFloat; -} - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt -if (typeof Number.parseInt === 'undefined' && typeof window !== 'undefined') { - Number.parseInt = window.parseInt; -} - -// NaN is the only value in javascript which is not equal to itself. -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN -if (typeof Number.isNaN === 'undefined') { - // eslint-disable-next-line no-self-compare - Number.isNaN = value => value !== value; -} - // To support browsers that do not have Intl.PluralRules (e.g IE11 & Safari 12-), // - add npm packaged to package.json: "intl-pluralrules": "^1.3.1", // - include this polyfill in your build: diff --git a/yarn.lock b/yarn.lock index 4d03fee84..bcbeb48bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3846,16 +3846,6 @@ array.prototype.find@^2.1.1: define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.find@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.2.0.tgz#153b8a28ad8965cd86d3117b07e6596af6f2880d" - integrity sha512-sn40qmUiLYAcRb/1HsIQjTTZ1kCy8II8VtZJpMn2Aoen9twULhbWXisfh3HimGqMlHGUul0/TfKCnXg42LuPpQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.4" - es-shim-unscopables "^1.0.0" - array.prototype.flat@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" @@ -4369,9 +4359,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: - version "1.0.30001364" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001364.tgz#1e118f0e933ed2b79f8d461796b8ce45398014a0" - integrity sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q== + version "1.0.30001441" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" @@ -4819,7 +4809,14 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -5131,9 +5128,9 @@ decimal.js@^10.2.1, decimal.js@^10.3.1: integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== decompress-response@^3.3.0: version "3.3.0" @@ -5743,7 +5740,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" -es-abstract@^1.19.2, es-abstract@^1.19.4, es-abstract@^1.19.5: +es-abstract@^1.19.2, es-abstract@^1.19.5: version "1.20.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== @@ -6939,9 +6936,9 @@ htmlparser2@^6.1.0: entities "^2.0.0" http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-deceiver@^1.2.7: version "1.2.7" @@ -8191,30 +8188,16 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^2.2.0, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.1.0, json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" + integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== jsonfile@^6.0.1: version "6.0.1" @@ -8334,9 +8317,9 @@ loader-runner@^4.2.0: integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -8689,9 +8672,9 @@ minimist-options@^4.0.2: kind-of "^6.0.3" minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== mkdirp@~0.5.1: version "0.5.5" @@ -9343,13 +9326,14 @@ passport-strategy@1.x.x: resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ= -passport@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.5.3.tgz#e69b46c9bb3290660bc2b3299330d78710b198cc" - integrity sha512-gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA== +passport@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.6.0.tgz#e869579fab465b5c0b291e841e6cc95c005fac9d" + integrity sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug== dependencies: passport-strategy "1.x.x" pause "0.0.1" + utils-merge "^1.0.1" path-exists@^3.0.0: version "3.0.0" @@ -12370,7 +12354,7 @@ utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -utils-merge@1.0.1, utils-merge@1.x.x: +utils-merge@1.0.1, utils-merge@1.x.x, utils-merge@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=