From c01272d9d0ad4ec7e50c25aa710ee62804015d6b Mon Sep 17 00:00:00 2001 From: Kimmo Puputti Date: Mon, 27 Feb 2017 10:50:35 +0200 Subject: [PATCH 1/3] Update NPM packages --- package.json | 14 +++--- yarn.lock | 130 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 89 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index a19faf5b..4c5a52b5 100644 --- a/package.json +++ b/package.json @@ -7,30 +7,30 @@ "classnames": "^2.2.5", "compression": "^1.6.2", "express": "^4.14.1", - "helmet": "^3.3.0", + "helmet": "^3.4.1", "lodash": "^4.17.4", "path-to-regexp": "^1.5.3", - "qs": "^6.3.0", + "qs": "^6.3.1", "react": "^15.4.2", "react-dom": "^15.4.2", "react-helmet": "^4.0.0", "react-intl": "^2.2.3", - "react-redux": "^5.0.2", + "react-redux": "^5.0.3", "react-router-dom": "4.0.0-beta.6", "redux": "^3.6.0", "redux-form": "^6.5.0", "redux-saga": "^0.14.3", "sanitize.css": "^4.1.0", "sharetribe-scripts": "0.8.6", + "sharetribe-sdk": "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#458cf2f94a78156aadb0ab1a325176f568992e21", "source-map-support": "^0.4.11", - "url": "^0.11.0", - "sharetribe-sdk": "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#eab535d1e489e262c72c9fb822a8aac36f22e514" + "url": "^0.11.0" }, "devDependencies": { "enzyme": "^2.7.1", - "enzyme-to-json": "^1.4.5", + "enzyme-to-json": "^1.5.0", "nodemon": "^1.11.0", - "prettier": "^0.13.1", + "prettier": "^0.19.0", "react-addons-test-utils": "^15.4.2", "react-test-renderer": "^15.4.2" }, diff --git a/yarn.lock b/yarn.lock index baa00f40..6b1d3dcb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,6 +84,12 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-styles@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" + dependencies: + color-convert "^1.0.0" + ansicolors@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" @@ -1300,7 +1306,7 @@ color-convert@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" -color-convert@^1.3.0: +color-convert@^1.0.0, color-convert@^1.3.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: @@ -1415,12 +1421,12 @@ connect-history-api-fallback@1.3.0, connect-history-api-fallback@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" -connect@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" +connect@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.0.tgz#f09a4f7dcd17324b663b725c815bdb1c4158a46e" dependencies: - debug "~2.2.0" - finalhandler "0.5.0" + debug "2.6.1" + finalhandler "1.0.0" parseurl "~1.3.1" utils-merge "1.0.0" @@ -1662,12 +1668,18 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@2.2.0, debug@^2.1.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: +debug@2.2.0, debug@^2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" +debug@2.6.1, debug@^2.1.0, debug@^2.1.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" + dependencies: + ms "0.7.2" + debug@~0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" @@ -1873,13 +1885,15 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -enzyme-to-json@^1.4.5: - version "1.4.5" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.4.5.tgz#698d6c209b54527aa3e28658e34b5d9f976f8016" +enzyme-to-json@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.5.0.tgz#bb94f21346866d68378adc9b26856dd6e2bfa60b" dependencies: - lodash.compact "^3.0.1" + lodash.filter "^4.6.0" + lodash.isnil "^4.0.0" lodash.isplainobject "^4.0.6" lodash.omitby "^4.5.0" + lodash.range "^3.2.0" object-values "^1.0.0" object.entries "^1.0.3" @@ -2360,16 +2374,6 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" - dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - statuses "~1.3.0" - unpipe "~1.0.0" - finalhandler@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd" @@ -2380,6 +2384,18 @@ finalhandler@0.5.1: statuses "~1.3.1" unpipe "~1.0.0" +finalhandler@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755" + dependencies: + debug "2.6.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.1" + statuses "~1.3.1" + unpipe "~1.0.0" + find-cache-dir@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" @@ -2686,11 +2702,11 @@ helmet-csp@2.3.0: lodash.reduce "4.6.0" platform "1.3.3" -helmet@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.4.0.tgz#05a9437486b05ca219ed8d21dc5e3b6ec0c18118" +helmet@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.4.1.tgz#27d37629227f25a110f2a128bfe1b1028648a397" dependencies: - connect "3.5.0" + connect "3.6.0" dns-prefetch-control "0.1.0" dont-sniff-mimetype "1.0.0" frameguard "3.0.0" @@ -3348,6 +3364,13 @@ jest-matcher-utils@^18.1.0: chalk "^1.1.3" pretty-format "^18.1.0" +jest-matcher-utils@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" + dependencies: + chalk "^1.1.3" + pretty-format "^19.0.0" + jest-matchers@^18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-18.1.0.tgz#0341484bf87a1fd0bac0a4d2c899e2b77a3f1ead" @@ -3419,14 +3442,14 @@ jest-util@^18.1.0: jest-mock "^18.0.0" mkdirp "^0.5.1" -jest-validate@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-18.2.0.tgz#01f93ac78f23901cf9889808e2bbb931ffc58d86" +jest-validate@19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.0.tgz#8c6318a20ecfeaba0ba5378bfbb8277abded4173" dependencies: chalk "^1.1.1" - jest-matcher-utils "^18.1.0" + jest-matcher-utils "^19.0.0" leven "^2.0.0" - pretty-format "^18.1.0" + pretty-format "^19.0.0" jest@18.0.0: version "18.0.0" @@ -3713,10 +3736,6 @@ lodash.clonedeep@^3.0.0: lodash._baseclone "^3.0.0" lodash._bindcallback "^3.0.0" -lodash.compact@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.compact/-/lodash.compact-3.0.1.tgz#540ce3837745975807471e16b4a2ba21e7256ca5" - lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" @@ -3732,7 +3751,7 @@ lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" -lodash.filter@^4.4.0: +lodash.filter@^4.4.0, lodash.filter@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" @@ -3756,6 +3775,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isnil@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lodash.isnil/-/lodash.isnil-4.0.0.tgz#49e28cd559013458c814c5479d3c663a21bfaa6c" + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -3792,6 +3815,10 @@ lodash.pickby@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" +lodash.range@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" + lodash.reduce@4.6.0, lodash.reduce@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" @@ -4968,18 +4995,19 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-0.13.1.tgz#2c96cbdc15d098709f874e59efef48cb0c47c615" +prettier@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-0.19.0.tgz#8b473989a51c76649ea1e2eb7ea3f055cc4b8422" dependencies: ast-types "0.9.4" babel-code-frame "6.22.0" babylon "6.15.0" + chalk "1.1.3" esutils "2.0.2" flow-parser "0.38.0" get-stdin "5.0.1" glob "7.1.1" - jest-validate "18.2.0" + jest-validate "19.0.0" minimist "1.2.0" pretty-error@^2.0.2: @@ -4995,6 +5023,12 @@ pretty-format@^18.1.0: dependencies: ansi-styles "^2.2.1" +pretty-format@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" + dependencies: + ansi-styles "^3.0.0" + private@^0.1.6, private@~0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" @@ -5060,9 +5094,9 @@ qs@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" -qs@^6.3.0, qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" +qs@^6.3.1, qs@~6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d" query-string@^4.1.0: version "4.2.3" @@ -5147,9 +5181,9 @@ react-intl@^2.2.3: intl-relativeformat "^1.3.0" invariant "^2.1.1" -react-redux@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.2.tgz#3d9878f5f71c6fafcd45de1fbb162ea31f389814" +react-redux@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.3.tgz#86c3b68d56e74294a42e2a740ab66117ef6c019f" dependencies: hoist-non-react-statics "^1.0.3" invariant "^2.0.0" @@ -5675,9 +5709,9 @@ sharetribe-scripts@0.8.6: optionalDependencies: fsevents "1.0.14" -"sharetribe-sdk@git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#eab535d1e489e262c72c9fb822a8aac36f22e514": +"sharetribe-sdk@git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#458cf2f94a78156aadb0ab1a325176f568992e21": version "0.0.1" - resolved "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#eab535d1e489e262c72c9fb822a8aac36f22e514" + resolved "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#458cf2f94a78156aadb0ab1a325176f568992e21" dependencies: axios "^0.15.3" js-cookie "^2.1.3" @@ -5811,7 +5845,7 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -"statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1: +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" From cf5018b77a6f6fd3fd3215b0ce2622f651f073bf Mon Sep 17 00:00:00 2001 From: Kimmo Puputti Date: Mon, 27 Feb 2017 10:54:30 +0200 Subject: [PATCH 2/3] Fix updated Prettier CLI option --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4c5a52b5..c532aa2e 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "clean": "rm -rf build/*", "dev": "sharetribe-scripts start", "build": "sharetribe-scripts build", - "format": "prettier --write --print-width 100 --single-quote --trailing-comma 'server/**/*.js' 'src/**/*.js'", + "format": "prettier --write --print-width 100 --single-quote --trailing-comma all 'server/**/*.js' 'src/**/*.js'", "test": "sharetribe-scripts test --env=jsdom", "test-ci": "sharetribe-scripts test --env=jsdom --runInBand", "eject": "sharetribe-scripts eject", From ad3ceca9e83f8925581fa879f2c1ecd7907f4db5 Mon Sep 17 00:00:00 2001 From: Kimmo Puputti Date: Mon, 27 Feb 2017 10:54:49 +0200 Subject: [PATCH 3/3] Format with updated Prettier 0.19 --- server/index.js | 8 ++++---- src/containers/ListingPage/ListingPage.js | 12 ++++-------- src/containers/SearchPage/SearchPage.duck.js | 19 +++++++++++-------- src/examples.js | 6 ++++-- src/util/routes.js | 3 +-- src/util/sagaHelpers.js | 13 ++++++++----- 6 files changed, 32 insertions(+), 29 deletions(-) diff --git a/server/index.js b/server/index.js index 6fc52234..0eb2439a 100644 --- a/server/index.js +++ b/server/index.js @@ -77,8 +77,7 @@ function fetchInitialState(requestUrl) { // pathname may match with several routes (if they don't have exact=true) // We filter all the components form matched routes that have `loadData` - const initialFetches = _ - .chain(matchedRoutes) + const initialFetches = _.chain(matchedRoutes) .filter(r => r.loadData) .map(r => sagaEffects.fork(r.loadData, sdk)) .value(); @@ -92,8 +91,9 @@ function fetchInitialState(requestUrl) { if (initialFetches.length > 0) { const fetchPromise = new Promise((resolve, reject) => { const store = configureStore({}); - store.runSaga(fetchInitialData).done - .then(() => { + store + .runSaga(fetchInitialData) + .done.then(() => { resolve(store.getState()); }) .catch(e => { diff --git a/src/containers/ListingPage/ListingPage.js b/src/containers/ListingPage/ListingPage.js index db067bd2..4fdfcb5b 100644 --- a/src/containers/ListingPage/ListingPage.js +++ b/src/containers/ListingPage/ListingPage.js @@ -12,8 +12,7 @@ const info = { { id: 4, title: 'img4', imageUrl: 'http://placehold.it/750x470' }, { id: 5, title: 'img5', imageUrl: 'http://placehold.it/750x470' }, ], - description: ( - ` + description: `

Organic Music Production in a Sustainable, Ethical and Professional Studio.

@@ -24,20 +23,17 @@ const info = { Banyan Studios is a comfortable, conscious, inspiring and creative retreat for musicians trying to convey their message through state of the art Audio & Video.

https://vimeo.com/168106603 - ` - ), + `, reviews: [ { id: 1, reviewer: { avatar: 'http://placehold.it/44x44', name: 'Vesa L.', date: 'January 2017' }, rating: 4, - review: ( - ` + review: ` Great studio in the New York for music professionals. Everything you need can be found from here and John was helpful with the right settings - we even got some tips for our songs! :) - ` - ), + `, }, ], }; diff --git a/src/containers/SearchPage/SearchPage.duck.js b/src/containers/SearchPage/SearchPage.duck.js index 996e4479..4c1955fc 100644 --- a/src/containers/SearchPage/SearchPage.duck.js +++ b/src/containers/SearchPage/SearchPage.duck.js @@ -80,16 +80,19 @@ export const loadListings = { # { id: 123, type: 'user', attributes: { name: "John" }}, ``` */ -const lookupMap = included => included.reduce((memo, resource) => { - const { type, id } = resource; +const lookupMap = included => included.reduce( + (memo, resource) => { + const { type, id } = resource; - // eslint-disable-next-line no-param-reassign - memo[type] = memo[type] || {}; - // eslint-disable-next-line no-param-reassign - memo[type][id.uuid] = resource; + // eslint-disable-next-line no-param-reassign + memo[type] = memo[type] || {}; + // eslint-disable-next-line no-param-reassign + memo[type][id.uuid] = resource; - return memo; -}, {}); + return memo; + }, + {}, +); // Format the data as ListingCard component expects it and // add some fake data diff --git a/src/examples.js b/src/examples.js index 7ac20ef3..4703682d 100644 --- a/src/examples.js +++ b/src/examples.js @@ -1,10 +1,12 @@ import * as BookingInfo from './components/BookingInfo/BookingInfo.example'; -import * as ChangeAccountPasswordForm from './containers/ChangeAccountPasswordForm/ChangeAccountPasswordForm.example'; +import * as ChangeAccountPasswordForm + from './containers/ChangeAccountPasswordForm/ChangeAccountPasswordForm.example'; import * as ChangePasswordForm from './containers/ChangePasswordForm/ChangePasswordForm.example'; import * as HeroSearchForm from './containers/HeroSearchForm/HeroSearchForm.example'; import * as LoginForm from './containers/LoginForm/LoginForm.example'; -import * as PasswordForgottenForm from './containers/PasswordForgottenForm/PasswordForgottenForm.example'; +import * as PasswordForgottenForm + from './containers/PasswordForgottenForm/PasswordForgottenForm.example'; import * as SignUpForm from './containers/SignUpForm/SignUpForm.example'; export { diff --git a/src/util/routes.js b/src/util/routes.js index 097618e5..7ee39b43 100644 --- a/src/util/routes.js +++ b/src/util/routes.js @@ -84,8 +84,7 @@ export const withFlattenedRoutes = Component => { ); - WithFlattenedRoutesComponent.displayName = `withFlattenedRoutes(${Component.displayName || - Component.name})`; + WithFlattenedRoutesComponent.displayName = `withFlattenedRoutes(${Component.displayName || Component.name})`; const { arrayOf } = PropTypes; diff --git a/src/util/sagaHelpers.js b/src/util/sagaHelpers.js index 099ad65a..17c1220a 100644 --- a/src/util/sagaHelpers.js +++ b/src/util/sagaHelpers.js @@ -6,9 +6,12 @@ const SUCCESS = 'SUCCESS'; const FAILURE = 'FAILURE'; // response format: { REQUEST: 'baseStr.REQUEST', SUCCESS: 'baseStr.SUCCESS', FAILURE: 'baseStr.FAILURE' } -export const createRequestTypes = base => [REQUEST, SUCCESS, FAILURE].reduce((acc, type) => { - // eslint-disable-next-line no-param-reassign - acc[type] = `${base}.${type}`; - return acc; -}, {}); +export const createRequestTypes = base => [REQUEST, SUCCESS, FAILURE].reduce( + (acc, type) => { + // eslint-disable-next-line no-param-reassign + acc[type] = `${base}.${type}`; + return acc; + }, + {}, +); /* eslint-enable import/prefer-default-export */