diff --git a/babel.config.js b/babel.config.js index ad04226fd2e..c6256612bb0 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,6 @@ module.exports = { sourceType: 'unambiguous', + plugins: ['@babel/plugin-syntax-import-assertions'], env: { test: { plugins: ['istanbul'], diff --git a/package-lock.json b/package-lock.json index a8cc05071ff..9485345549c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,6 +97,7 @@ "@babel/core": "^7.23.3", "@babel/eslint-parser": "^7.23.3", "@babel/helper-call-delegate": "^7.12.13", + "@babel/plugin-syntax-import-assertions": "^7.22.5", "@babel/plugin-transform-class-properties": "^7.23.3", "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", "@babel/plugin-transform-object-rest-spread": "^7.23.4", diff --git a/package.json b/package.json index d9f67a705d4..95555acfbcb 100644 --- a/package.json +++ b/package.json @@ -161,6 +161,7 @@ "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", "@babel/plugin-transform-object-rest-spread": "^7.23.4", "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-syntax-import-assertions": "^7.22.5", "@babel/preset-env": "^7.23.3", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", diff --git a/test/sandbox/.eslintrc b/test/sandbox/.eslintrc index 7a0735faa7c..a194344353a 100644 --- a/test/sandbox/.eslintrc +++ b/test/sandbox/.eslintrc @@ -1,10 +1,11 @@ { + "parser": "@babel/eslint-parser", "parserOptions": { - "ecmaVersion": 5, + "ecmaVersion": "latest", "sourceType": "module" }, "env": { - "es6": false, + "es6": true, "node": true }, "globals": { diff --git a/test/sandbox/babel.config.json b/test/sandbox/babel.config.json new file mode 100644 index 00000000000..fe4b2709f8c --- /dev/null +++ b/test/sandbox/babel.config.json @@ -0,0 +1,3 @@ +{ + "plugins": ["@babel/plugin-syntax-import-assertions"] +} diff --git a/test/sandbox/constants/referrals.js b/test/sandbox/constants/referrals.js index fd2f1c667d8..73040588dda 100644 --- a/test/sandbox/constants/referrals.js +++ b/test/sandbox/constants/referrals.js @@ -1,4 +1,2 @@ -module.exports = { - REFERRAL_ID: 'cc5b9953-894c-44b4-a4ac-d0f6a6f6128f', - REFERRAL_ID_NO_CONTACT: 'cc5b9953-894c-44b4-a4ac-d0f6a6f6128d', -} +export const REFERRAL_ID = 'cc5b9953-894c-44b4-a4ac-d0f6a6f6128f' +export const REFERRAL_ID_NO_CONTACT = 'cc5b9953-894c-44b4-a4ac-d0f6a6f6128d' diff --git a/test/sandbox/fixtures/ping.js b/test/sandbox/fixtures/ping.js index b74299c1f70..e5003274024 100644 --- a/test/sandbox/fixtures/ping.js +++ b/test/sandbox/fixtures/ping.js @@ -1,3 +1,2 @@ -module.exports = { - ping: 'OK', -} +export const healthcarePing = + 'OK' diff --git a/test/sandbox/fixtures/v3/interaction/interaction-without-theme.js b/test/sandbox/fixtures/v3/interaction/interaction-without-theme.js index 563ce51cb55..42d7238407a 100644 --- a/test/sandbox/fixtures/v3/interaction/interaction-without-theme.js +++ b/test/sandbox/fixtures/v3/interaction/interaction-without-theme.js @@ -1,6 +1,6 @@ -var interactionFixture = require('./interaction.json') +import interactionFixture from './interaction.json' assert { type: 'json' } -module.exports = Object.assign({}, interactionFixture, { +export default Object.assign({}, interactionFixture, { id: '65e984ad-1ad5-4d89-9b12-71cdff5f412c', subject: 'Interaction without theme', theme: null, diff --git a/test/sandbox/fixtures/v4/activity-feed/aventri-attendees.js b/test/sandbox/fixtures/v4/activity-feed/aventri-attendees.js index 1157baf8510..9c57a479810 100644 --- a/test/sandbox/fixtures/v4/activity-feed/aventri-attendees.js +++ b/test/sandbox/fixtures/v4/activity-feed/aventri-attendees.js @@ -1,4 +1,4 @@ -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' const futureEventIdWithLargeAttendeeList = 1114 const pastEventIdWithLargeAttendeeList = 1111 @@ -77,7 +77,7 @@ const generateListOfAttendeesForEvent = (eventId) => /** * Generate an array of aventri attendee hits */ -const generateAventriAttendeeHits = () => { +export const generateAventriAttendeeHits = () => { return [ ...[ { @@ -216,7 +216,7 @@ const generateAventriAttendeeHits = () => { /** * Generates a full ES response for aventri attendees */ -const generateAventriAttendeeESResponse = () => { +export const generateAventriAttendeeESResponse = () => { const attendees = generateAventriAttendeeHits() return { took: 1930, @@ -237,5 +237,3 @@ const generateAventriAttendeeESResponse = () => { }, } } - -module.exports = { generateAventriAttendeeESResponse } diff --git a/test/sandbox/fixtures/v4/activity-feed/aventri-events.js b/test/sandbox/fixtures/v4/activity-feed/aventri-events.js index e025dcb571f..9cb09514ef3 100644 --- a/test/sandbox/fixtures/v4/activity-feed/aventri-events.js +++ b/test/sandbox/fixtures/v4/activity-feed/aventri-events.js @@ -1,6 +1,6 @@ -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' -const generateAventriEvent = ( +export const generateAventriEvent = ( { id, name, @@ -95,7 +95,7 @@ const generateAventriEvent = ( /** * Generate an array of aventri event hits */ -const generateAventriEventHits = (additionalEventCount = 0) => { +export const generateAventriEventHits = (additionalEventCount = 0) => { return [ ...[ { @@ -156,7 +156,7 @@ const generateAventriEventHits = (additionalEventCount = 0) => { /** * Generates a full ES response for aventri events */ -const generateAventriEventESResponse = (additionalEventCount = 0) => { +export const generateAventriEventESResponse = (additionalEventCount = 0) => { const events = generateAventriEventHits(additionalEventCount) return { took: 1930, @@ -177,9 +177,3 @@ const generateAventriEventESResponse = (additionalEventCount = 0) => { }, } } - -module.exports = { - generateAventriEvent, - generateAventriEventESResponse, - generateAventriEventHits, -} diff --git a/test/sandbox/fixtures/v4/activity-feed/data-hub-activities.js b/test/sandbox/fixtures/v4/activity-feed/data-hub-activities.js index c6f9d509209..9e0827b2949 100644 --- a/test/sandbox/fixtures/v4/activity-feed/data-hub-activities.js +++ b/test/sandbox/fixtures/v4/activity-feed/data-hub-activities.js @@ -1,6 +1,6 @@ -const { generateAventriEventHits } = require('./aventri-events') +import { generateAventriEventHits } from './aventri-events.js' -const generateInvestment = () => ({ +export const generateInvestment = () => ({ _index: 'activities__feed_id_datahub', _type: '_doc', _id: 'dit:DataHubInvestmentProject:d9e25847-6199-e211-a939-e4115bead28a:Add', @@ -43,7 +43,7 @@ const generateInvestment = () => ({ }, }) -const generateInteraction = () => ({ +export const generateInteraction = () => ({ _index: 'activities__feed_id_datahub-interactions__date_2019-06-20__timestamp_1561034480__batch_id_xputyeio__', _type: '_doc', @@ -102,7 +102,7 @@ const generateInteraction = () => ({ sort: [1560787348796], }) -const generateDataHubActivitiesESResponse = () => ({ +export const generateDataHubActivitiesESResponse = () => ({ took: 15, timed_out: false, _shards: { @@ -124,9 +124,3 @@ const generateDataHubActivitiesESResponse = () => ({ ], }, }) - -module.exports = { - generateDataHubActivitiesESResponse, - generateInvestment, - generateInteraction, -} diff --git a/test/sandbox/fixtures/v4/company/company-archived-subsidiaries.js b/test/sandbox/fixtures/v4/company/company-archived-subsidiaries.js index 74a9253f2dd..7e7a1dba775 100644 --- a/test/sandbox/fixtures/v4/company/company-archived-subsidiaries.js +++ b/test/sandbox/fixtures/v4/company/company-archived-subsidiaries.js @@ -1,9 +1,9 @@ -module.exports = { +import companywithInvestment1 from './company-with-investment-1.json' assert { type: 'json' } +import companywithInvestment2 from './company-with-investment-2.json' assert { type: 'json' } + +export default { count: 2, next: null, previous: null, - results: [ - require('./company-with-investment-1.json'), - require('./company-with-investment-2.json'), - ], + results: [companywithInvestment1, companywithInvestment2], } diff --git a/test/sandbox/fixtures/v4/company/company-dnb-global-ultimate-subsidaries.js b/test/sandbox/fixtures/v4/company/company-dnb-global-ultimate-subsidaries.js index 531907b955a..4525a764375 100644 --- a/test/sandbox/fixtures/v4/company/company-dnb-global-ultimate-subsidaries.js +++ b/test/sandbox/fixtures/v4/company/company-dnb-global-ultimate-subsidaries.js @@ -1,10 +1,10 @@ -module.exports = { +import dnbGlobalUltimate from './company-dnb-global-ultimate.json' assert { type: 'json' } +import dnbGlobalSubsidiary from './company-dnb-subsidiary.json' assert { type: 'json' } +import dnbLtd from './company-dnb-ltd.json' assert { type: 'json' } + +export default { count: 3, next: null, previous: null, - results: [ - require('./company-dnb-global-ultimate.json'), - require('./company-dnb-subsidiary.json'), - require('./company-dnb-ltd.json'), - ], + results: [dnbGlobalUltimate, dnbGlobalSubsidiary, dnbLtd], } diff --git a/test/sandbox/fixtures/v4/interaction/interaction-without-theme.js b/test/sandbox/fixtures/v4/interaction/interaction-without-theme.js index 563ce51cb55..42d7238407a 100644 --- a/test/sandbox/fixtures/v4/interaction/interaction-without-theme.js +++ b/test/sandbox/fixtures/v4/interaction/interaction-without-theme.js @@ -1,6 +1,6 @@ -var interactionFixture = require('./interaction.json') +import interactionFixture from './interaction.json' assert { type: 'json' } -module.exports = Object.assign({}, interactionFixture, { +export default Object.assign({}, interactionFixture, { id: '65e984ad-1ad5-4d89-9b12-71cdff5f412c', subject: 'Interaction without theme', theme: null, diff --git a/test/sandbox/fixtures/v4/referrals/referral-list.js b/test/sandbox/fixtures/v4/referrals/referral-list.js index 434f809e1d7..bf7ca3efadc 100644 --- a/test/sandbox/fixtures/v4/referrals/referral-list.js +++ b/test/sandbox/fixtures/v4/referrals/referral-list.js @@ -1,6 +1,6 @@ -var whoami = require('../../../fixtures/whoami.json') +import whoami from '../../../fixtures/whoami.json' assert { type: 'json' } -module.exports = [ +export default [ { id: 'aaa', status: 'outstanding', diff --git a/test/sandbox/package-lock.json b/test/sandbox/package-lock.json index 6a78ef3a96f..c0e5339df3e 100644 --- a/test/sandbox/package-lock.json +++ b/test/sandbox/package-lock.json @@ -14,252 +14,1980 @@ "nodemon": "^3.0.2" }, "devDependencies": { - "@faker-js/faker": "^8.3.1" + "@babel/core": "^7.22.20", + "@babel/eslint-parser": "^7.22.15", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/runtime": "^7.23.1", + "@faker-js/faker": "^8.3.1", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.0.0" }, "engines": { "node": "18.15.0" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", + "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz", + "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@faker-js/faker": { "version": "8.3.1", "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.3.1.tgz", "integrity": "sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/fakerjs" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/fakerjs" + } + ], + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0", + "npm": ">=6.14.13" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", + "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001572", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz", + "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/date-fns": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.0.6.tgz", + "integrity": "sha512-W+G99rycpKMMF2/YD064b2lE7jJGUe+EjOES7Q8BIGY8sbNdbgcs9XFTZwvzc9Jx1f3k7LB7gZaZa7f8Agzljg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.617", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.617.tgz", + "integrity": "sha512-sYNE3QxcDS4ANW1k4S/wWYMXjCVcFSOX3Bg8jpuMFaXt/x8JCmp0R1Xe1ZXDX4WXnSRBf+GJ/3eGWicUuQq5cg==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true } - ], + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0", - "npm": ">=6.14.13" + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" } }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" }, "engines": { - "node": ">= 8" + "node": ">=8.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "node_modules/eslint-plugin-prettier": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/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/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "node_modules/eslint/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": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/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/eslint/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/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "is-glob": "^4.0.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 8.10.0" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "node_modules/eslint/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/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/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": { - "safe-buffer": "5.2.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": ">= 0.6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/date-fns": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.0.6.tgz", - "integrity": "sha512-W+G99rycpKMMF2/YD064b2lE7jJGUe+EjOES7Q8BIGY8sbNdbgcs9XFTZwvzc9Jx1f3k7LB7gZaZa7f8Agzljg==", + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" + "url": "https://opencollective.com/eslint" } }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=4.0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=4.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=4.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/etag": { "version": "1.8.1", @@ -347,6 +2075,51 @@ "node": ">= 0.8" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -375,6 +2148,51 @@ "node": ">= 0.8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -391,6 +2209,12 @@ "node": ">= 0.6" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -405,24 +2229,99 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -431,18 +2330,57 @@ "is-glob": "^4.0.1" }, "engines": { - "node": ">= 6" + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { - "function-bind": "^1.1.1" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">= 0.4.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { @@ -453,6 +2391,17 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", @@ -475,6 +2424,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -501,11 +2476,55 @@ "node": ">=0.10.0" } }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -519,6 +2538,20 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -527,6 +2560,32 @@ "node": ">= 0.10" } }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -538,6 +2597,61 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -546,23 +2660,253 @@ "node": ">=0.10.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -570,6 +2914,12 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -643,11 +2993,26 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -656,6 +3021,12 @@ "node": ">= 0.6" } }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, "node_modules/nodemon": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.2.tgz", @@ -727,9 +3098,82 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -745,6 +3189,74 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -753,11 +3265,50 @@ "node": ">= 0.8" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -769,6 +3320,43 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "dev": true, + "peer": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -786,6 +3374,15 @@ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -800,6 +3397,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -813,24 +3430,151 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=8.10.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safe-buffer": { @@ -852,6 +3596,20 @@ } ] }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -913,11 +3671,60 @@ "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -950,6 +3757,84 @@ "node": ">= 0.8" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -961,6 +3846,49 @@ "node": ">=4" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -991,6 +3919,60 @@ "nodetouch": "bin/nodetouch.js" } }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1003,6 +3985,86 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/undefsafe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", @@ -1016,6 +4078,45 @@ "node": ">= 0.8" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -1032,10 +4133,78 @@ "node": ">= 0.8" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/test/sandbox/package.json b/test/sandbox/package.json index 7144ae0e90b..dbfaa7e0ea4 100644 --- a/test/sandbox/package.json +++ b/test/sandbox/package.json @@ -1,6 +1,7 @@ { "name": "data-hub-sandbox", "main": "server.js", + "type": "module", "dependencies": { "body-parser": "^1.19.0", "date-fns": "^3.0.6", @@ -10,7 +11,16 @@ "nodemon": "^3.0.2" }, "devDependencies": { - "@faker-js/faker": "^8.3.1" + "@babel/core": "^7.22.20", + "@babel/eslint-parser": "^7.22.15", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/runtime": "^7.23.1", + "@faker-js/faker": "^8.3.1", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.0.0" }, "engines": { "node": "18.15.0" diff --git a/test/sandbox/routes/adviser.js b/test/sandbox/routes/adviser.js index eab8cf9754e..c756c198a4d 100644 --- a/test/sandbox/routes/adviser.js +++ b/test/sandbox/routes/adviser.js @@ -1,12 +1,12 @@ -var advisers = require('../fixtures/adviser-list.json') -var autoCompleteAdvisers = require('../fixtures/autocomplete-adviser-list.json') -var singleAdviser = require('../fixtures/single-adviser.json') +import advisersList from '../fixtures/adviser-list.json' assert { type: 'json' } +import autoCompleteAdvisers from '../fixtures/autocomplete-adviser-list.json' assert { type: 'json' } +import singleAdviser from '../fixtures/single-adviser.json' assert { type: 'json' } -exports.advisers = function (req, res) { +export const advisers = function (req, res) { if (req.query.autocomplete) { return res.json(autoCompleteAdvisers) } - res.json(advisers) + res.json(advisersList) } /** @@ -14,12 +14,12 @@ exports.advisers = function (req, res) { * * Use the adviser id provided to find the adviser from the autocomplete list */ -exports.singleAdviser = function (req, res) { +export const adviser = function (req, res) { const pathComponents = req.path.split('/') const adviserId = pathComponents[pathComponents.length - 2] let adviser = autoCompleteAdvisers.results.find(({ id }) => id === adviserId) if (!adviser) { - adviser = advisers.results.find(({ id }) => id === adviserId) + adviser = advisersList.results.find(({ id }) => id === adviserId) if (!adviser) { adviser = { ...singleAdviser, id: adviserId } } diff --git a/test/sandbox/routes/api/consentService.js b/test/sandbox/routes/api/consentService.js index 3c7efba74cb..729ca2e0380 100644 --- a/test/sandbox/routes/api/consentService.js +++ b/test/sandbox/routes/api/consentService.js @@ -1,7 +1,7 @@ -exports.person = function (req, res) { +export function person(req, res) { res.json({}) } -exports.bulkPerson = function (req, res) { +export function bulkPerson(req, res) { res.json({ count: 0, next: null, previous: null, results: [] }) } diff --git a/test/sandbox/routes/api/dnbService.js b/test/sandbox/routes/api/dnbService.js index 133c79abef4..0aae7d64330 100644 --- a/test/sandbox/routes/api/dnbService.js +++ b/test/sandbox/routes/api/dnbService.js @@ -1,5 +1,5 @@ -var companiesSearch = require('../../fixtures/dnb/companies-search.json') +import companiesSearch from '../../fixtures/dnb/companies-search.json' assert { type: 'json' } -exports.companiesSearch = function (req, res) { +export const createCompaniesSearch = function (req, res) { res.json(companiesSearch) } diff --git a/test/sandbox/routes/dashboard.js b/test/sandbox/routes/dashboard.js index a5ddaac535b..64567a641bd 100644 --- a/test/sandbox/routes/dashboard.js +++ b/test/sandbox/routes/dashboard.js @@ -1,5 +1,5 @@ -var homePage = require('../fixtures/dashboard/homepage.json') +import homepage from '../fixtures/dashboard/homepage.json' assert { type: 'json' } -exports.homePage = function (req, res) { - res.json(homePage) +export const dashboardHomepage = function (req, res) { + res.json(homepage) } diff --git a/test/sandbox/routes/metadata.js b/test/sandbox/routes/metadata.js index ebc42fb9b14..5c47d3b259c 100644 --- a/test/sandbox/routes/metadata.js +++ b/test/sandbox/routes/metadata.js @@ -1,244 +1,244 @@ -var likelihoodToLand = require('../fixtures/metadata/likelihood-to-land.json') -var investmentInvestorType = require('../fixtures/metadata/investment-investor-type.json') -var investmentInvolvement = require('../fixtures/metadata/investment-involvement.json') -var investmentSpecificProgramme = require('../fixtures/metadata/investment-specific-programme.json') -var investmentProjectStage = require('../fixtures/metadata/investment-project-stage.json') -var investmentBusinessActivity = require('../fixtures/metadata/investment-business-activity.json') -var investmentType = require('../fixtures/metadata/investment-type.json') -var investmentStrategicDriver = require('../fixtures/metadata/investment-strategic-driver.json') -var exportExperienceCategory = require('../fixtures/metadata/export-experience-category.json') -var orderServiceType = require('../fixtures/metadata/order-service-type.json') -var orderCancellationReason = require('../fixtures/metadata/order-cancellation-reason.json') -var omisMarket = require('../fixtures/metadata/omis-market.json') -var fdiValue = require('../fixtures/metadata/fdi-value.json') -var fdiType = require('../fixtures/metadata/fdi-type.json') -var salaryRange = require('../fixtures/metadata/salary-range.json') -var turnover = require('../fixtures/metadata/turnover.json') -var sector = require('../fixtures/metadata/sector.json') -var sectorLte0 = require('../fixtures/metadata/sector-lte0.json') -var locationType = require('../fixtures/metadata/location-type.json') -var eventType = require('../fixtures/metadata/event-type.json') -var programme = require('../fixtures/metadata/programme.json') -var businessType = require('../fixtures/metadata/business-type.json') -var evidenceTag = require('../fixtures/metadata/evidence-tag.json') -var employeeRange = require('../fixtures/metadata/employee-range.json') -var country = require('../fixtures/metadata/country.json') -var ukRegion = require('../fixtures/metadata/uk-region.json') -var administrativeArea = require('../fixtures/metadata/administrative-area.json') -var referralSourceWebsite = require('../fixtures/metadata/referral-source-website.json') -var referralSourceMarketing = require('../fixtures/metadata/referral-source-marketing.json') -var referralSourceActivity = require('../fixtures/metadata/referral-source-activity.json') -var headquarterType = require('../fixtures/metadata/headquarter-type.json') -var service = require('../fixtures/metadata/service.json') -var communicationChannel = require('../fixtures/metadata/communication-channel.json') -var team = require('../fixtures/metadata/team.json') -var policyArea = require('../fixtures/metadata/policy-area.json') -var policyIssueType = require('../fixtures/metadata/policy-issue-type.json') -var serviceDeliveryStatus = require('../fixtures/metadata/service-delivery-status.json') -var capitalInvestmentInvestorType = require('../fixtures/metadata/capital-investment-investor-type.json') -var capitalInvestmentRequiredChecks = require('../fixtures/metadata/capital-investment-required-checks.json') -var capitalInvestmentDealTicketSize = require('../fixtures/metadata/capital-investment-deal-ticket-size.json') -var capitalInvestmentInvestmentTypes = require('../fixtures/metadata/capital-investment-investment-types.json') -var capitalInvestmentMinimumReturnRate = require('../fixtures/metadata/capital-investment-return-rate.json') -var capitalInvestmentTimeHorizons = require('../fixtures/metadata/capital-investment-time-horizons.json') -var capitalInvestmentRestrictions = require('../fixtures/metadata/capital-investment-restrictions.json') -var capitalInvestmentConstructionRisks = require('../fixtures/metadata/capital-investment-construction-risks.json') -var capitalInvestmentEquityPercentage = require('../fixtures/metadata/capital-investment-equity-percentage.json') -var capitalInvestmentDesiredDealRoles = require('../fixtures/metadata/capital-investment-desired-deal-roles.json') -var capitalInvestmentAssetClassInterest = require('../fixtures/metadata/capital-investment-asset-class-interest.json') -var oneListTier = require('../fixtures/metadata/one-list-tier.json') - -exports.likelihoodToLand = function (req, res) { +import likelihoodToLand from '../fixtures/metadata/likelihood-to-land.json' assert { type: 'json' } +import investmentInvestorType from '../fixtures/metadata/investment-investor-type.json' assert { type: 'json' } +import investmentInvolvement from '../fixtures/metadata/investment-involvement.json' assert { type: 'json' } +import investmentSpecificProgramme from '../fixtures/metadata/investment-specific-programme.json' assert { type: 'json' } +import investmentProjectStage from '../fixtures/metadata/investment-project-stage.json' assert { type: 'json' } +import investmentBusinessActivity from '../fixtures/metadata/investment-business-activity.json' assert { type: 'json' } +import investmentType from '../fixtures/metadata/investment-type.json' assert { type: 'json' } +import investmentStrategicDriver from '../fixtures/metadata/investment-strategic-driver.json' assert { type: 'json' } +import exportExperienceCategory from '../fixtures/metadata/export-experience-category.json' assert { type: 'json' } +import orderServiceType from '../fixtures/metadata/order-service-type.json' assert { type: 'json' } +import orderCancellationReason from '../fixtures/metadata/order-cancellation-reason.json' assert { type: 'json' } +import omisMarket from '../fixtures/metadata/omis-market.json' assert { type: 'json' } +import fdiValue from '../fixtures/metadata/fdi-value.json' assert { type: 'json' } +import fdiType from '../fixtures/metadata/fdi-type.json' assert { type: 'json' } +import salaryRange from '../fixtures/metadata/salary-range.json' assert { type: 'json' } +import turnover from '../fixtures/metadata/turnover.json' assert { type: 'json' } +import sector from '../fixtures/metadata/sector.json' assert { type: 'json' } +import sectorLte0 from '../fixtures/metadata/sector-lte0.json' assert { type: 'json' } +import locationType from '../fixtures/metadata/location-type.json' assert { type: 'json' } +import eventType from '../fixtures/metadata/event-type.json' assert { type: 'json' } +import programme from '../fixtures/metadata/programme.json' assert { type: 'json' } +import businessType from '../fixtures/metadata/business-type.json' assert { type: 'json' } +import evidenceTag from '../fixtures/metadata/evidence-tag.json' assert { type: 'json' } +import employeeRange from '../fixtures/metadata/employee-range.json' assert { type: 'json' } +import country from '../fixtures/metadata/country.json' assert { type: 'json' } +import ukRegion from '../fixtures/metadata/uk-region.json' assert { type: 'json' } +import administrativeArea from '../fixtures/metadata/administrative-area.json' assert { type: 'json' } +import referralSourceWebsite from '../fixtures/metadata/referral-source-website.json' assert { type: 'json' } +import referralSourceMarketing from '../fixtures/metadata/referral-source-marketing.json' assert { type: 'json' } +import referralSourceActivity from '../fixtures/metadata/referral-source-activity.json' assert { type: 'json' } +import headquarterType from '../fixtures/metadata/headquarter-type.json' assert { type: 'json' } +import service from '../fixtures/metadata/service.json' assert { type: 'json' } +import communicationChannel from '../fixtures/metadata/communication-channel.json' assert { type: 'json' } +import team from '../fixtures/metadata/team.json' assert { type: 'json' } +import policyArea from '../fixtures/metadata/policy-area.json' assert { type: 'json' } +import policyIssueType from '../fixtures/metadata/policy-issue-type.json' assert { type: 'json' } +import serviceDeliveryStatus from '../fixtures/metadata/service-delivery-status.json' assert { type: 'json' } +import capitalInvestmentInvestorType from '../fixtures/metadata/capital-investment-investor-type.json' assert { type: 'json' } +import capitalInvestmentRequiredChecks from '../fixtures/metadata/capital-investment-required-checks.json' assert { type: 'json' } +import capitalInvestmentDealTicketSize from '../fixtures/metadata/capital-investment-deal-ticket-size.json' assert { type: 'json' } +import capitalInvestmentInvestmentTypes from '../fixtures/metadata/capital-investment-investment-types.json' assert { type: 'json' } +import capitalInvestmentMinimumReturnRate from '../fixtures/metadata/capital-investment-return-rate.json' assert { type: 'json' } +import capitalInvestmentTimeHorizons from '../fixtures/metadata/capital-investment-time-horizons.json' assert { type: 'json' } +import capitalInvestmentRestrictions from '../fixtures/metadata/capital-investment-restrictions.json' assert { type: 'json' } +import capitalInvestmentConstructionRisks from '../fixtures/metadata/capital-investment-construction-risks.json' assert { type: 'json' } +import capitalInvestmentEquityPercentage from '../fixtures/metadata/capital-investment-equity-percentage.json' assert { type: 'json' } +import capitalInvestmentDesiredDealRoles from '../fixtures/metadata/capital-investment-desired-deal-roles.json' assert { type: 'json' } +import capitalInvestmentAssetClassInterest from '../fixtures/metadata/capital-investment-asset-class-interest.json' assert { type: 'json' } +import oneListTier from '../fixtures/metadata/one-list-tier.json' assert { type: 'json' } + +export const getLikelihoodToLand = function (req, res) { res.json(likelihoodToLand) } -exports.investmentInvestorType = function (req, res) { +export const getInvestmentInvestorType = function (req, res) { res.json(investmentInvestorType) } -exports.investmentSpecificProgramme = function (req, res) { +export const getInvestmentSpecificProgramme = function (req, res) { res.json(investmentSpecificProgramme) } -exports.investmentInvolvement = function (req, res) { +export const getInvestmentInvolvement = function (req, res) { res.json(investmentInvolvement) } -exports.investmentProjectStage = function (req, res) { +export const getInvestmentProjectStage = function (req, res) { res.json(investmentProjectStage) } -exports.investmentBusinessActivity = function (req, res) { +export const getInvestmentBusinessActivity = function (req, res) { res.json(investmentBusinessActivity) } -exports.investmentType = function (req, res) { +export const getInvestmentType = function (req, res) { res.json(investmentType) } -exports.investmentStrategicDriver = function (req, res) { +export const getInvestmentStrategicDriver = function (req, res) { res.json(investmentStrategicDriver) } -exports.exportExperienceCategory = function (req, res) { +export const getExportExperienceCategory = function (req, res) { res.json(exportExperienceCategory) } -exports.orderServiceType = function (req, res) { +export const getOrderServiceType = function (req, res) { res.json(orderServiceType) } -exports.orderCancellationReason = function (req, res) { +export const getOrderCancellationReason = function (req, res) { res.json(orderCancellationReason) } -exports.omisMarket = function (req, res) { +export const getOmisMarket = function (req, res) { res.json(omisMarket) } -exports.fdiValue = function (req, res) { +export const getFdiValue = function (req, res) { res.json(fdiValue) } -exports.fdiType = function (req, res) { +export const getFdiType = function (req, res) { res.json(fdiType) } -exports.salaryRange = function (req, res) { +export const getSalaryRange = function (req, res) { res.json(salaryRange) } -exports.turnover = function (req, res) { +export const getTurnover = function (req, res) { res.json(turnover) } -exports.sector = function (req, res) { +export const getSector = function (req, res) { if (req.query.level__lte === '0') { return res.json(sectorLte0) } res.json(sector) } -exports.locationType = function (req, res) { +export const getLocationType = function (req, res) { res.json(locationType) } -exports.eventType = function (req, res) { +export const getEventType = function (req, res) { res.json(eventType) } -exports.programme = function (req, res) { +export const getProgramme = function (req, res) { res.json(programme) } -exports.businessType = function (req, res) { +export const getBusinessType = function (req, res) { res.json(businessType) } -exports.evidenceTag = function (req, res) { +export const getEvidenceTag = function (req, res) { res.json(evidenceTag) } -exports.employeeRange = function (req, res) { +export const getEmployeeRange = function (req, res) { res.json(employeeRange) } -exports.country = function (req, res) { +export const getCountry = function (req, res) { res.json(country) } -exports.ukRegion = function (req, res) { +export const getUkRegion = function (req, res) { res.json(ukRegion) } -exports.administrativeArea = function (req, res) { +export const getAdministrativeArea = function (req, res) { res.json(administrativeArea) } -exports.referralSourceWebsite = function (req, res) { +export const getReferralSourceWebsite = function (req, res) { res.json(referralSourceWebsite) } -exports.referralSourceMarketing = function (req, res) { +export const getReferralSourceMarketing = function (req, res) { res.json(referralSourceMarketing) } -exports.referralSourceActivity = function (req, res) { +export const getReferralSourceActivity = function (req, res) { res.json(referralSourceActivity) } -exports.headquarterType = function (req, res) { +export const getHeadquarterType = function (req, res) { res.json(headquarterType) } -exports.service = function (req, res) { +export const getService = function (req, res) { res.json(service) } -exports.communicationChannel = function (req, res) { +export const getCommunicationChannel = function (req, res) { res.json(communicationChannel) } -exports.team = function (req, res) { +export const getTeam = function (req, res) { res.json(team) } -exports.policyArea = function (req, res) { +export const getPolicyArea = function (req, res) { res.json(policyArea) } -exports.policyIssueType = function (req, res) { +export const getPolicyIssueType = function (req, res) { res.json(policyIssueType) } -exports.serviceDeliveryStatus = function (req, res) { +export const getServiceDeliveryStatus = function (req, res) { res.json(serviceDeliveryStatus) } -exports.capitalInvestmentInvestorType = function (req, res) { +export const getCapitalInvestmentInvestorType = function (req, res) { res.json(capitalInvestmentInvestorType) } -exports.capitalInvestmentRequiredChecks = function (req, res) { +export const getCapitalInvestmentRequiredChecks = function (req, res) { res.json(capitalInvestmentRequiredChecks) } -exports.capitalInvestmentDealTicketSize = function (req, res) { +export const getCapitalInvestmentDealTicketSize = function (req, res) { res.json(capitalInvestmentDealTicketSize) } -exports.capitalInvestmentInvestmentTypes = function (req, res) { +export const getCapitalInvestmentInvestmentTypes = function (req, res) { res.json(capitalInvestmentInvestmentTypes) } -exports.capitalInvestmentMinimumReturnRate = function (req, res) { +export const getCapitalInvestmentMinimumReturnRate = function (req, res) { res.json(capitalInvestmentMinimumReturnRate) } -exports.capitalInvestmentTimeHorizons = function (req, res) { +export const getCapitalInvestmentTimeHorizons = function (req, res) { res.json(capitalInvestmentTimeHorizons) } -exports.capitalInvestmentRestrictions = function (req, res) { +export const getCapitalInvestmentRestrictions = function (req, res) { res.json(capitalInvestmentRestrictions) } -exports.capitalInvestmentConstructionRisks = function (req, res) { +export const getCapitalInvestmentConstructionRisks = function (req, res) { res.json(capitalInvestmentConstructionRisks) } -exports.capitalInvestmentEquityPercentage = function (req, res) { +export const getCapitalInvestmentEquityPercentage = function (req, res) { res.json(capitalInvestmentEquityPercentage) } -exports.capitalInvestmentDesiredDealRoles = function (req, res) { +export const getCapitalInvestmentDesiredDealRoles = function (req, res) { res.json(capitalInvestmentDesiredDealRoles) } -exports.capitalInvestmentAssetClassInterest = function (req, res) { +export const getCapitalInvestmentAssetClassInterest = function (req, res) { res.json(capitalInvestmentAssetClassInterest) } -exports.oneListTier = function (req, res) { +export const getOneListTier = function (req, res) { res.json(oneListTier) } diff --git a/test/sandbox/routes/ping.js b/test/sandbox/routes/ping.js index 66f615ae6a2..02d016d66f8 100644 --- a/test/sandbox/routes/ping.js +++ b/test/sandbox/routes/ping.js @@ -1,5 +1,5 @@ -var healthcheck = require('../fixtures/ping.js') +import { healthcarePing } from '../fixtures/ping.js' -exports.ping = function (req, res) { - res.send(healthcheck.ping) +export function ping(req, res) { + res.send(healthcarePing) } diff --git a/test/sandbox/routes/postcode.js b/test/sandbox/routes/postcode.js index 5726916372b..081839d2fba 100644 --- a/test/sandbox/routes/postcode.js +++ b/test/sandbox/routes/postcode.js @@ -1,6 +1,6 @@ -var postcodeToRegion = require('../fixtures/postcodeToRegion.json') +import postcodeToRegion from '../fixtures/postcodeToRegion.json' assert { type: 'json' } -exports.toRegion = function (req, res) { +export const toRegion = function (req, res) { if (req.query.postcode === 'UNK N0WN') { return res.json({ results: [], @@ -10,7 +10,7 @@ exports.toRegion = function (req, res) { res.json(postcodeToRegion) } -exports.lookup = function (req, res) { +export const lookup = function (req, res) { return res.json({ Latitude: 51.4997693, Longitude: -0.1349735, diff --git a/test/sandbox/routes/v3/company/company.js b/test/sandbox/routes/v3/company/company.js index afa1fb6537c..9090668cc30 100644 --- a/test/sandbox/routes/v3/company/company.js +++ b/test/sandbox/routes/v3/company/company.js @@ -1,7 +1,7 @@ -var companiesNoResults = require('../../../fixtures/v3/company/companies-no-results.json') -var companyArchivedSubsidiaries = require('../../../fixtures/v3/company/company-archived-subsidiaries') +import companiesNoResults from '../../../fixtures/v3/company/companies-no-results.json' assert { type: 'json' } +import companyArchivedSubsidiaries from '../../../fixtures/v3/company/company-archived-subsidiaries' //TODO check this location -exports.companies = function (req, res) { +export const companies = function (req, res) { var subsidiaries = { '346f78a5-1d23-4213-b4c2-bf48246a13c3': companyArchivedSubsidiaries, } diff --git a/test/sandbox/routes/v3/contact/contact.js b/test/sandbox/routes/v3/contact/contact.js index 8e567b6e28c..7ef8d2011ed 100644 --- a/test/sandbox/routes/v3/contact/contact.js +++ b/test/sandbox/routes/v3/contact/contact.js @@ -1,25 +1,23 @@ -const contact = require('../../../fixtures/v3/contact/contact.json') -const contactByIdUK = require('../../../fixtures/v3/contact/contact-by-id-uk.json') -const contactByIdUS = require('../../../fixtures/v3/contact/contact-by-id-us.json') -const contactByIdWithNoDocument = require('../../../fixtures/v3/contact/contact-by-id-with-no-document.json') -const contactsForReferral = require('../../../fixtures/v3/contact/contacts-for-referral.json') -const completeUKContact = require('../../../fixtures/v3/contact/contact-complete-details-uk.json') -const incompleteUKContact = require('../../../fixtures/v3/contact/contact-incomplete-details-uk.json') -const contactWithCompanyAddress = require('../../../fixtures/v3/contact/contact-with-company-address.json') -const contactWithUSAddress = require('../../../fixtures/v3/contact/contact-with-us-address.json') -const archivedContact = require('../../../fixtures/v3/contact/contact-archived.json') -const invalidEmailContact = require('../../../fixtures/v3/contact/contact-invalid-email.json') -const aventriContact = require('../../../fixtures/v4/activity-feed/aventri-attendees.json') -const ditContactforAventri = require('../../../fixtures/v3/contact/contact-aventri.json') -const noContact = require('../../../fixtures/v3/contact/no-contact.json') - -const auditHistory = require('../../../fixtures/v3/contact/contact-audit-history.json') -const shortAuditHistory = require('../../../fixtures/v3/contact/contact-audit-history-short.json') -const emptyAuditHistory = require('../../../fixtures/v3/contact/contact-audit-history-empty.json') - -const lambdaPlc = require('../../../fixtures/v4/company/company-lambda-plc.json') -const contactCreate = require('../../../fixtures/v3/contact/contact-create.json') -const contactManyContactsCompany = require('../../../fixtures/v3/contact/contact-company-with-many-contacts.json') +import contact from '../../../fixtures/v3/contact/contact.json' assert { type: 'json' } +import contactByIdUK from '../../../fixtures/v3/contact/contact-by-id-uk.json' assert { type: 'json' } +import contactById from '../../../fixtures/v3/contact/contact-by-id-us.json' assert { type: 'json' } +import contactByIdWithNoDocument from '../../../fixtures/v3/contact/contact-by-id-with-no-document.json' assert { type: 'json' } +import contactsForReferral from '../../../fixtures/v3/contact/contacts-for-referral.json' assert { type: 'json' } +import completeUKContact from '../../../fixtures/v3/contact/contact-complete-details-uk.json' assert { type: 'json' } +import incompleteUKContact from '../../../fixtures/v3/contact/contact-incomplete-details-uk.json' assert { type: 'json' } +import contactWithCompanyAddress from '../../../fixtures/v3/contact/contact-with-company-address.json' assert { type: 'json' } +import contactWithUSAddress from '../../../fixtures/v3/contact/contact-with-us-address.json' assert { type: 'json' } +import archivedContact from '../../../fixtures/v3/contact/contact-archived.json' assert { type: 'json' } +import invalidEmailContact from '../../../fixtures/v3/contact/contact-invalid-email.json' assert { type: 'json' } +import aventriContact from '../../../fixtures/v4/activity-feed/aventri-attendees.json' assert { type: 'json' } +import ditContactforAventri from '../../../fixtures/v3/contact/contact-aventri.json' assert { type: 'json' } +import noContact from '../../../fixtures/v3/contact/no-contact.json' assert { type: 'json' } +import auditHistory from '../../../fixtures/v3/contact/contact-audit-history.json' assert { type: 'json' } +import shortAuditHistory from '../../../fixtures/v3/contact/contact-audit-history-short.json' assert { type: 'json' } +import emptyAuditHistory from '../../../fixtures/v3/contact/contact-audit-history-empty.json' assert { type: 'json' } +import lambdaPlc from '../../../fixtures/v4/company/company-lambda-plc.json' assert { type: 'json' } +import createContact from '../../../fixtures/v3/contact/contact-create.json' assert { type: 'json' } +import contactManyContactsCompany from '../../../fixtures/v3/contact/contact-company-with-many-contacts.json' assert { type: 'json' } const validateContactForm = function (formData) { const requiredFields = ['first_name', 'last_name', 'job_title', 'email'] @@ -39,7 +37,7 @@ const AventriEmailWithoutDataHubMatch = const EmptyStringAventriEmail = aventriContact.hits?.hits[2]?._source.object['dit:emailAddress'] -exports.contact = function (req, res) { +export const getContact = function (req, res) { // This is here to allow creation of new contacts. The email must contain "new" if (req.query.email?.includes('new')) { return res.json([]) @@ -64,7 +62,7 @@ exports.contact = function (req, res) { } } -exports.contactCreate = function (req, res) { +export const contactCreate = function (req, res) { const fieldErrors = validateContactForm(req.body) if (req.body.first_name === 'Error') { @@ -76,11 +74,11 @@ exports.contactCreate = function (req, res) { if (req.body.company.id === '57c41268-26be-4335-a873-557e8b0deb29') { res.json(contactManyContactsCompany) } else { - res.json(contactCreate) + res.json(createContact) } } -exports.contactById = function (req, res) { +export const getContactById = function (req, res) { const contacts = { '5555d636-1d24-416a-aaf0-3fb220d59aaa': contactByIdWithNoDocument, 'f3d19ea7-d4cf-43e0-8e97-755c57cae313': contactByIdUK, @@ -92,10 +90,10 @@ exports.contactById = function (req, res) { '2341fb21-ee64-4898-8f2e-ebf924e1e63f': invalidEmailContact, } - res.json(contacts[req.params.contactId] || contactByIdUS) + res.json(contacts[req.params.contactId] || contactById) } -exports.updateContactById = function (req, res) { +export const updateContactById = function (req, res) { const fieldErrors = validateContactForm(req.body) if (req.body.first_name === 'Error') { @@ -108,15 +106,15 @@ exports.updateContactById = function (req, res) { if (req.params.contactId === 'f3d19ea7-d4cf-43e0-8e97-755c57cae313') { res.json(contactByIdUK) } else { - res.json(contactByIdUS) + res.json(contactById) } } -exports.archiveContact = function (req, res) { +export const archiveContact = function (req, res) { res.sendStatus(200) } -exports.auditHistory = function (req, res) { +export const getAuditHistory = function (req, res) { const auditHistories = { '64f85710-eabd-4479-829c-1fd47e3595d0': auditHistory, 'e74f0a25-aeee-48bd-a483-ac29c47e81a4': shortAuditHistory, diff --git a/test/sandbox/routes/v3/event/event.js b/test/sandbox/routes/v3/event/event.js index 52d6a11d9fa..49e9194c252 100644 --- a/test/sandbox/routes/v3/event/event.js +++ b/test/sandbox/routes/v3/event/event.js @@ -1,9 +1,9 @@ -var eventById = require('../../../fixtures/v3/event/single-event.json') -var missingTeams = require('../../../fixtures/v3/event/single-event-missing-teams.json') -var emptyEvent = require('../../../fixtures/v3/event/empty-event.json') -var disabledEvent = require('../../../fixtures/v3/event/disable-event.json') +import eventById from '../../../fixtures/v3/event/single-event.json' assert { type: 'json' } +import missingTeams from '../../../fixtures/v3/event/single-event-missing-teams.json' assert { type: 'json' } +import emptyEvent from '../../../fixtures/v3/event/empty-event.json' assert { type: 'json' } +import disabledEvent from '../../../fixtures/v3/event/disable-event.json' assert { type: 'json' } -exports.eventById = function (req, res) { +export const getEventById = function (req, res) { var events = { 'b93d4273-36fe-4008-ac40-fbc197910791': emptyEvent, 'b93d4274-36fe-4008-ac40-fbc197910792': disabledEvent, diff --git a/test/sandbox/routes/v3/feature-flag/feature-flag.js b/test/sandbox/routes/v3/feature-flag/feature-flag.js index 6961a29513f..27c8b3355d5 100644 --- a/test/sandbox/routes/v3/feature-flag/feature-flag.js +++ b/test/sandbox/routes/v3/feature-flag/feature-flag.js @@ -1,19 +1,19 @@ -const { isEmpty } = require('lodash') +import isEmpty from 'lodash/isEmpty.js' -var defaultFeatureFlags = require('../../../fixtures/v3/feature-flag/feature-flag.json') +import defaultFeatureFlags from '../../../fixtures/v3/feature-flag/feature-flag.json' assert { type: 'json' } let featureFlags = [...defaultFeatureFlags] -exports.featureFlag = function (req, res) { +export const featureFlag = function (req, res) { res.json(featureFlags.filter((x) => !isEmpty(x))) } -exports.setSandboxFlag = function (req, res) { +export const setSandboxFlag = function (req, res) { featureFlags.push(req.body) res.json(featureFlags) } -exports.resetSandboxFlags = function (req, res) { +export const resetSandboxFlags = function (req, res) { featureFlags = [...defaultFeatureFlags] res.json(featureFlags) } diff --git a/test/sandbox/routes/v3/interaction/interaction.js b/test/sandbox/routes/v3/interaction/interaction.js index d20594f0024..0eb01b33458 100644 --- a/test/sandbox/routes/v3/interaction/interaction.js +++ b/test/sandbox/routes/v3/interaction/interaction.js @@ -1,20 +1,20 @@ -var interaction = require('../../../fixtures/v3/interaction/interaction.json') -var interactionWithDocumentLink = require('../../../fixtures/v3/interaction/interaction-with-document-link.json') -var interactionWithoutDocumentLink = require('../../../fixtures/v3/interaction/interaction-without-document-link.json') -var interactions = require('../../../fixtures/v3/interaction/interactions.json') -var no_interactions = require('../../../fixtures/v3/interaction/no_interactions.json') -var interactionByInvestmentProjectId = require('../../../fixtures/v3/interaction/interaction-by-investment-project-id.json') -var interactionByCompanyId = require('../../../fixtures/v3/interaction/interaction-by-company-id.json') -var interactionByContactId = require('../../../fixtures/v3/interaction/interaction-by-contact-id.json') -var interactionCancelledMeeting = require('../../../fixtures/v3/interaction/interaction-cancelled-meeting.json') -var interactionCreate = require('../../../fixtures/v3/interaction/interaction-create.json') -var interactionDraftFutureMeeting = require('../../../fixtures/v3/interaction/interaction-draft-future-meeting.json') -var interactionDraftPastMeeting = require('../../../fixtures/v3/interaction/interaction-draft-past-meeting.json') -var interactionValidationError = require('../../../fixtures/v3/interaction/interaction-validation-error.json') -var interactionWithReferral = require('../../../fixtures/v3/interaction/interaction-with-referral.json') -var interactionWithoutTheme = require('../../../fixtures/v3/interaction/interaction-without-theme') - -var getInteractions = function (req, res) { +import interaction from '../../../fixtures/v3/interaction/interaction.json' assert { type: 'json' } +import interactionWithDocumentLink from '../../../fixtures/v3/interaction/interaction-with-document-link.json' assert { type: 'json' } +import interactionWithoutDocumentLink from '../../../fixtures/v3/interaction/interaction-without-document-link.json' assert { type: 'json' } +import interactions from '../../../fixtures/v3/interaction/interactions.json' assert { type: 'json' } +import noInteractions from '../../../fixtures/v3/interaction/no_interactions.json' assert { type: 'json' } +import interactionByInvestmentProjectId from '../../../fixtures/v3/interaction/interaction-by-investment-project-id.json' assert { type: 'json' } +import interactionByCompanyId from '../../../fixtures/v3/interaction/interaction-by-company-id.json' assert { type: 'json' } +import interactionByContactId from '../../../fixtures/v3/interaction/interaction-by-contact-id.json' assert { type: 'json' } +import interactionCancelledMeeting from '../../../fixtures/v3/interaction/interaction-cancelled-meeting.json' assert { type: 'json' } +import interactionCreate from '../../../fixtures/v3/interaction/interaction-create.json' assert { type: 'json' } +import interactionDraftFutureMeeting from '../../../fixtures/v3/interaction/interaction-draft-future-meeting.json' assert { type: 'json' } +import interactionDraftPastMeeting from '../../../fixtures/v3/interaction/interaction-draft-past-meeting.json' assert { type: 'json' } +import interactionValidationError from '../../../fixtures/v3/interaction/interaction-validation-error.json' assert { type: 'json' } +import interactionWithReferral from '../../../fixtures/v3/interaction/interaction-with-referral.json' assert { type: 'json' } +import interactionWithoutTheme from '../../../fixtures/v3/interaction/interaction-without-theme.js' + +export const getInteractions = function (req, res) { if (req.query.contact_id) { return res.json(interactionByContactId) } @@ -30,13 +30,13 @@ var getInteractions = function (req, res) { } if (req.query.event_id === 'b93d4273-36fe-4008-ac40-fbc197910791') { - return res.json(no_interactions) + return res.json(noInteractions) } res.json(interactions) } -var getInteractionById = function (req, res) { +export const getInteractionById = function (req, res) { var interactions = { 'ec4a46ef-6e50-4a5c-bba0-e311f0471312': interactionWithDocumentLink, '0dcb3748-c097-4f20-b84f-0114bbb1a8e0': interactionWithoutDocumentLink, @@ -61,7 +61,7 @@ var getInteractionById = function (req, res) { return res.json(interactionResponse) } -var createInteraction = function (req, res) { +export const createInteraction = function (req, res) { if (_.isEqual(req.body.companies, ['4e6a4edb-55e3-4461-a88d-84d329ee7eb8'])) { return res.status(400).json(interactionValidationError) } @@ -82,16 +82,10 @@ var createInteraction = function (req, res) { res.status(201).json(interactionCreate) } -var archiveInteraction = function (req, res) { +export const archiveInteraction = function (req, res) { return getInteractionById(req, res) } -var patchInteraction = function (req, res) { +export const patchInteraction = function (req, res) { return getInteractionById(req, res) } - -exports.getInteractions = getInteractions -exports.getInteractionById = getInteractionById -exports.createInteraction = createInteraction -exports.archiveInteraction = archiveInteraction -exports.patchInteraction = patchInteraction diff --git a/test/sandbox/routes/v3/investment/investment-projects.js b/test/sandbox/routes/v3/investment/investment-projects.js index 2e8848db9fa..fc8698650b5 100644 --- a/test/sandbox/routes/v3/investment/investment-projects.js +++ b/test/sandbox/routes/v3/investment/investment-projects.js @@ -1,28 +1,28 @@ -var allProjects = require('../../../fixtures/v3/investment/projects.json') -var project = require('../../../fixtures/v3/investment/project.json') -var projectAudit = require('../../../fixtures/v3/investment/project-audit.json') -var projectEvidence = require('../../../fixtures/v3/investment/project-evidence.json') -var projectNoEvidence = require('../../../fixtures/v3/investment/project-no-evidence.json') -var documentDownload = require('../../../fixtures/v3/investment/project-document-download.json') +import allProjects from '../../../fixtures/v3/investment/projects.json' assert { type: 'json' } +import project from '../../../fixtures/v3/investment/project.json' assert { type: 'json' } +import projectAudit from '../../../fixtures/v3/investment/project-audit.json' assert { type: 'json' } +import projectEvidence from '../../../fixtures/v3/investment/project-evidence.json' assert { type: 'json' } +import projectNoEvidence from '../../../fixtures/v3/investment/project-no-evidence.json' assert { type: 'json' } +import projectDocumentDownload from '../../../fixtures/v3/investment/project-document-download.json' assert { type: 'json' } var allProjectsMap = {} allProjects.results.forEach(function (project) { allProjectsMap[project.id] = project }) -exports.investmentProjectById = function (req, res) { +export const investmentProjectById = function (req, res) { res.json(allProjectsMap[req.params.id] || project) } -exports.investmentProjects = function (req, res) { +export const investmentProjects = function (req, res) { res.json(allProjects) } -exports.investmentProjectAudit = function (req, res) { +export const investmentProjectAudit = function (req, res) { res.json(projectAudit) } -exports.investmentProjectEvidence = function (req, res) { +export const investmentProjectEvidence = function (req, res) { res.json( req.params.investmentId === '7ee2c85b-8ad9-46cd-8c39-9c9bef74ced0' ? projectNoEvidence @@ -30,11 +30,11 @@ exports.investmentProjectEvidence = function (req, res) { ) } -exports.documentDownload = function (req, res) { - res.json(documentDownload) +export const documentDownload = function (req, res) { + res.json(projectDocumentDownload) } -exports.patchInvestmentProject = function (req, res) { +export const patchInvestmentProject = function (req, res) { if (req.body) { if (req.body.associated_non_fdi_r_and_d_project) { res.sendStatus(200) @@ -53,10 +53,10 @@ exports.patchInvestmentProject = function (req, res) { }) } -exports.postInvestmentProject = function (req, res) { +export const postInvestmentProject = function (req, res) { res.json(project) } -exports.postInvestmentProjectEditTeams = function (req, res) { +export const postInvestmentProjectEditTeams = function (req, res) { res.sendStatus(200).json(allProjectsMap[req.params.id] || project) } diff --git a/test/sandbox/routes/v3/omis/omis.js b/test/sandbox/routes/v3/omis/omis.js index 8a9735feb62..de7ddd53239 100644 --- a/test/sandbox/routes/v3/omis/omis.js +++ b/test/sandbox/routes/v3/omis/omis.js @@ -1,24 +1,24 @@ -const cancelledOrder = require('../../../fixtures/v3/omis/cancelled-order.json') -const draftOrder = require('../../../fixtures/v3/omis/draft-order.json') -const paidOrder = require('../../../fixtures/v3/omis/paid-order.json') -const assignees = require('../../../fixtures/v3/omis/assignees.json') -const invoice = require('../../../fixtures/v3/omis/invoice.json') -const payments = require('../../../fixtures/v3/omis/payments.json') -const quote = require('../../../fixtures/v3/omis/quote.json') -const quoteAccepted = require('../../../fixtures/v3/omis/quote-accepted.json') -const subscribers = require('../../../fixtures/v3/omis/subscribers.json') -const quoteAwaitOrder = require('../../../fixtures/v3/omis/quote-awaiting-order.json') -const emptyOrder = require('../../../fixtures/v3/omis/empty-order.json') - -exports.assignees = function (req, res) { +import cancelledOrder from '../../../fixtures/v3/omis/cancelled-order.json' assert { type: 'json' } +import draftOrder from '../../../fixtures/v3/omis/draft-order.json' assert { type: 'json' } +import paidOrder from '../../../fixtures/v3/omis/paid-order.json' assert { type: 'json' } +import assignees from '../../../fixtures/v3/omis/assignees.json' assert { type: 'json' } +import invoice from '../../../fixtures/v3/omis/invoice.json' assert { type: 'json' } +import payments from '../../../fixtures/v3/omis/payments.json' assert { type: 'json' } +import quote from '../../../fixtures/v3/omis/quote.json' assert { type: 'json' } +import quoteAccepted from '../../../fixtures/v3/omis/quote-accepted.json' assert { type: 'json' } +import subscribers from '../../../fixtures/v3/omis/subscribers.json' assert { type: 'json' } +import quoteAwaitOrder from '../../../fixtures/v3/omis/quote-awaiting-order.json' assert { type: 'json' } +import emptyOrder from '../../../fixtures/v3/omis/empty-order.json' assert { type: 'json' } + +export const getAssignees = function (req, res) { res.json(assignees) } -exports.invoice = function (req, res) { +export const getInvoice = function (req, res) { res.json(invoice) } -exports.getOrderById = function (req, res) { +export const getOrderById = function (req, res) { const orders = { [cancelledOrder.id]: cancelledOrder, [paidOrder.id]: paidOrder, @@ -31,22 +31,22 @@ exports.getOrderById = function (req, res) { res.json(orders[req.params.id] || paidOrder) } -exports.payments = function (req, res) { +export const getPayments = function (req, res) { res.json(req.params.id === draftOrder.id ? [] : payments) } -exports.createPayments = function (req, res) { +export const createPayments = function (req, res) { res.json({}) } -exports.quote = function (req, res) { +export const getQuote = function (req, res) { res.json(quote) } -exports.subscriberList = function (req, res) { +export const subscriberList = function (req, res) { res.json(subscribers) } -exports.editQuoteDetail = function (req, res) { +export const editQuoteDetail = function (req, res) { res.json({}) } diff --git a/test/sandbox/routes/v3/search/company.js b/test/sandbox/routes/v3/search/company.js index e5c047ebd09..d79cd21a336 100644 --- a/test/sandbox/routes/v3/search/company.js +++ b/test/sandbox/routes/v3/search/company.js @@ -1,11 +1,11 @@ -var companies = require('../../../fixtures/v3/search/company.json') -var companyWithAttributes = require('../../../fixtures/v3/search/company-with-attributes.json') -var companyFilter = require('../../../fixtures/v3/search/filter/company-filter.json') -var companySortByMostRecent = require('../../../fixtures/v3/search/sort/company-sort-by-most-recent.json') -var companySortByLeastRecent = require('../../../fixtures/v3/search/sort/company-sort-by-least-recent.json') -var companySortByAZ = require('../../../fixtures/v3/search/sort/company-sort-by-a-z.json') +import companies from '../../../fixtures/v3/search/company.json' assert { type: 'json' } +import companyWithAttributes from '../../../fixtures/v3/search/company-with-attributes.json' assert { type: 'json' } +import companyFilter from '../../../fixtures/v3/search/filter/company-filter.json' assert { type: 'json' } +import companySortByMostRecent from '../../../fixtures/v3/search/sort/company-sort-by-most-recent.json' assert { type: 'json' } +import companySortByLeastRecent from '../../../fixtures/v3/search/sort/company-sort-by-least-recent.json' assert { type: 'json' } +import companySortByAZ from '../../../fixtures/v3/search/sort/company-sort-by-a-z.json' assert { type: 'json' } -exports.companies = function (req, res) { +export const getCompanies = function (req, res) { var companiesList = { collectionTest: companyWithAttributes, 'modified_on:desc': companySortByMostRecent, diff --git a/test/sandbox/routes/v3/search/contact.js b/test/sandbox/routes/v3/search/contact.js index 3aca61eea31..f12cf6b4cdf 100644 --- a/test/sandbox/routes/v3/search/contact.js +++ b/test/sandbox/routes/v3/search/contact.js @@ -1,6 +1,6 @@ -var contact = require('../../../fixtures/v3/search/contact.json') +import contact from '../../../fixtures/v3/search/contact.json' assert { type: 'json' } -exports.contacts = function (req, res) { +export const contacts = function (req, res) { if (req.body.original_query === 'no results') { return res.json({ count: 0, diff --git a/test/sandbox/routes/v3/search/event.js b/test/sandbox/routes/v3/search/event.js index fc3eabcaa8a..fe71cbe149b 100644 --- a/test/sandbox/routes/v3/search/event.js +++ b/test/sandbox/routes/v3/search/event.js @@ -1,8 +1,8 @@ -var events = require('../../../fixtures/v3/search/event.json') -var eventFilter = require('../../../fixtures/v3/search/filter/event-filter.json') -var eventSort = require('../../../fixtures/v3/search/sort/event-sort-by.json') +import events from '../../../fixtures/v3/search/event.json' assert { type: 'json' } +import eventFilter from '../../../fixtures/v3/search/filter/event-filter.json' assert { type: 'json' } +import eventSort from '../../../fixtures/v3/search/sort/event-sort-by.json' assert { type: 'json' } -exports.events = function (req, res) { +export const searchEvents = function (req, res) { var eventList = { 'modified_on:asc': eventSort, 'start_date:asc': eventSort, diff --git a/test/sandbox/routes/v3/search/interaction.js b/test/sandbox/routes/v3/search/interaction.js index 170ffef932a..accd8a701d2 100644 --- a/test/sandbox/routes/v3/search/interaction.js +++ b/test/sandbox/routes/v3/search/interaction.js @@ -1,5 +1,5 @@ -var interaction = require('../../../fixtures/v3/search/interaction.json') +import interaction from '../../../fixtures/v3/search/interaction.json' assert { type: 'json' } -exports.interaction = function (req, res) { +export const searchInteraction = function (req, res) { return res.json(interaction) } diff --git a/test/sandbox/routes/v3/search/investment-project.js b/test/sandbox/routes/v3/search/investment-project.js index 8e4c17be67a..54a7b8864fd 100644 --- a/test/sandbox/routes/v3/search/investment-project.js +++ b/test/sandbox/routes/v3/search/investment-project.js @@ -1,6 +1,6 @@ -let investmentProjects = require('../../../fixtures/v3/search/investment-project.json') +import investmentProjects from '../../../fixtures/v3/search/investment-project.json' assert { type: 'json' } -exports.investmentProjects = function (req, res) { +export const searchInvestmentProjects = function (req, res) { const hasFilters = !!( req.body.actual_land_date_before || req.body.actual_land_date_after || @@ -56,7 +56,7 @@ exports.investmentProjects = function (req, res) { /** * Mock a simple csv file for export */ -exports.export = function (req, res) { +export const exportCsv = function (req, res) { res.header('Content-Type', 'text/csv') res.attachment('export.csv') res.send('a,b,c\n1,2,3') diff --git a/test/sandbox/routes/v3/search/order.js b/test/sandbox/routes/v3/search/order.js index 2f4fc66ac55..3e95c100aaa 100644 --- a/test/sandbox/routes/v3/search/order.js +++ b/test/sandbox/routes/v3/search/order.js @@ -1,5 +1,5 @@ -const orders = require('../../../fixtures/v3/search/order.json') +import orders from '../../../fixtures/v3/search/order.json' assert { type: 'json' } -exports.order = function (req, res) { +export const order = function (req, res) { res.json(orders) } diff --git a/test/sandbox/routes/v4/activity-feed/activity-feed.js b/test/sandbox/routes/v4/activity-feed/activity-feed.js index 333cca55f6b..09c12f5287d 100644 --- a/test/sandbox/routes/v4/activity-feed/activity-feed.js +++ b/test/sandbox/routes/v4/activity-feed/activity-feed.js @@ -1,47 +1,50 @@ -var { isEqual, startsWith, get } = require('lodash') +import get from 'lodash/get.js' +import isEqual from 'lodash/isEqual.js' +import startsWith from 'lodash/startsWith.js' // External activities -var externalActivities = require('../../../fixtures/v4/activity-feed/external/external-activities.json') -var maxemailCampaignActivities = require('../../../fixtures/v4/activity-feed/external/maxemail-campaign-activities.json') -var maxemailEmailSentQuery = require('../../../fixtures/v4/activity-feed/external/maxemail-email-sent-query.json') -var maxemailEmailSentActivities = require('../../../fixtures/v4/activity-feed/external/maxemail-email-sent-activities.json') +import externalActivities from '../../../fixtures/v4/activity-feed/external/external-activities.json' assert { type: 'json' } + +import maxemailCampaignActivities from '../../../fixtures/v4/activity-feed/external/maxemail-campaign-activities.json' assert { type: 'json' } +import maxemailEmailSentQuery from '../../../fixtures/v4/activity-feed/external/maxemail-email-sent-query.json' assert { type: 'json' } +import maxemailEmailSentActivities from '../../../fixtures/v4/activity-feed/external/maxemail-email-sent-activities.json' assert { type: 'json' } // Data Hub and external activities -var dataHubAndExternalActivities = require('../../../fixtures/v4/activity-feed/data-hub-and-external-activities.json') -var companyActivities = require('../../../fixtures/v4/activity-feed/company-activity-feed-activities.json') -var companyRecentActivities = require('../../../fixtures/v4/activity-feed/company-recent-activity-feed-activities.json') -var companyUpcomingActivities = require('../../../fixtures/v4/activity-feed/company-upcoming-activity-feed-activities.json') -var contactDataHubAndExternalActivities = require('../../../fixtures/v4/activity-feed/contact-data-hub-and-external-activities.json') +import dataHubAndExternalActivities from '../../../fixtures/v4/activity-feed/data-hub-and-external-activities.json' assert { type: 'json' } + +import companyActivities from '../../../fixtures/v4/activity-feed/company-activity-feed-activities.json' assert { type: 'json' } +import companyRecentActivities from '../../../fixtures/v4/activity-feed/company-recent-activity-feed-activities.json' assert { type: 'json' } +import companyUpcomingActivities from '../../../fixtures/v4/activity-feed/company-upcoming-activity-feed-activities.json' assert { type: 'json' } +import contactDataHubAndExternalActivities from '../../../fixtures/v4/activity-feed/contact-data-hub-and-external-activities.json' assert { type: 'json' } // My activities -var myActivities = require('../../../fixtures/v4/activity-feed/my-activities.json') +import myActivities from '../../../fixtures/v4/activity-feed/my-activities.json' assert { type: 'json' } // Data Hub activities -var noActivity = require('../../../fixtures/v4/activity-feed/no-activity.json') -var dataHubEvents = require('../../../fixtures/v4/activity-feed/data-hub-events.json') +import noActivity from '../../../fixtures/v4/activity-feed/no-activity.json' assert { type: 'json' } + +import dataHubEvents from '../../../fixtures/v4/activity-feed/data-hub-events.json' assert { type: 'json' } //Aventri events ////This order is correct when sorted by: First Name A-Z, Last name A-Z and Company name A-Z -var aventriAttendeesAToZOrder = require('../../../fixtures/v4/activity-feed/aventri-attendees-sort-a-z.json') -var aventriRegistrationStatusWithAggregations = require('../../../fixtures/v4/activity-feed/aventri-registration-status-with-aggregation-counts.json') +import aventriAttendeesAToZOrder from '../../../fixtures/v4/activity-feed/aventri-attendees-sort-a-z.json' assert { type: 'json' } + +import aventriRegistrationStatusWithAggregations from '../../../fixtures/v4/activity-feed/aventri-registration-status-with-aggregation-counts.json' assert { type: 'json' } //ESS Interactions -var essInteractionsNoTitle = require('../../../fixtures/v4/activity-feed/ess-interaction-no-title.json') -var essInteractionDetail = require('../../../fixtures/v4/activity-feed/ess-interaction.json') +import essInteractionsNoTitle from '../../../fixtures/v4/activity-feed/ess-interaction-no-title.json' assert { type: 'json' } + +import essInteractionDetail from '../../../fixtures/v4/activity-feed/ess-interaction.json' assert { type: 'json' } ////This order is correct when sorted by: First Name Z-A, Last name Z-A and Company name Z-A -var aventriAttendeesZToAOrder = require('../../../fixtures/v4/activity-feed/aventri-attendees-sort-z-a.json') +import aventriAttendeesZToAOrder from '../../../fixtures/v4/activity-feed/aventri-attendees-sort-z-a.json' assert { type: 'json' } + //All Activitiy feed events -var allActivityFeedEvents = require('../../../fixtures/v4/activity-feed/all-activity-feed-events.json') -const { - generateAventriEventESResponse, -} = require('../../../fixtures/v4/activity-feed/aventri-events') -const { - generateDataHubActivitiesESResponse, -} = require('../../../fixtures/v4/activity-feed/data-hub-activities') -const { - generateAventriAttendeeESResponse, -} = require('../../../fixtures/v4/activity-feed/aventri-attendees') +import allActivityFeedEvents from '../../../fixtures/v4/activity-feed/all-activity-feed-events.json' assert { type: 'json' } + +import { generateAventriEventESResponse } from '../../../fixtures/v4/activity-feed/aventri-events.js' +import { generateDataHubActivitiesESResponse } from '../../../fixtures/v4/activity-feed/data-hub-activities.js' +import { generateAventriAttendeeESResponse } from '../../../fixtures/v4/activity-feed/aventri-attendees.js' let aventriEvents = generateAventriEventESResponse() let dataHubActivities = generateDataHubActivitiesESResponse() @@ -79,7 +82,8 @@ const COMPANY_WITH_MANY_CONTACTS = 'dit:DataHubCompany:57c41268-26be-4335-a873-557e8b0deb29' const MAX_EMAIL_CAMPAIGN = 'dit:DataHubCompany:6df487c5-7c75-4672-8907-f74b49e6c635' -exports.activityFeed = function (req, res) { + +export const activityFeed = function (req, res) { const size = get(req.body, 'size') // Activities by contact var isContactActivityQuery = get( @@ -344,14 +348,14 @@ exports.activityFeed = function (req, res) { req.body, "query.bool.filter.bool.should[0].bool.must[1].terms['object.attributedTo.id'][0]" ) - const activities = - company === BEST_EVER_COMPANY - ? companyActivities - : company === BEST_EVER_COMPANY_2 - ? essInteractionsNoTitle - : dataHubAndExternalActivities - - return res.json(activities) + + if (company === BEST_EVER_COMPANY) { + return res.json(companyActivities) + } + if (company === BEST_EVER_COMPANY_2) { + return res.json(essInteractionsNoTitle) + } + return res.json(dataHubAndExternalActivities) } // ESS Interactions diff --git a/test/sandbox/routes/v4/ch-company/company.js b/test/sandbox/routes/v4/ch-company/company.js index 82694249909..1a428152adb 100644 --- a/test/sandbox/routes/v4/ch-company/company.js +++ b/test/sandbox/routes/v4/ch-company/company.js @@ -1,6 +1,6 @@ -var mercuryTradingLtd = require('../../../fixtures/v4/ch-company/mercury-trading-ltd.json') +import mercuryTradingLtd from '../../../fixtures/v4/ch-company/mercury-trading-ltd.json' assert { type: 'json' } -exports.company = function (req, res) { +export const company = function (req, res) { var companies = { 99919: mercuryTradingLtd, } diff --git a/test/sandbox/routes/v4/company-list/companyList.js b/test/sandbox/routes/v4/company-list/companyList.js index 87415bcc558..b14aa69e729 100644 --- a/test/sandbox/routes/v4/company-list/companyList.js +++ b/test/sandbox/routes/v4/company-list/companyList.js @@ -1,24 +1,19 @@ -var companyList = require('../../../fixtures/v4/company-list/company-list.json') -var filteredCompanyLists = require('../../../fixtures/v4/company-list/filtered-company-lists.json') -var companyLists = require('../../../fixtures/v4/company-list/company-lists.json') -var companyListsDB = require('../../../fixtures/v4/company-list/company-lists-db.json') -var multipleItemCompanyList = require('../../../fixtures/v4/company-list/single-list-with-multiple-items.json') -var errorOnDeleteCompanyList = require('../../../fixtures/v4/company-list/single-list-with-error-on-delete.json') +import filteredCompanyLists from '../../../fixtures/v4/company-list/filtered-company-lists.json' assert { type: 'json' } +import companyLists from '../../../fixtures/v4/company-list/company-lists.json' assert { type: 'json' } +import companyListsDB from '../../../fixtures/v4/company-list/company-lists-db.json' assert { type: 'json' } +import multipleItemCompanyList from '../../../fixtures/v4/company-list/single-list-with-multiple-items.json' assert { type: 'json' } +import errorOnDeleteCompanyList from '../../../fixtures/v4/company-list/single-list-with-error-on-delete.json' assert { type: 'json' } const LAMBDA_COMPANY_ID = '0fb3379c-341c-4da4-b825-bf8d47b26baa' -exports.companyList = function (req, res) { - res.json(companyList) -} - -exports.getCompanyLists = function (req, res) { +export const getCompanyLists = function (req, res) { if (req.query.items__company_id == LAMBDA_COMPANY_ID) { return res.json(filteredCompanyLists) } return res.json(companyLists) } -exports.getCompanyList = function (req, res) { +export const getCompanyList = function (req, res) { if (req.params.listId === multipleItemCompanyList.id) { res.json(multipleItemCompanyList) return @@ -32,7 +27,7 @@ exports.getCompanyList = function (req, res) { res.sendStatus(404) } -exports.getCompanyListItems = function (req, res) { +export const getCompanyListItems = function (req, res) { return res.json( companyListsDB[req.params.listId] || { count: 0, @@ -43,11 +38,11 @@ exports.getCompanyListItems = function (req, res) { ) } -exports.createCompanyList = function (req, res) { +export const createCompanyList = function (req, res) { res.sendStatus(201) } -exports.deleteCompanyList = function (req, res) { +export const deleteCompanyList = function (req, res) { if (req.params.listId === multipleItemCompanyList.id) { res.sendStatus(204) return @@ -56,7 +51,7 @@ exports.deleteCompanyList = function (req, res) { res.sendStatus(404) } -exports.editCompanyList = function (req, res) { +export const editCompanyList = function (req, res) { if (req.params.listId === multipleItemCompanyList.id) { res.sendStatus(204) return @@ -65,10 +60,10 @@ exports.editCompanyList = function (req, res) { res.sendStatus(404) } -exports.addCompanyToList = function (req, res) { +export const addCompanyToList = function (req, res) { res.sendStatus(204) } -exports.removeCompanyFromList = function (req, res) { +export const removeCompanyFromList = function (req, res) { res.sendStatus(204) } diff --git a/test/sandbox/routes/v4/company/company.js b/test/sandbox/routes/v4/company/company.js index d6db7075b9d..525e9ef5f23 100644 --- a/test/sandbox/routes/v4/company/company.js +++ b/test/sandbox/routes/v4/company/company.js @@ -1,63 +1,56 @@ -var companyNoOverviewDetails = require('../../../fixtures/v4/company/company-no-overview-details.json') -var companyAllOverviewDetails = require('../../../fixtures/v4/company/company-all-overview-details.json') -var companiesNoResults = require('../../../fixtures/v4/company/companies-no-results.json') -var companyArchivedSubsidiaries = require('../../../fixtures/v4/company/company-archived-subsidiaries') -var company = require('../../../fixtures/v4/company/company.json') -var companyArchived = require('../../../fixtures/v4/company/company-archived.json') -var companyAutomaticallyArchived = require('../../../fixtures/v4/company/company-archived-automatically.json') -var companyDnBCorp = require('../../../fixtures/v4/company/company-dnb-corp.json') -var companyDnBSubsidiary = require('../../../fixtures/v4/company/company-dnb-subsidiary.json') -var companyDnBLtd = require('../../../fixtures/v4/company/company-dnb-ltd.json') -var companyDnBGlobalUltimate = require('../../../fixtures/v4/company/company-dnb-global-ultimate.json') -var companyDnBGlobalUltimateAndGlobalHq = require('../../../fixtures/v4/company/company-dnb-global-ultimate-and-global-hq.json') -var companyDnBGlobalUltimateSubsidiaries = require('../../../fixtures/v4/company/company-dnb-global-ultimate-subsidaries') -var companyInvestigationLtd = require('../../../fixtures/v4/company/company-investigation-ltd.json') -var companyLambdaPlc = require('../../../fixtures/v4/company/company-lambda-plc.json') -var companyMarsExportsLtd = require('../../../fixtures/v4/company/company-mars-exports-ltd.json') -var companyMinimallyMinimal = require('../../../fixtures/v4/company/company-minimally-minimal.json') -var companyOneListCorp = require('../../../fixtures/v4/company/company-one-list-corp.json') -var companySomeOtherCompany = require('../../../fixtures/v4/company/company-some-other-company.json') -var companyWithInvestment1 = require('../../../fixtures/v4/company/company-with-investment-1.json') -var companyWithInvestment2 = require('../../../fixtures/v4/company/company-with-investment-2.json') -var companyWithContacts = require('../../../fixtures/v4/company/company-with-contacts.json') -var companyList = require('../../../fixtures/v4/user/company-list.json') -var companyOneListTierDIta = require('../../../fixtures/v4/company/company-one-list-tier-d-ita.json') -var companyWithValidationError = require('../../../fixtures/v4/company/company-validation-error.json') -var companyAudit = require('../../../fixtures/v4/company-audit/company-audit.json') -var companyUsState = require('../../../fixtures/v4/company/company-us-state.json') -var companyCanadianProvince = require('../../../fixtures/v4/company/company-canada-province.json') -var exportWins = require('../../../fixtures/v4/company-export-wins/export-wins.json') -var exportWinsPage1 = require('../../../fixtures/v4/company-export-wins/export-wins-page-1.json') -var exportWinsPage2 = require('../../../fixtures/v4/company-export-wins/export-wins-page-2.json') -var exportWinsNoWins = require('../../../fixtures/v4/company-export-wins/export-wins-no-wins.json') -var companyCreateInvestigation = require('../../../fixtures/v4/dnb/company-create-investigation.json') -var companyWithNoGlobalAccountManager = require('../../../fixtures/v4/company/company-with-no-global-account-manager.json') -var companyWithAllActivities = require('../../../fixtures/v4/company/company-with-all-activities.json') -var companyWithManyContacts = require('../../../fixtures/v4/company/company-with-many-contacts.json') -var companyWithEssInteractionNoTitle = require('../../../fixtures/v4/company/company-with-ess-interactions.json') - -var largeCapitalProfileEmpty = require('../../../fixtures/v4/company/large-capital-profile-empty.json') -var largeCapitalProfileNew = require('../../../fixtures/v4/company/large-capital-profile-new.json') -var largeCapitalProfile = require('../../../fixtures/v4/company/large-capital-profile.json') -var largeCapitalProfileCreateError = require('../../../fixtures/v4/company/large-capital-profile-post-create-error.json') -var largeCapitalProfileCreateSuccess = require('../../../fixtures/v4/company/large-capital-profile-post-create-success.json') -var largeCapitalProfileList10 = require('../../../fixtures/v4/investment/large-capital-profile-list10.json') -var largeCapitalProfileList20 = require('../../../fixtures/v4/investment/large-capital-profile-list20.json') - -var referralDetails = require('../../../fixtures/v4/referrals/referral-details.json') -var referralDetailsNoContact = require('../../../fixtures/v4/referrals/referral-details-no-contact.json') - -var oneListGroupCoreTeam = require('../../../fixtures/v4/company/one-list-group-core-team.json') - -var ReferralIds = require('../../../constants/referrals') - -var companyWithExternalActivities = require('../../../fixtures/v4/company/company-with-external-activities.json') +import companyNoOverviewDetails from '../../../fixtures/v4/company/company-no-overview-details.json' assert { type: 'json' } +import companyAllOverviewDetails from '../../../fixtures/v4/company/company-all-overview-details.json' assert { type: 'json' } +import companiesNoResults from '../../../fixtures/v4/company/companies-no-results.json' assert { type: 'json' } +import companyArchivedSubsidiaries from '../../../fixtures/v4/company/company-archived-subsidiaries.js' +import company from '../../../fixtures/v4/company/company.json' assert { type: 'json' } +import companyArchived from '../../../fixtures/v4/company/company-archived.json' assert { type: 'json' } +import companyAutomaticallyArchived from '../../../fixtures/v4/company/company-archived-automatically.json' assert { type: 'json' } +import companyDnBCorp from '../../../fixtures/v4/company/company-dnb-corp.json' assert { type: 'json' } +import companyDnBSubsidiary from '../../../fixtures/v4/company/company-dnb-subsidiary.json' assert { type: 'json' } +import companyDnBLtd from '../../../fixtures/v4/company/company-dnb-ltd.json' assert { type: 'json' } +import companyDnBGlobalUltimate from '../../../fixtures/v4/company/company-dnb-global-ultimate.json' assert { type: 'json' } +import companyDnBGlobalUltimateAndGlobalHq from '../../../fixtures/v4/company/company-dnb-global-ultimate-and-global-hq.json' assert { type: 'json' } +import companyDnBGlobalUltimateSubsidiaries from '../../../fixtures/v4/company/company-dnb-global-ultimate-subsidaries.js' +import companyInvestigationLtd from '../../../fixtures/v4/company/company-investigation-ltd.json' assert { type: 'json' } +import companyLambdaPlc from '../../../fixtures/v4/company/company-lambda-plc.json' assert { type: 'json' } +import companyMarsExportsLtd from '../../../fixtures/v4/company/company-mars-exports-ltd.json' assert { type: 'json' } +import companyMinimallyMinimal from '../../../fixtures/v4/company/company-minimally-minimal.json' assert { type: 'json' } +import companyOneListCorp from '../../../fixtures/v4/company/company-one-list-corp.json' assert { type: 'json' } +import companySomeOtherCompany from '../../../fixtures/v4/company/company-some-other-company.json' assert { type: 'json' } +import companyWithInvestment1 from '../../../fixtures/v4/company/company-with-investment-1.json' assert { type: 'json' } +import companyWithInvestment2 from '../../../fixtures/v4/company/company-with-investment-2.json' assert { type: 'json' } +import companyWithContacts from '../../../fixtures/v4/company/company-with-contacts.json' assert { type: 'json' } +import companyList from '../../../fixtures/v4/user/company-list.json' assert { type: 'json' } +import companyOneListTierDIta from '../../../fixtures/v4/company/company-one-list-tier-d-ita.json' assert { type: 'json' } +import companyWithValidationError from '../../../fixtures/v4/company/company-validation-error.json' assert { type: 'json' } +import companyAudit from '../../../fixtures/v4/company-audit/company-audit.json' assert { type: 'json' } +import companyUsState from '../../../fixtures/v4/company/company-us-state.json' assert { type: 'json' } +import companyCanadianProvince from '../../../fixtures/v4/company/company-canada-province.json' assert { type: 'json' } +import exportWins from '../../../fixtures/v4/company-export-wins/export-wins.json' assert { type: 'json' } +import exportWinsPage1 from '../../../fixtures/v4/company-export-wins/export-wins-page-1.json' assert { type: 'json' } +import exportWinsPage2 from '../../../fixtures/v4/company-export-wins/export-wins-page-2.json' assert { type: 'json' } +import exportWinsNoWins from '../../../fixtures/v4/company-export-wins/export-wins-no-wins.json' assert { type: 'json' } +import companyCreateInvestigation from '../../../fixtures/v4/dnb/company-create-investigation.json' assert { type: 'json' } +import companyWithNoGlobalAccountManager from '../../../fixtures/v4/company/company-with-no-global-account-manager.json' assert { type: 'json' } +import companyWithAllActivities from '../../../fixtures/v4/company/company-with-all-activities.json' assert { type: 'json' } +import companyWithManyContacts from '../../../fixtures/v4/company/company-with-many-contacts.json' assert { type: 'json' } +import companyWithEssInteractionNoTitle from '../../../fixtures/v4/company/company-with-ess-interactions.json' assert { type: 'json' } +import largeCapitalProfileEmpty from '../../../fixtures/v4/company/large-capital-profile-empty.json' assert { type: 'json' } +import largeCapitalProfileNew from '../../../fixtures/v4/company/large-capital-profile-new.json' assert { type: 'json' } +import largeCapitalProfile from '../../../fixtures/v4/company/large-capital-profile.json' assert { type: 'json' } +import largeCapitalProfileCreateError from '../../../fixtures/v4/company/large-capital-profile-post-create-error.json' assert { type: 'json' } +import largeCapitalProfileCreateSuccess from '../../../fixtures/v4/company/large-capital-profile-post-create-success.json' assert { type: 'json' } +import largeCapitalProfileList10 from '../../../fixtures/v4/investment/large-capital-profile-list10.json' assert { type: 'json' } +import largeCapitalProfileList20 from '../../../fixtures/v4/investment/large-capital-profile-list20.json' assert { type: 'json' } +import referralDetails from '../../../fixtures/v4/referrals/referral-details.json' assert { type: 'json' } +import referralDetailsNoContact from '../../../fixtures/v4/referrals/referral-details-no-contact.json' assert { type: 'json' } +import oneListGroupCoreTeam from '../../../fixtures/v4/company/one-list-group-core-team.json' assert { type: 'json' } +import { REFERRAL_ID_NO_CONTACT } from '../../../constants/referrals.js' +import companyWithExternalActivities from '../../../fixtures/v4/company/company-with-external-activities.json' assert { type: 'json' } const waterSector = 'ae22c9d2-5f95-e211-a939-e4115bead28a' -state.investor_description = state.investor_description || '' - -exports.largeInvestorProfile = function (req, res) { +export const largeInvestorProfile = function (req, res) { if (req.query.investor_company_id === companyOneListCorp.id) { return res.json(largeCapitalProfile) } @@ -76,11 +69,11 @@ exports.largeInvestorProfile = function (req, res) { res.json(largeCapitalProfileEmpty) } -exports.largeInvestorProfilePatched = function (req, res) { +export const largeInvestorProfilePatched = function (req, res) { res.json(largeCapitalProfile) } -exports.largeInvestorProfilePostCreate = function (req, res) { +export const largeInvestorProfilePostCreate = function (req, res) { if (req.body.investor_company === '400094ac-f79a-43e5-9c88-059a7baa17f3') { return res.status(400).json(largeCapitalProfileCreateError) } @@ -88,7 +81,7 @@ exports.largeInvestorProfilePostCreate = function (req, res) { res.json(largeCapitalProfileCreateSuccess) } -exports.companies = function (req, res) { +export const companies = function (req, res) { var subsidiaries = { '346f78a5-1d23-4213-b4c2-bf48246a13c3': companyArchivedSubsidiaries, '079942718': companyDnBGlobalUltimateSubsidiaries, @@ -106,7 +99,7 @@ exports.companies = function (req, res) { } } -exports.company = function (req, res) { +export const getCompany = function (req, res) { var companies = { '4cd4128b-1bad-4f1e-9146-5d4678c6a018': company, '346f78a5-1d23-4213-b4c2-bf48246a13c3': companyArchived, @@ -136,11 +129,11 @@ exports.company = function (req, res) { 'c79ba298-106e-4629-aa12-61ec6e2e47ce': companyWithAllActivities, '57c41268-26be-4335-a873-557e8b0deb29': companyWithManyContacts, 'c79ba298-106e-4629-aa12-61ec6e2e47be': companyWithEssInteractionNoTitle, - 'not-managed': _.assign({}, company, { + 'not-managed': _.assign({}, getCompany, { name: 'Not Managed Company', id: 'not-managed', }), - managed: _.assign({}, company, { + managed: _.assign({}, getCompany, { name: 'Managed Company', id: 'managed', one_list_group_global_account_manager: { @@ -150,7 +143,7 @@ exports.company = function (req, res) { }, }, }), - 'managed-no-team': _.assign({}, company, { + 'managed-no-team': _.assign({}, getCompany, { name: 'Managed Company With No Team', id: 'managed-no-team', one_list_group_global_account_manager: { @@ -171,7 +164,7 @@ exports.company = function (req, res) { res.json(companies[req.params.companyId] || company) } -exports.companyPatched = function (req, res) { +export const companyPatched = function (req, res) { if (req.body.sector === '9738cecc-5f95-e211-a939-e4115bead28a') { return res.json(companySomeOtherCompany) } @@ -184,7 +177,7 @@ exports.companyPatched = function (req, res) { res.json(company) } -exports.getCompanyList = function (req, res) { +export const getCompanyList = function (req, res) { if (req.params.companyId === '0fb3379c-341c-4da4-b825-bf8d47b26baa') { return res.status(204).json({}) } else if (req.params.companyId === 'b2c34b41-1d5a-4b4b-9249-7c53ff2868dd') { @@ -193,15 +186,15 @@ exports.getCompanyList = function (req, res) { res.status(200).json(companyList) } -exports.manageAdviser = function (req, res) { +export const manageAdviser = function (req, res) { return res.status(204).json({}) } -exports.companyAudit = function (req, res) { +export const getCompanyAudit = function (req, res) { res.json(companyAudit) } -exports.exportWins = function (req, res) { +export const getExportWins = function (req, res) { var companyId = req.params.companyId if (companyId === companyLambdaPlc.id) { @@ -224,8 +217,8 @@ exports.exportWins = function (req, res) { } } -exports.referralDetails = function (req, res) { - if (req.params.id === ReferralIds.REFERRAL_ID_NO_CONTACT) { +export const getReferralDetails = function (req, res) { + if (req.params.id === REFERRAL_ID_NO_CONTACT) { return res.json(referralDetailsNoContact) } if (req.params.id === 'completed') { @@ -250,7 +243,7 @@ exports.referralDetails = function (req, res) { return res.json(referralDetails) } -exports.exportDetail = function (req, res) { +export const exportDetail = function (req, res) { var companyId = req.params.companyId if (companyId === companyLambdaPlc.id) { @@ -262,7 +255,7 @@ exports.exportDetail = function (req, res) { } } -exports.getOneListGroupCoreTeam = function (req, res) { +export const getOneListGroupCoreTeam = function (req, res) { var companyId = req.params.companyId if (companyId === companyMinimallyMinimal.id) { @@ -272,14 +265,14 @@ exports.getOneListGroupCoreTeam = function (req, res) { } } -exports.postOneListTierAndGlobalAccountManager = function (req, res) { +export const postOneListTierAndGlobalAccountManager = function (req, res) { res.send('') } -exports.postRemoveFromOneList = function (req, res) { +export const postRemoveFromOneList = function (req, res) { res.send('') } -exports.patchOneListCoreTeam = function (req, res) { +export const patchOneListCoreTeam = function (req, res) { res.send('') } diff --git a/test/sandbox/routes/v4/dnb/company-tree.js b/test/sandbox/routes/v4/dnb/company-tree.js index 06cbeeba4db..be1f1408340 100644 --- a/test/sandbox/routes/v4/dnb/company-tree.js +++ b/test/sandbox/routes/v4/dnb/company-tree.js @@ -1,11 +1,11 @@ // TODO - the logic in this should be moved to the fakers folder once there is a real api to call -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' -var ukRegion = require('../../../fixtures/v4/metadata/uk-region.json') -var employeeRange = require('../../../fixtures/v4/metadata/employee-range.json') -var headquarterType = require('../../../fixtures/v4/metadata/headquarter-type.json') -var oneListTier = require('../../../fixtures/v4/metadata/one-list-tier.json') +import ukRegion from '../../../fixtures/v4/metadata/uk-region.json' assert { type: 'json' } +import employeeRange from '../../../fixtures/v4/metadata/employee-range.json' assert { type: 'json' } +import headquarterType from '../../../fixtures/v4/metadata/headquarter-type.json' assert { type: 'json' } +import oneListTier from '../../../fixtures/v4/metadata/one-list-tier.json' assert { type: 'json' } const address = { line_1: faker.location.streetAddress(), @@ -122,7 +122,7 @@ const manuallyLinkedCompanyFaker = () => { } } -exports.fakerCompanyFamilyTree = ({ +export const fakerCompanyFamilyTree = ({ treeDepth = 2, minCompaniesPerLevel = 1, maxCompaniesPerLevel = 1, diff --git a/test/sandbox/routes/v4/dnb/index.js b/test/sandbox/routes/v4/dnb/index.js index 0f1203ce295..32e2c62a5b9 100644 --- a/test/sandbox/routes/v4/dnb/index.js +++ b/test/sandbox/routes/v4/dnb/index.js @@ -1,23 +1,23 @@ -var companyCreate = require('../../../fixtures/v4/dnb/company-create.json') -var companySearch = require('../../../fixtures/v4/dnb/company-search.json') -var companyLink = require('../../../fixtures/v4/dnb/company-link.json') -var companyChangeRequest = require('../../../fixtures/v4/dnb/company-change-request.json') -var companySearchMatched = require('../../../fixtures/v4/dnb/company-search-matched.json') -var companySearchNotMatched = require('../../../fixtures/v4/dnb/company-search-not-matched.json') -var companySearchNotMatchedNoCountry = require('../../../fixtures/v4/dnb/company-search-not-matched-no-country.json') -var companySearchNotMatchedUS = require('../../../fixtures/v4/dnb/company-search-not-matched-us.json') -var companyInvestigation = require('../../../fixtures/v4/dnb/company-investigation.json') -var dnbGlobalUltimate = require('../../../fixtures/v4/company/company-dnb-global-ultimate.json') +import companyCreate from '../../../fixtures/v4/dnb/company-create.json' assert { type: 'json' } +import companySearch from '../../../fixtures/v4/dnb/company-search.json' assert { type: 'json' } +import companyLink from '../../../fixtures/v4/dnb/company-link.json' assert { type: 'json' } +import companyChangeRequest from '../../../fixtures/v4/dnb/company-change-request.json' assert { type: 'json' } +import companySearchMatched from '../../../fixtures/v4/dnb/company-search-matched.json' assert { type: 'json' } +import companySearchNotMatched from '../../../fixtures/v4/dnb/company-search-not-matched.json' assert { type: 'json' } +import companySearchNotMatchedNoCountry from '../../../fixtures/v4/dnb/company-search-not-matched-no-country.json' assert { type: 'json' } +import companySearchNotMatchedUS from '../../../fixtures/v4/dnb/company-search-not-matched-us.json' assert { type: 'json' } +import companyInvestigation from '../../../fixtures/v4/dnb/company-investigation.json' assert { type: 'json' } +import dnbGlobalUltimate from '../../../fixtures/v4/company/company-dnb-global-ultimate.json' assert { type: 'json' } -const { fakerCompanyFamilyTree } = require('./company-tree') +import { fakerCompanyFamilyTree } from './company-tree.js' -exports.companyCreate = function (req, res) { +export const createDnbCompany = function (req, res) { if (req.body.duns_number === '111111111') { res.json(companyCreate) } } -exports.companySearch = function (req, res) { +export const dnbCompanySearch = function (req, res) { if (req.body.search_term === 'Simulate 500 Error') { return res.sendStatus(500) } @@ -35,19 +35,19 @@ exports.companySearch = function (req, res) { return res.json(companySearch) } -exports.companyInvestigation = function (req, res) { +export const dnbCompanyInvestigation = function (req, res) { res.json(companyInvestigation) } -exports.companyLink = function (req, res) { +export const dnbCompanyLink = function (req, res) { res.json(companyLink) } -exports.companyChangeRequest = function (req, res) { +export const dnbCompanyChangeRequest = function (req, res) { res.json(companyChangeRequest) } -exports.companyFamilyTree = function (req, res) { +export const companyFamilyTree = function (req, res) { res.json( fakerCompanyFamilyTree({ treeDepth: 3, @@ -57,7 +57,7 @@ exports.companyFamilyTree = function (req, res) { ) } -exports.relatedCompaniesCount = function (req, res) { +export const relatedCompaniesCount = function (req, res) { res.json( req.params.companyId === dnbGlobalUltimate.id ? { @@ -74,7 +74,8 @@ exports.relatedCompaniesCount = function (req, res) { } ) } -exports.relatedCompanies = function (req, res) { + +export const relatedCompanies = function (req, res) { res.json({ related_companies: [], reduced_tree: false, diff --git a/test/sandbox/routes/v4/event/event.js b/test/sandbox/routes/v4/event/event.js index dd7ba2b6e05..b23caccdf2f 100644 --- a/test/sandbox/routes/v4/event/event.js +++ b/test/sandbox/routes/v4/event/event.js @@ -1,10 +1,10 @@ -var eventById = require('../../../fixtures/v3/event/single-event.json') -var missingTeams = require('../../../fixtures/v3/event/single-event-missing-teams.json') -var emptyEvent = require('../../../fixtures/v3/event/empty-event.json') -var disabledEvent = require('../../../fixtures/v3/event/disable-event.json') -var eventCreate = require('../../../fixtures/v4/event/event-create.json') +import eventById from '../../../fixtures/v3/event/single-event.json' assert { type: 'json' } +import missingTeams from '../../../fixtures/v3/event/single-event-missing-teams.json' assert { type: 'json' } +import emptyEvent from '../../../fixtures/v3/event/empty-event.json' assert { type: 'json' } +import disabledEvent from '../../../fixtures/v3/event/disable-event.json' assert { type: 'json' } +import eventCreate from '../../../fixtures/v4/event/event-create.json' assert { type: 'json' } -function getEventById(res, req) { +function _getEventById(res, req) { var events = { 'b93d4273-36fe-4008-ac40-fbc197910791': emptyEvent, 'b93d4274-36fe-4008-ac40-fbc197910792': disabledEvent, @@ -14,14 +14,14 @@ function getEventById(res, req) { return res.status(200).json(events[req.params.eventId] || eventById) } -exports.eventById = function (req, res) { - return getEventById(res, req) +export const getEventById = function (req, res) { + return _getEventById(res, req) } -exports.createEvent = function (req, res) { +export const createEvent = function (req, res) { return res.status(201).json(eventCreate) } -exports.patchEvent = function (req, res) { - return getEventById(res, req) +export const patchEvent = function (req, res) { + return _getEventById(res, req) } diff --git a/test/sandbox/routes/v4/export-win/export-win.js b/test/sandbox/routes/v4/export-win/export-win.js index be89c98653a..294a2c06feb 100644 --- a/test/sandbox/routes/v4/export-win/export-win.js +++ b/test/sandbox/routes/v4/export-win/export-win.js @@ -1,4 +1,4 @@ -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' const fakeExportWin = (_, i) => ({ id: `export-win-id-#${i}`, @@ -30,7 +30,7 @@ const fakeExportWin = (_, i) => ({ const CONFIRMED_EXPORT_WINS = Array(123).fill().map(fakeExportWin) const UNCONFIRMED_EXPORT_WINS = Array(123).fill().map(fakeExportWin) -const getExportWinCollection = (req, res) => { +export const getExportWinCollection = (req, res) => { const exportWins = req.query.filter === 'unconfirmed' ? UNCONFIRMED_EXPORT_WINS @@ -44,7 +44,3 @@ const getExportWinCollection = (req, res) => { results: exportWins.slice(offset, offset + limit), }) } - -module.exports = { - getExportWinCollection, -} diff --git a/test/sandbox/routes/v4/interaction/interaction.js b/test/sandbox/routes/v4/interaction/interaction.js index 8d823093610..15999c8bb07 100644 --- a/test/sandbox/routes/v4/interaction/interaction.js +++ b/test/sandbox/routes/v4/interaction/interaction.js @@ -1,23 +1,23 @@ -var interaction = require('../../../fixtures/v4/interaction/interaction.json') -var interactionWithDocumentLink = require('../../../fixtures/v4/interaction/interaction-with-document-link.json') -var interactionWithoutDocumentLink = require('../../../fixtures/v4/interaction/interaction-without-document-link.json') -var interactions = require('../../../fixtures/v4/interaction/interactions.json') -var interactionByInvestmentProjectId = require('../../../fixtures/v4/interaction/interaction-by-investment-project-id.json') -var interactionByCompanyId = require('../../../fixtures/v4/interaction/interaction-by-company-id.json') -var interactionByContactId = require('../../../fixtures/v4/interaction/interaction-by-contact-id.json') -var interactionCancelledMeeting = require('../../../fixtures/v4/interaction/interaction-cancelled-meeting.json') -var interactionCreate = require('../../../fixtures/v4/interaction/interaction-create.json') -var interactionDraftFutureMeeting = require('../../../fixtures/v4/interaction/interaction-draft-future-meeting.json') -var interactionDraftPastMeeting = require('../../../fixtures/v4/interaction/interaction-draft-past-meeting.json') -var interactionValidationError = require('../../../fixtures/v4/interaction/interaction-validation-error.json') -var interactionWithReferral = require('../../../fixtures/v4/interaction/interaction-with-referral.json') -var interactionWithoutTheme = require('../../../fixtures/v4/interaction/interaction-without-theme') -var interactionInvestmentTheme = require('../../../fixtures/v4/interaction/interaction-investment-theme.json') -var interactionWithExportCountries = require('../../../fixtures/v4/interaction/interaction-with-export-countries.json') -var interactionWithoutExportCountries = require('../../../fixtures/v4/interaction/interaction-with-no-countries-discussed.json') -var interactionWithBusIntel = require('../../../fixtures/v4/interaction/interaction-with-business-intelligence.json') +import interaction from '../../../fixtures/v4/interaction/interaction.json' assert { type: 'json' } +import interactionWithDocumentLink from '../../../fixtures/v4/interaction/interaction-with-document-link.json' assert { type: 'json' } +import interactionWithoutDocumentLink from '../../../fixtures/v4/interaction/interaction-without-document-link.json' assert { type: 'json' } +import interactions from '../../../fixtures/v4/interaction/interactions.json' assert { type: 'json' } +import interactionByInvestmentProjectId from '../../../fixtures/v4/interaction/interaction-by-investment-project-id.json' assert { type: 'json' } +import interactionByCompanyId from '../../../fixtures/v4/interaction/interaction-by-company-id.json' assert { type: 'json' } +import interactionByContactId from '../../../fixtures/v4/interaction/interaction-by-contact-id.json' assert { type: 'json' } +import interactionCancelledMeeting from '../../../fixtures/v4/interaction/interaction-cancelled-meeting.json' assert { type: 'json' } +import interactionCreate from '../../../fixtures/v4/interaction/interaction-create.json' assert { type: 'json' } +import interactionDraftFutureMeeting from '../../../fixtures/v4/interaction/interaction-draft-future-meeting.json' assert { type: 'json' } +import interactionDraftPastMeeting from '../../../fixtures/v4/interaction/interaction-draft-past-meeting.json' assert { type: 'json' } +import interactionValidationError from '../../../fixtures/v4/interaction/interaction-validation-error.json' assert { type: 'json' } +import interactionWithReferral from '../../../fixtures/v4/interaction/interaction-with-referral.json' assert { type: 'json' } +import interactionWithoutTheme from '../../../fixtures/v4/interaction/interaction-without-theme.js' +import interactionInvestmentTheme from '../../../fixtures/v4/interaction/interaction-investment-theme.json' assert { type: 'json' } +import interactionWithExportCountries from '../../../fixtures/v4/interaction/interaction-with-export-countries.json' assert { type: 'json' } +import interactionWithoutExportCountries from '../../../fixtures/v4/interaction/interaction-with-no-countries-discussed.json' assert { type: 'json' } +import interactionWithBusIntel from '../../../fixtures/v4/interaction/interaction-with-business-intelligence.json' assert { type: 'json' } -var getInteractions = function (req, res) { +export const getInteractions = function (req, res) { if (req.query.contact_id) { return res.json(interactionByContactId) } @@ -35,7 +35,7 @@ var getInteractions = function (req, res) { res.json(interactions) } -var getInteractionById = function (req, res) { +export const getInteractionById = function (req, res) { var interactions = { 'ec4a46ef-6e50-4a5c-bba0-e311f0471312': interactionWithDocumentLink, '0dcb3748-c097-4f20-b84f-0114bbb1a8e0': interactionWithoutDocumentLink, @@ -64,7 +64,7 @@ var getInteractionById = function (req, res) { return res.json(interactionResponse) } -var createInteraction = function (req, res) { +export const createInteraction = function (req, res) { if (_.isEqual(req.body.companies, ['4e6a4edb-55e3-4461-a88d-84d329ee7eb8'])) { return res.status(400).json(interactionValidationError) } @@ -85,16 +85,10 @@ var createInteraction = function (req, res) { res.status(201).json(interactionCreate) } -var archiveInteraction = function (req, res) { +export const archiveInteraction = function (req, res) { return getInteractionById(req, res) } -var patchInteraction = function (req, res) { +export const patchInteraction = function (req, res) { return getInteractionById(req, res) } - -exports.getInteractions = getInteractions -exports.getInteractionById = getInteractionById -exports.createInteraction = createInteraction -exports.archiveInteraction = archiveInteraction -exports.patchInteraction = patchInteraction diff --git a/test/sandbox/routes/v4/investment/investment.js b/test/sandbox/routes/v4/investment/investment.js index 2301c538941..65bb3e12141 100644 --- a/test/sandbox/routes/v4/investment/investment.js +++ b/test/sandbox/routes/v4/investment/investment.js @@ -1,9 +1,9 @@ -var incompleteLargeCapitalOpportunity = require('../../../fixtures/v4/investment/large-capital-opportunity-incomplete.json') -var completeLargeCapitalOpportunity = require('../../../fixtures/v4/investment/large-capital-opportunity-complete.json') -var largeCapitalOpportunityList = require('../../../fixtures/v4/investment/large-capital-opportunity-list.json') -var largeCapitalOpportunityListOnePage = require('../../../fixtures/v4/investment/large-capital-opportunity-list-one-page.json') +import incompleteLargeCapitalOpportunity from '../../../fixtures/v4/investment/large-capital-opportunity-incomplete.json' assert { type: 'json' } +import completeLargeCapitalOpportunity from '../../../fixtures/v4/investment/large-capital-opportunity-complete.json' assert { type: 'json' } +import largeCapitalOpportunityList from '../../../fixtures/v4/investment/large-capital-opportunity-list.json' assert { type: 'json' } +import largeCapitalOpportunityListOnePage from '../../../fixtures/v4/investment/large-capital-opportunity-list-one-page.json' assert { type: 'json' } -exports.getLargeCapitalOpportunity = function (req, res) { +export const getLargeCapitalOpportunity = function (req, res) { if (req.params.opportunityId == completeLargeCapitalOpportunity.id) { res.json(completeLargeCapitalOpportunity) } else { @@ -11,13 +11,13 @@ exports.getLargeCapitalOpportunity = function (req, res) { } } -exports.getLargeCapitalOpportunityList = function (req, res) { +export const getLargeCapitalOpportunityList = function (req, res) { if (req.body.sortby == 'name:asc') { return res.json(largeCapitalOpportunityListOnePage) } res.json(largeCapitalOpportunityList) } -exports.saveOpportunityDetails = function (req, res) { +export const saveOpportunityDetails = function (req, res) { res.json(completeLargeCapitalOpportunity) } diff --git a/test/sandbox/routes/v4/metadata/index.js b/test/sandbox/routes/v4/metadata/index.js index 8fea279ef83..b0ac3558e41 100644 --- a/test/sandbox/routes/v4/metadata/index.js +++ b/test/sandbox/routes/v4/metadata/index.js @@ -1,168 +1,168 @@ -var likelihoodToLand = require('../../../fixtures/v4/metadata/likelihood-to-land.json') -var investmentInvestorType = require('../../../fixtures/v4/metadata/investment-investor-type.json') -var investmentInvolvement = require('../../../fixtures/v4/metadata/investment-involvement.json') -var investmentSpecificProgramme = require('../../../fixtures/v4/metadata/investment-specific-programme.json') -var investmentProjectStage = require('../../../fixtures/v4/metadata/investment-project-stage.json') -var investmentBusinessActivity = require('../../../fixtures/v4/metadata/investment-business-activity.json') -var investmentType = require('../../../fixtures/v4/metadata/investment-type.json') -var investmentStrategicDriver = require('../../../fixtures/v4/metadata/investment-strategic-driver.json') -var investmentDeliveryPartner = require('../../../fixtures/v4/metadata/investment-delivery-partner.json') -var exportExperienceCategory = require('../../../fixtures/v4/metadata/export-experience-category.json') -var orderServiceType = require('../../../fixtures/v4/metadata/order-service-type.json') -var orderCancellationReason = require('../../../fixtures/v4/metadata/order-cancellation-reason.json') -var omisMarket = require('../../../fixtures/v4/metadata/omis-market.json') -var fdiValue = require('../../../fixtures/v4/metadata/fdi-value.json') -var fdiType = require('../../../fixtures/v4/metadata/fdi-type.json') -var salaryRange = require('../../../fixtures/v4/metadata/salary-range.json') -var turnover = require('../../../fixtures/v4/metadata/turnover.json') -var sector = require('../../../fixtures/v4/metadata/sector.json') -var sectorLte0 = require('../../../fixtures/v4/metadata/sector-lte0.json') -var locationType = require('../../../fixtures/v4/metadata/location-type.json') -var eventType = require('../../../fixtures/v4/metadata/event-type.json') -var programme = require('../../../fixtures/v4/metadata/programme.json') -var businessType = require('../../../fixtures/v4/metadata/business-type.json') -var evidenceTag = require('../../../fixtures/v4/metadata/evidence-tag.json') -var employeeRange = require('../../../fixtures/v4/metadata/employee-range.json') -var country = require('../../../fixtures/v4/metadata/country.json') -var ukRegion = require('../../../fixtures/v4/metadata/uk-region.json') -var administrativeArea = require('../../../fixtures/v4/metadata/administrative-area.json') -var referralSourceWebsite = require('../../../fixtures/v4/metadata/referral-source-website.json') -var referralSourceMarketing = require('../../../fixtures/v4/metadata/referral-source-marketing.json') -var referralSourceActivity = require('../../../fixtures/v4/metadata/referral-source-activity.json') -var headquarterType = require('../../../fixtures/v4/metadata/headquarter-type.json') -var service = require('../../../fixtures/v4/metadata/service.json') -var communicationChannel = require('../../../fixtures/v4/metadata/communication-channel.json') -var team = require('../../../fixtures/v4/metadata/team.json') -var policyArea = require('../../../fixtures/v4/metadata/policy-area.json') -var policyIssueType = require('../../../fixtures/v4/metadata/policy-issue-type.json') -var exportBarrier = require('../../../fixtures/v4/metadata/export-barrier.json') -var serviceDeliveryStatus = require('../../../fixtures/v4/metadata/service-delivery-status.json') -var capitalInvestmentInvestorType = require('../../../fixtures/v4/metadata/capital-investment-investor-type.json') -var capitalInvestmentRequiredChecks = require('../../../fixtures/v4/metadata/capital-investment-required-checks.json') -var capitalInvestmentDealTicketSize = require('../../../fixtures/v4/metadata/capital-investment-deal-ticket-size.json') -var capitalInvestmentInvestmentTypes = require('../../../fixtures/v4/metadata/capital-investment-investment-types.json') -var capitalInvestmentMinimumReturnRate = require('../../../fixtures/v4/metadata/capital-investment-return-rate.json') -var capitalInvestmentTimeHorizons = require('../../../fixtures/v4/metadata/capital-investment-time-horizons.json') -var capitalInvestmentRestrictions = require('../../../fixtures/v4/metadata/capital-investment-restrictions.json') -var capitalInvestmentConstructionRisks = require('../../../fixtures/v4/metadata/capital-investment-construction-risks.json') -var capitalInvestmentEquityPercentage = require('../../../fixtures/v4/metadata/capital-investment-equity-percentage.json') -var capitalInvestmentDesiredDealRoles = require('../../../fixtures/v4/metadata/capital-investment-desired-deal-roles.json') -var capitalInvestmentAssetClassInterest = require('../../../fixtures/v4/metadata/capital-investment-asset-class-interest.json') -var capitalInvestmentValueTypes = require('../../../fixtures/metadata/capital-investment-opportunity-value-types.json') -var capitalInvestmentStatusTypes = require('../../../fixtures/metadata/capital-investment-opportunity-status-types.json') -var oneListTier = require('../../../fixtures/v4/metadata/one-list-tier.json') -var tradeAgreement = require('../../../fixtures/v4/metadata/trade-agreement.json') -var estimatedYears = require('../../../fixtures/v4/export/estimated-years.json') -var exportExperience = require('../../../fixtures/v4/export/export-experience.json') - -exports.likelihoodToLand = function (req, res) { +import likelihoodToLand from '../../../fixtures/v4/metadata/likelihood-to-land.json' assert { type: 'json' } +import investmentInvestorType from '../../../fixtures/v4/metadata/investment-investor-type.json' assert { type: 'json' } +import investmentInvolvement from '../../../fixtures/v4/metadata/investment-involvement.json' assert { type: 'json' } +import investmentSpecificProgramme from '../../../fixtures/v4/metadata/investment-specific-programme.json' assert { type: 'json' } +import investmentProjectStage from '../../../fixtures/v4/metadata/investment-project-stage.json' assert { type: 'json' } +import investmentBusinessActivity from '../../../fixtures/v4/metadata/investment-business-activity.json' assert { type: 'json' } +import investmentType from '../../../fixtures/v4/metadata/investment-type.json' assert { type: 'json' } +import investmentStrategicDriver from '../../../fixtures/v4/metadata/investment-strategic-driver.json' assert { type: 'json' } +import investmentDeliveryPartner from '../../../fixtures/v4/metadata/investment-delivery-partner.json' assert { type: 'json' } +import exportExperienceCategory from '../../../fixtures/v4/metadata/export-experience-category.json' assert { type: 'json' } +import orderServiceType from '../../../fixtures/v4/metadata/order-service-type.json' assert { type: 'json' } +import orderCancellationReason from '../../../fixtures/v4/metadata/order-cancellation-reason.json' assert { type: 'json' } +import omisMarket from '../../../fixtures/v4/metadata/omis-market.json' assert { type: 'json' } +import fdiValue from '../../../fixtures/v4/metadata/fdi-value.json' assert { type: 'json' } +import fdiType from '../../../fixtures/v4/metadata/fdi-type.json' assert { type: 'json' } +import salaryRange from '../../../fixtures/v4/metadata/salary-range.json' assert { type: 'json' } +import turnover from '../../../fixtures/v4/metadata/turnover.json' assert { type: 'json' } +import sector from '../../../fixtures/v4/metadata/sector.json' assert { type: 'json' } +import sectorLte0 from '../../../fixtures/v4/metadata/sector-lte0.json' assert { type: 'json' } +import locationType from '../../../fixtures/v4/metadata/location-type.json' assert { type: 'json' } +import eventType from '../../../fixtures/v4/metadata/event-type.json' assert { type: 'json' } +import programme from '../../../fixtures/v4/metadata/programme.json' assert { type: 'json' } +import businessType from '../../../fixtures/v4/metadata/business-type.json' assert { type: 'json' } +import evidenceTag from '../../../fixtures/v4/metadata/evidence-tag.json' assert { type: 'json' } +import employeeRange from '../../../fixtures/v4/metadata/employee-range.json' assert { type: 'json' } +import country from '../../../fixtures/v4/metadata/country.json' assert { type: 'json' } +import ukRegion from '../../../fixtures/v4/metadata/uk-region.json' assert { type: 'json' } +import administrativeArea from '../../../fixtures/v4/metadata/administrative-area.json' assert { type: 'json' } +import referralSourceWebsite from '../../../fixtures/v4/metadata/referral-source-website.json' assert { type: 'json' } +import referralSourceMarketing from '../../../fixtures/v4/metadata/referral-source-marketing.json' assert { type: 'json' } +import referralSourceActivity from '../../../fixtures/v4/metadata/referral-source-activity.json' assert { type: 'json' } +import headquarterType from '../../../fixtures/v4/metadata/headquarter-type.json' assert { type: 'json' } +import service from '../../../fixtures/v4/metadata/service.json' assert { type: 'json' } +import communicationChannel from '../../../fixtures/v4/metadata/communication-channel.json' assert { type: 'json' } +import team from '../../../fixtures/v4/metadata/team.json' assert { type: 'json' } +import policyArea from '../../../fixtures/v4/metadata/policy-area.json' assert { type: 'json' } +import policyIssueType from '../../../fixtures/v4/metadata/policy-issue-type.json' assert { type: 'json' } +import exportBarrier from '../../../fixtures/v4/metadata/export-barrier.json' assert { type: 'json' } +import serviceDeliveryStatus from '../../../fixtures/v4/metadata/service-delivery-status.json' assert { type: 'json' } +import capitalInvestmentInvestorType from '../../../fixtures/v4/metadata/capital-investment-investor-type.json' assert { type: 'json' } +import capitalInvestmentRequiredChecks from '../../../fixtures/v4/metadata/capital-investment-required-checks.json' assert { type: 'json' } +import capitalInvestmentDealTicketSize from '../../../fixtures/v4/metadata/capital-investment-deal-ticket-size.json' assert { type: 'json' } +import capitalInvestmentInvestmentTypes from '../../../fixtures/v4/metadata/capital-investment-investment-types.json' assert { type: 'json' } +import capitalInvestmentMinimumReturnRate from '../../../fixtures/v4/metadata/capital-investment-return-rate.json' assert { type: 'json' } +import capitalInvestmentTimeHorizons from '../../../fixtures/v4/metadata/capital-investment-time-horizons.json' assert { type: 'json' } +import capitalInvestmentRestrictions from '../../../fixtures/v4/metadata/capital-investment-restrictions.json' assert { type: 'json' } +import capitalInvestmentConstructionRisks from '../../../fixtures/v4/metadata/capital-investment-construction-risks.json' assert { type: 'json' } +import capitalInvestmentEquityPercentage from '../../../fixtures/v4/metadata/capital-investment-equity-percentage.json' assert { type: 'json' } +import capitalInvestmentDesiredDealRoles from '../../../fixtures/v4/metadata/capital-investment-desired-deal-roles.json' assert { type: 'json' } +import capitalInvestmentAssetClassInterest from '../../../fixtures/v4/metadata/capital-investment-asset-class-interest.json' assert { type: 'json' } +import capitalInvestmentValueTypes from '../../../fixtures/metadata/capital-investment-opportunity-value-types.json' assert { type: 'json' } +import capitalInvestmentStatusTypes from '../../../fixtures/metadata/capital-investment-opportunity-status-types.json' assert { type: 'json' } +import oneListTier from '../../../fixtures/v4/metadata/one-list-tier.json' assert { type: 'json' } +import tradeAgreement from '../../../fixtures/v4/metadata/trade-agreement.json' assert { type: 'json' } +import estimatedYears from '../../../fixtures/v4/export/estimated-years.json' assert { type: 'json' } +import exportExperience from '../../../fixtures/v4/export/export-experience.json' assert { type: 'json' } + +export const getLikelihoodToLand = function (req, res) { res.json(likelihoodToLand) } -exports.investmentInvestorType = function (req, res) { +export const getInvestmentInvestorType = function (req, res) { res.json(investmentInvestorType) } -exports.investmentSpecificProgramme = function (req, res) { +export const getInvestmentSpecificProgramme = function (req, res) { res.json(investmentSpecificProgramme) } -exports.investmentInvolvement = function (req, res) { +export const getInvestmentInvolvement = function (req, res) { res.json(investmentInvolvement) } -exports.investmentProjectStage = function (req, res) { +export const getInvestmentProjectStage = function (req, res) { res.json(investmentProjectStage) } -exports.investmentBusinessActivity = function (req, res) { +export const getInvestmentBusinessActivity = function (req, res) { res.json(investmentBusinessActivity) } -exports.investmentType = function (req, res) { +export const getInvestmentType = function (req, res) { res.json(investmentType) } -exports.investmentStrategicDriver = function (req, res) { +export const getInvestmentStrategicDriver = function (req, res) { res.json(investmentStrategicDriver) } -exports.investmentDeliveryPartner = function (req, res) { +export const getInvestmentDeliveryPartner = function (req, res) { res.json(investmentDeliveryPartner) } -exports.exportExperienceCategory = function (req, res) { +export const getExportExperienceCategory = function (req, res) { res.json(exportExperienceCategory) } -exports.orderServiceType = function (req, res) { +export const getOrderServiceType = function (req, res) { res.json(orderServiceType) } -exports.orderCancellationReason = function (req, res) { +export const getOrderCancellationReason = function (req, res) { res.json(orderCancellationReason) } -exports.omisMarket = function (req, res) { +export const getOmisMarket = function (req, res) { res.json(omisMarket) } -exports.fdiValue = function (req, res) { +export const getFdiValue = function (req, res) { res.json(fdiValue) } -exports.fdiType = function (req, res) { +export const getFdiType = function (req, res) { res.json(fdiType) } -exports.salaryRange = function (req, res) { +export const getSalaryRange = function (req, res) { res.json(salaryRange) } -exports.turnover = function (req, res) { +export const getTurnover = function (req, res) { res.json(turnover) } -exports.sector = function (req, res) { +export const getSector = function (req, res) { if (req.query.level__lte === '0') { return res.json(sectorLte0) } res.json(sector) } -exports.locationType = function (req, res) { +export const getLocationType = function (req, res) { res.json(locationType) } -exports.eventType = function (req, res) { +export const getEventType = function (req, res) { res.json(eventType) } -exports.programme = function (req, res) { +export const getProgramme = function (req, res) { res.json(programme) } -exports.businessType = function (req, res) { +export const getBusinessType = function (req, res) { res.json(businessType) } -exports.evidenceTag = function (req, res) { +export const getEvidenceTag = function (req, res) { res.json(evidenceTag) } -exports.employeeRange = function (req, res) { +export const getEmployeeRange = function (req, res) { res.json(employeeRange) } -exports.country = function (req, res) { +export const getCountry = function (req, res) { res.json(country) } -exports.ukRegion = function (req, res) { +export const getUkRegion = function (req, res) { res.json(ukRegion) } -exports.administrativeArea = function (req, res) { +export const getAdministrativeArea = function (req, res) { res.json( req.query.country ? administrativeArea.filter( @@ -172,114 +172,114 @@ exports.administrativeArea = function (req, res) { ) } -exports.referralSourceWebsite = function (req, res) { +export const getReferralSourceWebsite = function (req, res) { res.json(referralSourceWebsite) } -exports.referralSourceMarketing = function (req, res) { +export const getReferralSourceMarketing = function (req, res) { res.json(referralSourceMarketing) } -exports.referralSourceActivity = function (req, res) { +export const getReferralSourceActivity = function (req, res) { res.json(referralSourceActivity) } -exports.headquarterType = function (req, res) { +export const getHeadquarterType = function (req, res) { res.json(headquarterType) } -exports.service = function (req, res) { +export const getService = function (req, res) { res.json(service) } -exports.communicationChannel = function (req, res) { +export const getCommunicationChannel = function (req, res) { res.json(communicationChannel) } -exports.team = function (req, res) { +export const getTeam = function (req, res) { res.json(team) } -exports.policyArea = function (req, res) { +export const getPolicyArea = function (req, res) { res.json(policyArea) } -exports.policyIssueType = function (req, res) { +export const getPolicyIssueType = function (req, res) { res.json(policyIssueType) } -exports.exportBarrier = function (req, res) { +export const getExportBarrier = function (req, res) { res.json(exportBarrier) } -exports.serviceDeliveryStatus = function (req, res) { +export const getServiceDeliveryStatus = function (req, res) { res.json(serviceDeliveryStatus) } -exports.capitalInvestmentInvestorType = function (req, res) { +export const getCapitalInvestmentInvestorType = function (req, res) { res.json(capitalInvestmentInvestorType) } -exports.capitalInvestmentRequiredChecks = function (req, res) { +export const getCapitalInvestmentRequiredChecks = function (req, res) { res.json(capitalInvestmentRequiredChecks) } -exports.capitalInvestmentValueTypes = function (req, res) { +export const getCapitalInvestmentValueTypes = function (req, res) { res.json(capitalInvestmentValueTypes) } -exports.capitalInvestmentStatusTypes = function (req, res) { +export const getCapitalInvestmentStatusTypes = function (req, res) { res.json(capitalInvestmentStatusTypes) } -exports.capitalInvestmentDealTicketSize = function (req, res) { +export const getCapitalInvestmentDealTicketSize = function (req, res) { res.json(capitalInvestmentDealTicketSize) } -exports.capitalInvestmentInvestmentTypes = function (req, res) { +export const getCapitalInvestmentInvestmentTypes = function (req, res) { res.json(capitalInvestmentInvestmentTypes) } -exports.capitalInvestmentMinimumReturnRate = function (req, res) { +export const getCapitalInvestmentMinimumReturnRate = function (req, res) { res.json(capitalInvestmentMinimumReturnRate) } -exports.capitalInvestmentTimeHorizons = function (req, res) { +export const getCapitalInvestmentTimeHorizons = function (req, res) { res.json(capitalInvestmentTimeHorizons) } -exports.capitalInvestmentRestrictions = function (req, res) { +export const getCapitalInvestmentRestrictions = function (req, res) { res.json(capitalInvestmentRestrictions) } -exports.capitalInvestmentConstructionRisks = function (req, res) { +export const getCapitalInvestmentConstructionRisks = function (req, res) { res.json(capitalInvestmentConstructionRisks) } -exports.capitalInvestmentEquityPercentage = function (req, res) { +export const getCapitalInvestmentEquityPercentage = function (req, res) { res.json(capitalInvestmentEquityPercentage) } -exports.capitalInvestmentDesiredDealRoles = function (req, res) { +export const getCapitalInvestmentDesiredDealRoles = function (req, res) { res.json(capitalInvestmentDesiredDealRoles) } -exports.capitalInvestmentAssetClassInterest = function (req, res) { +export const getCapitalInvestmentAssetClassInterest = function (req, res) { res.json(capitalInvestmentAssetClassInterest) } -exports.oneListTier = function (req, res) { +export const getOneListTier = function (req, res) { res.json(oneListTier) } -exports.tradeAgreement = function (req, res) { +export const getTradeAgreement = function (req, res) { res.json(tradeAgreement) } -exports.exportYears = function (req, res) { +export const getExportYears = function (req, res) { res.json(estimatedYears) } -exports.exportExperience = function (req, res) { +export const getExportExperience = function (req, res) { res.json(exportExperience) } diff --git a/test/sandbox/routes/v4/objective/index.js b/test/sandbox/routes/v4/objective/index.js index 5c0163dd22e..6e2237350c7 100644 --- a/test/sandbox/routes/v4/objective/index.js +++ b/test/sandbox/routes/v4/objective/index.js @@ -1,7 +1,7 @@ -exports.objectives = function (req, res) { +export const objectives = function (req, res) { res.json({ results: [] }) } -exports.objectivesCount = function (req, res) { +export const objectivesCount = function (req, res) { res.json({ archived_count: 0, not_archived_count: 0 }) } diff --git a/test/sandbox/routes/v4/proposition/proposition.js b/test/sandbox/routes/v4/proposition/proposition.js index 1e7fba88101..14fcd637bfb 100644 --- a/test/sandbox/routes/v4/proposition/proposition.js +++ b/test/sandbox/routes/v4/proposition/proposition.js @@ -1,6 +1,6 @@ -var outstandingPropositions = require('../../../fixtures/v4/proposition/outstanding_propositions.json') +import outstandingPropositions from '../../../fixtures/v4/proposition/outstanding_propositions.json' assert { type: 'json' } -exports.propositions = function (req, res) { +export const propositions = function (req, res) { outstandingPropositions.results = outstandingPropositions.results.map( ({ deadline, ...rest }, i) => { let newDeadline = new Date() diff --git a/test/sandbox/routes/v4/referrals/list.js b/test/sandbox/routes/v4/referrals/list.js index b86ab06b5ff..4592749cbfc 100644 --- a/test/sandbox/routes/v4/referrals/list.js +++ b/test/sandbox/routes/v4/referrals/list.js @@ -1,5 +1,5 @@ -var referrals = require('../../../fixtures/v4/referrals/referral-list') +import referrals from '../../../fixtures/v4/referrals/referral-list.js' -module.exports = function (req, res) { +export default function (req, res) { return res.json({ count: referrals.length, results: referrals }) } diff --git a/test/sandbox/routes/v4/referrals/referral-details.js b/test/sandbox/routes/v4/referrals/referral-details.js index 58a7beb6357..ccc83ea52b1 100644 --- a/test/sandbox/routes/v4/referrals/referral-details.js +++ b/test/sandbox/routes/v4/referrals/referral-details.js @@ -1,8 +1,8 @@ -var referralDetails = require('../../../fixtures/v4/referrals/referral-details.json') -var referralDetailsNoContact = require('../../../fixtures/v4/referrals/referral-details-no-contact.json') -var id = require('../../../constants/referrals') +import referralDetails from '../../../fixtures/v4/referrals/referral-details.json' assert { type: 'json' } +import referralDetailsNoContact from '../../../fixtures/v4/referrals/referral-details-no-contact.json' assert { type: 'json' } +import id from '../../../constants/referrals' -exports.referralDetails = function (req, res) { +export const getReferralDetails = function (req, res) { if (req.params.id === id.REFERRAL_ID_NO_CONTACT) { return res.json(referralDetailsNoContact) } diff --git a/test/sandbox/routes/v4/reminder/reminder.js b/test/sandbox/routes/v4/reminder/reminder.js index 356e7739458..c1568c10458 100644 --- a/test/sandbox/routes/v4/reminder/reminder.js +++ b/test/sandbox/routes/v4/reminder/reminder.js @@ -1,6 +1,6 @@ -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' -var summary = require('../../../fixtures/v4/reminder/summary.json') +import summary from '../../../fixtures/v4/reminder/summary.json' assert { type: 'json' } const myTasksReminderFaker = (overrides = {}) => ({ id: faker.string.uuid(), @@ -30,11 +30,11 @@ const myTasksReminderListFaker = (length = 10, overrides = {}) => { return list } -exports.summary = function (req, res) { +export const getSummary = function (req, res) { res.json(summary) } -exports.myTasks = function (req, res) { +export const myTasks = function (req, res) { const count = 11 res.json({ count: count, diff --git a/test/sandbox/routes/v4/reminders/index.js b/test/sandbox/routes/v4/reminders/index.js index 1aaf09b59a4..0104fcea24d 100644 --- a/test/sandbox/routes/v4/reminders/index.js +++ b/test/sandbox/routes/v4/reminders/index.js @@ -1,36 +1,36 @@ -exports.deleteReminder = function (req, res) { +export const deleteReminder = function (req, res) { res.sendStatus(204) } -exports.getEstimatedLandDateSubscriptions = function (req, res) { +export const getEstimatedLandDateSubscriptions = function (req, res) { res.json({ reminder_days: [30, 60], email_reminders_enabled: true, }) } -exports.saveEstimatedLandDateSubscriptions = function (req, res) { +export const saveEstimatedLandDateSubscriptions = function (req, res) { res.json({ reminder_days: [30, 60], email_reminders_enabled: true, }) } -exports.getNoRecentInteractionsSubscriptions = function (req, res) { +export const getNoRecentInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [30], email_reminders_enabled: false, }) } -exports.saveNoRecentInteractionsSubscriptions = function (req, res) { +export const saveNoRecentInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [30, 60], email_reminders_enabled: true, }) } -exports.getReminderSubscriptionsSummary = function (req, res) { +export const getReminderSubscriptionsSummary = function (req, res) { res.json({ estimated_land_date: { email_reminders_enabled: true, @@ -72,35 +72,35 @@ exports.getReminderSubscriptionsSummary = function (req, res) { }) } -exports.getNoRecentExportInteractionsSubscriptions = function (req, res) { +export const getNoRecentExportInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [20], email_reminders_enabled: false, }) } -exports.saveNoRecentExportInteractionsSubscriptions = function (req, res) { +export const saveNoRecentExportInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [20, 40], email_reminders_enabled: true, }) } -exports.getNewExportInteractionsSubscriptions = function (req, res) { +export const getNewExportInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [2], email_reminders_enabled: false, }) } -exports.saveNewExportInteractionsSubscriptions = function (req, res) { +export const saveNewExportInteractionsSubscriptions = function (req, res) { res.json({ reminder_days: [2, 4], email_reminders_enabled: true, }) } -exports.getEstimatedLandDateReminders = function (req, res) { +export const getEstimatedLandDateReminders = function (req, res) { res.json({ count: 14, next: null, @@ -120,7 +120,7 @@ exports.getEstimatedLandDateReminders = function (req, res) { }) } -exports.getNoRecentExportInteractionReminders = function (req, res) { +export const getNoRecentExportInteractionReminders = function (req, res) { res.json({ count: 15, next: null, @@ -188,7 +188,7 @@ exports.getNoRecentExportInteractionReminders = function (req, res) { }) } -exports.getNewExportInteractionReminders = function (req, res) { +export const getNewExportInteractionReminders = function (req, res) { res.json({ count: 15, next: null, @@ -256,7 +256,7 @@ exports.getNewExportInteractionReminders = function (req, res) { }) } -exports.getNoRecentInvestmentInteractionReminders = function (req, res) { +export const getNoRecentInvestmentInteractionReminders = function (req, res) { res.json({ count: 15, next: null, @@ -276,13 +276,13 @@ exports.getNoRecentInvestmentInteractionReminders = function (req, res) { }) } -exports.getSubscriptions = function (req, res) { +export const getSubscriptions = function (req, res) { res.json({ email_reminders_enabled: false, }) } -exports.saveSubscriptions = function (req, res) { +export const saveSubscriptions = function (req, res) { res.json({ email_reminders_enabled: true, }) diff --git a/test/sandbox/routes/v4/search/adviser.js b/test/sandbox/routes/v4/search/adviser.js index 8d575b7c0b5..20167745a72 100644 --- a/test/sandbox/routes/v4/search/adviser.js +++ b/test/sandbox/routes/v4/search/adviser.js @@ -1,5 +1,5 @@ -var advisers = require('../../../fixtures/v4/search/advisers.json') +import advisers from '../../../fixtures/v4/search/advisers.json' assert { type: 'json' } -exports.advisers = function (req, res) { +export const searchAdvisers = function (req, res) { return res.json(advisers) } diff --git a/test/sandbox/routes/v4/search/company.js b/test/sandbox/routes/v4/search/company.js index 04a1fb4e50f..277d911b7ac 100644 --- a/test/sandbox/routes/v4/search/company.js +++ b/test/sandbox/routes/v4/search/company.js @@ -1,11 +1,11 @@ -var companies = require('../../../fixtures/v4/search/company.json') -var companyWithAttributes = require('../../../fixtures/v4/search/company-with-attributes.json') -var companyFilter = require('../../../fixtures/v4/search/filter/company-filter.json') -var companySortByMostRecent = require('../../../fixtures/v4/search/sort/company-sort-by-most-recent.json') -var companySortByLeastRecent = require('../../../fixtures/v4/search/sort/company-sort-by-least-recent.json') -var companySortByAZ = require('../../../fixtures/v4/search/sort/company-sort-by-a-z.json') +import companies from '../../../fixtures/v4/search/company.json' assert { type: 'json' } +import companyWithAttributes from '../../../fixtures/v4/search/company-with-attributes.json' assert { type: 'json' } +import companyFilter from '../../../fixtures/v4/search/filter/company-filter.json' assert { type: 'json' } +import companySortByMostRecent from '../../../fixtures/v4/search/sort/company-sort-by-most-recent.json' assert { type: 'json' } +import companySortByLeastRecent from '../../../fixtures/v4/search/sort/company-sort-by-least-recent.json' assert { type: 'json' } +import companySortByAZ from '../../../fixtures/v4/search/sort/company-sort-by-a-z.json' assert { type: 'json' } -exports.companies = function (req, res) { +export const searchCompanies = function (req, res) { var companiesList = { collectionTest: companyWithAttributes, 'modified_on:desc': companySortByMostRecent, diff --git a/test/sandbox/routes/v4/search/company/autocomplete.js b/test/sandbox/routes/v4/search/company/autocomplete.js index 33b873f5813..4dca3a3cb70 100644 --- a/test/sandbox/routes/v4/search/company/autocomplete.js +++ b/test/sandbox/routes/v4/search/company/autocomplete.js @@ -1,5 +1,5 @@ -var filteredCompanies = require('./../../../../fixtures/v4/search/company/autocomplete.json') +import filteredCompanies from './../../../../fixtures/v4/search/company/autocomplete.json' assert { type: 'json' } -exports.companiesAutocomplete = function (req, res) { +export const companiesAutocomplete = function (req, res) { res.json(filteredCompanies) } diff --git a/test/sandbox/routes/v4/search/export.js b/test/sandbox/routes/v4/search/export.js deleted file mode 100644 index 9a82b6eca43..00000000000 --- a/test/sandbox/routes/v4/search/export.js +++ /dev/null @@ -1,44 +0,0 @@ -var fullExportHistoryPage1 = require('../../../fixtures/v4/export/full-export-history-page-1.json') -var emptyFullExportHistory = require('../../../fixtures/v4/export/empty-full-export-history.json') -var unkownUserExportHistory = require('../../../fixtures/v4/export/unkown-user-export-history.json') -var updateOnlyExportHistory = require('../../../fixtures/v4/export/update-only-export-history.json') -var countryExportHistory = require('../../../fixtures/v4/export/country-export-history.json') -var exportHistoryWithInteractions = require('../../../fixtures/v4/export/history-with-interactions.json') -var exportHistoryGroups = require('../../../fixtures/v4/export/history-groups.json') -var historyGroupsWithNullUsers = require('../../../fixtures/v4/export/history-groups-null-users.json') - -var dnbCorp = require('../../../fixtures/v4/company/company-dnb-corp.json') -var marsExportsLtd = require('../../../fixtures/v4/company/company-mars-exports-ltd.json') -var dnbSubsidiary = require('../../../fixtures/v4/company/company-dnb-subsidiary.json') -var investigationLtd = require('../../../fixtures/v4/company/company-investigation-ltd.json') -var globalUltimate = require('../../../fixtures/v4/company/company-dnb-global-ultimate.json') -var minimallyMinimal = require('../../../fixtures/v4/company/company-minimally-minimal.json') - -exports.fetchExportHistory = function (req, res) { - var companyId = req.body.company - - if (req.body.country === '975f66a0-5d95-e211-a939-e4115bead28a') { - return res.json(countryExportHistory) - } - - if (companyId === dnbCorp.id) { - return res.json(fullExportHistoryPage1) - } - if (companyId === marsExportsLtd.id) { - return res.json(unkownUserExportHistory) - } - if (companyId === dnbSubsidiary.id) { - return res.json(updateOnlyExportHistory) - } - if (companyId === investigationLtd.id) { - return res.json(exportHistoryWithInteractions) - } - if (companyId === globalUltimate.id) { - return res.json(exportHistoryGroups) - } - if (companyId === minimallyMinimal.id) { - return res.json(historyGroupsWithNullUsers) - } - - return res.json(emptyFullExportHistory) -} diff --git a/test/sandbox/routes/v4/search/exportHistory.js b/test/sandbox/routes/v4/search/exportHistory.js new file mode 100644 index 00000000000..6b48d94c01e --- /dev/null +++ b/test/sandbox/routes/v4/search/exportHistory.js @@ -0,0 +1,43 @@ +import fullExportHistoryPage1 from '../../../fixtures/v4/export/full-export-history-page-1.json' assert { type: 'json' } +import emptyFullExportHistory from '../../../fixtures/v4/export/empty-full-export-history.json' assert { type: 'json' } +import unkownUserExportHistory from '../../../fixtures/v4/export/unkown-user-export-history.json' assert { type: 'json' } +import updateOnlyExportHistory from '../../../fixtures/v4/export/update-only-export-history.json' assert { type: 'json' } +import countryExportHistory from '../../../fixtures/v4/export/country-export-history.json' assert { type: 'json' } +import exportHistoryWithInteractions from '../../../fixtures/v4/export/history-with-interactions.json' assert { type: 'json' } +import exportHistoryGroups from '../../../fixtures/v4/export/history-groups.json' assert { type: 'json' } +import historyGroupsWithNullUsers from '../../../fixtures/v4/export/history-groups-null-users.json' assert { type: 'json' } +import dnbCorp from '../../../fixtures/v4/company/company-dnb-corp.json' assert { type: 'json' } +import marsExportsLtd from '../../../fixtures/v4/company/company-mars-exports-ltd.json' assert { type: 'json' } +import dnbSubsidiary from '../../../fixtures/v4/company/company-dnb-subsidiary.json' assert { type: 'json' } +import investigationLtd from '../../../fixtures/v4/company/company-investigation-ltd.json' assert { type: 'json' } +import globalUltimate from '../../../fixtures/v4/company/company-dnb-global-ultimate.json' assert { type: 'json' } +import minimallyMinimal from '../../../fixtures/v4/company/company-minimally-minimal.json' assert { type: 'json' } + +export const fetchExportHistory = function (req, res) { + var companyId = req.body.company + + if (req.body.country === '975f66a0-5d95-e211-a939-e4115bead28a') { + return res.json(countryExportHistory) + } + + if (companyId === dnbCorp.id) { + return res.json(fullExportHistoryPage1) + } + if (companyId === marsExportsLtd.id) { + return res.json(unkownUserExportHistory) + } + if (companyId === dnbSubsidiary.id) { + return res.json(updateOnlyExportHistory) + } + if (companyId === investigationLtd.id) { + return res.json(exportHistoryWithInteractions) + } + if (companyId === globalUltimate.id) { + return res.json(exportHistoryGroups) + } + if (companyId === minimallyMinimal.id) { + return res.json(historyGroupsWithNullUsers) + } + + return res.json(emptyFullExportHistory) +} diff --git a/test/sandbox/routes/v4/search/large-investor-profile/results.js b/test/sandbox/routes/v4/search/large-investor-profile/results.js index 8e88c2e10cb..212f26b4bff 100644 --- a/test/sandbox/routes/v4/search/large-investor-profile/results.js +++ b/test/sandbox/routes/v4/search/large-investor-profile/results.js @@ -1,6 +1,6 @@ -var largeCapitalProfile = require('./../../../../fixtures/v4/investment/large-capital-profile-list10.json') +import largeCapitalProfile from './../../../../fixtures/v4/investment/large-capital-profile-list10.json' assert { type: 'json' } -exports.largeInvestorProfile = function (req, res) { +export const largeInvestorProfile = function (req, res) { const countryOfOriginFilter = req.body.country_of_origin || [] const assetClassesOfInterestFilter = req.body.asset_classes_of_interest || [] const ukRegionLocationsFilter = req.body.uk_region_location || [] diff --git a/test/sandbox/routes/v4/search/myTasks.js b/test/sandbox/routes/v4/search/myTasks.js deleted file mode 100644 index 3f13cd4e30f..00000000000 --- a/test/sandbox/routes/v4/search/myTasks.js +++ /dev/null @@ -1,5 +0,0 @@ -var myTasks = require('../../../fixtures/v4/search/myTasks.json') - -exports.myTasks = function (req, res) { - return res.json(myTasks) -} diff --git a/test/sandbox/routes/v4/search/tasks.js b/test/sandbox/routes/v4/search/tasks.js new file mode 100644 index 00000000000..ec9f98e02b4 --- /dev/null +++ b/test/sandbox/routes/v4/search/tasks.js @@ -0,0 +1,5 @@ +import myTasks from '../../../fixtures/v4/search/myTasks.json' assert { type: 'json' } + +export const tasks = function (req, res) { + return res.json(myTasks) +} diff --git a/test/sandbox/routes/v4/task/index.js b/test/sandbox/routes/v4/task/index.js index 13becd82765..6bbc5011de9 100644 --- a/test/sandbox/routes/v4/task/index.js +++ b/test/sandbox/routes/v4/task/index.js @@ -1,12 +1,12 @@ -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' -const { generateTask, generateTasks } = require('./tasks') +import { generateTask, generateTasks } from './tasks.js' -exports.getTasks = function (req, res) { +export const getTasks = function (req, res) { res.json(generateTasks()) } -exports.getTask = function (req, res) { +export const getTask = function (req, res) { res.json( generateTask({ id: req.params.taskId, @@ -14,14 +14,14 @@ exports.getTask = function (req, res) { ) } -exports.createTask = function (req, res) { +export const createTask = function (req, res) { res.status(201).json({ ...req.body, id: faker.string.uuid() }) } -exports.updateTask = function (req, res) { +export const updateTask = function (req, res) { res.status(200).json({ ...req.body }) } -exports.investmentProjectTasks = function (req, res) { +export const investmentProjectTasks = function (req, res) { res.json({ count: 0, next: null, previous: null, results: [] }) } diff --git a/test/sandbox/routes/v4/task/tasks.js b/test/sandbox/routes/v4/task/tasks.js index 3e30150a788..e593d00e875 100644 --- a/test/sandbox/routes/v4/task/tasks.js +++ b/test/sandbox/routes/v4/task/tasks.js @@ -1,8 +1,8 @@ // TODO - the logic in this should be moved to the fakers folder once there is a real api to call -const { faker } = require('@faker-js/faker') +import { faker } from '@faker-js/faker' -const generateTask = (overrides = {}) => { +export const generateTask = (overrides = {}) => { return { id: faker.string.uuid(), title: faker.word.sample(), @@ -20,7 +20,7 @@ const generateTask = (overrides = {}) => { } } -const generatePerson = () => { +export const generatePerson = () => { const firstName = faker.person.firstName() const lastName = faker.person.lastName() return { @@ -31,7 +31,7 @@ const generatePerson = () => { } } -const generateTasks = () => { +export const generateTasks = () => { return { count: 3, next: null, @@ -39,5 +39,3 @@ const generateTasks = () => { results: [...Array(3)].map(() => generateTask()), } } - -module.exports = { generateTask, generateTasks } diff --git a/test/sandbox/routes/whoami.js b/test/sandbox/routes/whoami.js index 46538b2a1cc..d23c81852f4 100644 --- a/test/sandbox/routes/whoami.js +++ b/test/sandbox/routes/whoami.js @@ -1,14 +1,14 @@ -var whoami = require('../fixtures/whoami.json') +import whoami from '../fixtures/whoami.json' assert { type: 'json' } var defaultTeamId = whoami.dit_team.id var defaultAdviserId = whoami.id var defaultPermissions = whoami.permissions -exports.whoami = function (req, res) { +export const getWhoami = function (req, res) { res.json(whoami) } -exports.setWhoami = function (req, res) { +export const setWhoami = function (req, res) { if (req.body.id) { whoami.id = req.body.id } @@ -27,7 +27,7 @@ exports.setWhoami = function (req, res) { res.json(whoami) } -exports.resetWhoami = function (req, res) { +export const resetWhoami = function (req, res) { whoami.id = defaultAdviserId whoami.dit_team.id = defaultTeamId whoami.active_features = [] diff --git a/test/sandbox/routes/zendesk.js b/test/sandbox/routes/zendesk.js index 4185a04f966..13d99215486 100644 --- a/test/sandbox/routes/zendesk.js +++ b/test/sandbox/routes/zendesk.js @@ -1,6 +1,6 @@ -var zendeskTickets = require('../fixtures/zendesk/tickets.json') +import zendeskTickets from '../fixtures/zendesk/tickets.json' assert { type: 'json' } -exports.tickets = function (req, res) { +export const tickets = function (req, res) { var response = _.set( zendeskTickets, 'ticket.description', diff --git a/test/sandbox/server.js b/test/sandbox/server.js index 18f1c795d23..76f9a00a157 100644 --- a/test/sandbox/server.js +++ b/test/sandbox/server.js @@ -1,6 +1,7 @@ -const express = require('express') -const bodyParser = require('body-parser') -const _ = require('lodash') +import express from 'express' +import bodyParser from 'body-parser' + +import _ from 'lodash' const config = { PORT: process.env.SANDBOX_PORT || 8000, @@ -15,741 +16,817 @@ app.use(bodyParser.json()) global.state = {} global._ = _ -var adviser = require('./routes/adviser.js') -var dashboard = require('./routes/dashboard.js') -var healthcheck = require('./routes/ping.js') +import { advisers, adviser } from './routes/adviser.js' +import { dashboardHomepage } from './routes/dashboard.js' +import { ping } from './routes/ping.js' + // TODO: `/metadata/*` endpoints are deprecated and should be removed or on after 17th October 2019 -var metadata = require('./routes/metadata.js') -var user = require('./routes/whoami.js') -var zendesk = require('./routes/zendesk.js') -var postcode = require('./routes/postcode.js') +import { + getLikelihoodToLand, + getExportExperienceCategory, + getInvestmentInvestorType, + getInvestmentInvolvement, + getInvestmentSpecificProgramme, + getInvestmentProjectStage, + getInvestmentBusinessActivity, + getInvestmentType, + getInvestmentStrategicDriver, + getOrderServiceType, + getOrderCancellationReason, + getOmisMarket, + getSalaryRange, + getFdiValue, + getFdiType, + getTurnover, + getSector, + getLocationType, + getEventType, + getProgramme, + getBusinessType, + getEvidenceTag, + getEmployeeRange, + getCountry, + getUkRegion, + getReferralSourceWebsite, + getReferralSourceMarketing, + getReferralSourceActivity, + getHeadquarterType, + getService, + getCommunicationChannel, + getTeam, + getPolicyArea, + getPolicyIssueType, + getServiceDeliveryStatus, + getCapitalInvestmentInvestorType, + getCapitalInvestmentRequiredChecks, + getCapitalInvestmentDealTicketSize, + getCapitalInvestmentInvestmentTypes, + getCapitalInvestmentMinimumReturnRate, + getCapitalInvestmentTimeHorizons, + getCapitalInvestmentRestrictions, + getCapitalInvestmentConstructionRisks, + getCapitalInvestmentEquityPercentage, + getCapitalInvestmentDesiredDealRoles, + getCapitalInvestmentAssetClassInterest, + getOneListTier, +} from './routes/metadata.js' +import { getWhoami, setWhoami, resetWhoami } from './routes/whoami.js' +import { tickets } from './routes/zendesk.js' +import { toRegion, lookup } from './routes/postcode.js' // V3 -var v3Contact = require('./routes/v3/contact/contact.js') -var v3Event = require('./routes/v3/event/event.js') -var v3OMIS = require('./routes/v3/omis/omis.js') -var v3FeatureFlag = require('./routes/v3/feature-flag/feature-flag.js') -var v3Interaction = require('./routes/v3/interaction/interaction.js') -var v3Investment = require('./routes/v3/investment/investment-projects.js') -var v3SearchCompany = require('./routes/v3/search/company.js') -var v3SearchContact = require('./routes/v3/search/contact.js') -var v3SearchEvent = require('./routes/v3/search/event.js') -var v3SearchInvestmentProject = require('./routes/v3/search/investment-project.js') - -var v3SearchOrder = require('./routes/v3/search/order.js') -var v3SearchInteraction = require('./routes/v3/search/interaction.js') +import { + getContact, + contactCreate, + getContactById, + updateContactById, + archiveContact, + getAuditHistory, +} from './routes/v3/contact/contact.js' +import { getEventById } from './routes/v3/event/event.js' +import { + getOrderById, + getAssignees, + getInvoice, + subscriberList, + getPayments, + createPayments, + getQuote, +} from './routes/v3/omis/omis.js' +import { + featureFlag, + setSandboxFlag, + resetSandboxFlags, +} from './routes/v3/feature-flag/feature-flag.js' +import { + createInteraction, + getInteractions, + getInteractionById, + archiveInteraction, +} from './routes/v3/interaction/interaction.js' +import { + investmentProjects, + investmentProjectById, + patchInvestmentProject, + investmentProjectAudit, + investmentProjectEvidence, + documentDownload, + postInvestmentProject, + postInvestmentProjectEditTeams, +} from './routes/v3/investment/investment-projects.js' +import { getCompanies } from './routes/v3/search/company.js' +import { contacts } from './routes/v3/search/contact.js' +import { searchEvents } from './routes/v3/search/event.js' +import { + searchInvestmentProjects as _investmentProjects, + exportCsv, +} from './routes/v3/search/investment-project.js' + +import { order } from './routes/v3/search/order.js' +import { searchInteraction } from './routes/v3/search/interaction.js' // V4 -var v4ActivityFeed = require('./routes/v4/activity-feed/activity-feed.js') -var v4ChCompany = require('./routes/v4/ch-company/company.js') -var v4Company = require('./routes/v4/company/company.js') -var v4CompanyList = require('./routes/v4/company-list/companyList.js') -var v4Dnb = require('./routes/v4/dnb/index.js') -var v4Event = require('./routes/v4/event/event.js') -var v4ExportWin = require('./routes/v4/export-win/export-win.js') - -var v4Investment = require('./routes/v4/investment/investment.js') -var v4Interaction = require('./routes/v4/interaction/interaction.js') -var v4Metadata = require('./routes/v4/metadata/index.js') -var v4SearchCompany = require('./routes/v4/search/company.js') -var v4SearchCompanyWithCountry = require('./routes/v4/search/company/autocomplete.js') -var v4SearchLargeInvestorProfiles = require('./routes/v4/search/large-investor-profile/results.js') -var v4SearchExports = require('./routes/v4/search/export') -var v4referralList = require('./routes/v4/referrals/list.js') -var v4Proposition = require('./routes/v4/proposition/proposition.js') -var v4Reminders = require('./routes/v4/reminders/index.js') -var v4Reminder = require('./routes/v4/reminder/reminder.js') -var v4SearchAdviser = require('./routes/v4/search/adviser.js') -var v4Objective = require('./routes/v4/objective/index.js') -var v4Task = require('./routes/v4/task/index.js') -var v4SearchMyTasks = require('./routes/v4/search/myTasks.js') +import { activityFeed } from './routes/v4/activity-feed/activity-feed.js' +import { company } from './routes/v4/ch-company/company.js' +import { + getReferralDetails, + getCompany as _company, + companyPatched, + companies as _companies, + manageAdviser, + getCompanyAudit, + getExportWins, + exportDetail, + getOneListGroupCoreTeam, + postOneListTierAndGlobalAccountManager, + postRemoveFromOneList, + patchOneListCoreTeam, + getCompanyList, + largeInvestorProfile, + largeInvestorProfilePatched, + largeInvestorProfilePostCreate, +} from './routes/v4/company/company.js' +import { + getCompanyLists, + getCompanyList as _getCompanyList, + getCompanyListItems, + createCompanyList, + deleteCompanyList, + editCompanyList, + addCompanyToList, + removeCompanyFromList, +} from './routes/v4/company-list/companyList.js' +import { + createDnbCompany, + dnbCompanyInvestigation, + dnbCompanySearch, + dnbCompanyLink, + dnbCompanyChangeRequest, + companyFamilyTree, + relatedCompaniesCount, + relatedCompanies, +} from './routes/v4/dnb/index.js' +import { + getEventById as _eventById, + patchEvent, + createEvent, +} from './routes/v4/event/event.js' + +import { + getLargeCapitalOpportunity, + saveOpportunityDetails, + getLargeCapitalOpportunityList, +} from './routes/v4/investment/investment.js' +import { + getInteractions as _getInteractions, + getInteractionById as _getInteractionById, + createInteraction as _createInteraction, + archiveInteraction as _archiveInteraction, +} from './routes/v4/interaction/interaction.js' +import { + getLikelihoodToLand as _likelihoodToLand, + getExportExperienceCategory as _exportExperienceCategory, + getInvestmentInvestorType as _investmentInvestorType, + getInvestmentInvolvement as _investmentInvolvement, + getInvestmentSpecificProgramme as _investmentSpecificProgramme, + getInvestmentProjectStage as _investmentProjectStage, + getInvestmentBusinessActivity as _investmentBusinessActivity, + getInvestmentType as _investmentType, + getInvestmentStrategicDriver as _investmentStrategicDriver, + getInvestmentDeliveryPartner, + getOrderServiceType as _orderServiceType, + getOrderCancellationReason as _orderCancellationReason, + getOmisMarket as _omisMarket, + getSalaryRange as _salaryRange, + getFdiValue as _fdiValue, + getFdiType as _fdiType, + getTurnover as _turnover, + getSector as _sector, + getLocationType as _locationType, + getEventType as _eventType, + getProgramme as _programme, + getBusinessType as _businessType, + getEvidenceTag as _evidenceTag, + getEmployeeRange as _employeeRange, + getCountry as _country, + getUkRegion as _ukRegion, + getAdministrativeArea, + getReferralSourceWebsite as _referralSourceWebsite, + getReferralSourceMarketing as _referralSourceMarketing, + getReferralSourceActivity as _referralSourceActivity, + getHeadquarterType as _headquarterType, + getService as _service, + getCommunicationChannel as _communicationChannel, + getTeam as _team, + getPolicyArea as _policyArea, + getPolicyIssueType as _policyIssueType, + getExportBarrier, + getServiceDeliveryStatus as _serviceDeliveryStatus, + getCapitalInvestmentInvestorType as _capitalInvestmentInvestorType, + getCapitalInvestmentRequiredChecks as _capitalInvestmentRequiredChecks, + getCapitalInvestmentDealTicketSize as _capitalInvestmentDealTicketSize, + getCapitalInvestmentInvestmentTypes as _capitalInvestmentInvestmentTypes, + getCapitalInvestmentValueTypes, + getCapitalInvestmentStatusTypes, + getCapitalInvestmentMinimumReturnRate as _capitalInvestmentMinimumReturnRate, + getCapitalInvestmentTimeHorizons as _capitalInvestmentTimeHorizons, + getCapitalInvestmentRestrictions as _capitalInvestmentRestrictions, + getCapitalInvestmentConstructionRisks as _capitalInvestmentConstructionRisks, + getCapitalInvestmentEquityPercentage as _capitalInvestmentEquityPercentage, + getCapitalInvestmentDesiredDealRoles as _capitalInvestmentDesiredDealRoles, + getCapitalInvestmentAssetClassInterest as _capitalInvestmentAssetClassInterest, + getOneListTier as _oneListTier, + getTradeAgreement, + getExportYears, + getExportExperience, +} from './routes/v4/metadata/index.js' +import { searchCompanies as __companies } from './routes/v4/search/company.js' +import { companiesAutocomplete } from './routes/v4/search/company/autocomplete.js' +import { largeInvestorProfile as _largeInvestorProfile } from './routes/v4/search/large-investor-profile/results.js' +import { fetchExportHistory } from './routes/v4/search/exportHistory.js' +import v4referralList from './routes/v4/referrals/list.js' +import { propositions } from './routes/v4/proposition/proposition.js' +import { + getReminderSubscriptionsSummary, + getEstimatedLandDateSubscriptions, + saveEstimatedLandDateSubscriptions, + getNoRecentInteractionsSubscriptions, + saveNoRecentInteractionsSubscriptions, + getNoRecentExportInteractionsSubscriptions, + saveNoRecentExportInteractionsSubscriptions, + getNewExportInteractionsSubscriptions, + saveNewExportInteractionsSubscriptions, + getEstimatedLandDateReminders, + getNoRecentExportInteractionReminders, + getNoRecentInvestmentInteractionReminders, + getNewExportInteractionReminders, + getSubscriptions, + saveSubscriptions, + deleteReminder, +} from './routes/v4/reminders/index.js' +import { getSummary, myTasks } from './routes/v4/reminder/reminder.js' +import { searchAdvisers as _advisers } from './routes/v4/search/adviser.js' +import { objectives, objectivesCount } from './routes/v4/objective/index.js' +import { + getTasks, + getTask, + createTask, + updateTask, +} from './routes/v4/task/index.js' // Datahub API 3rd party dependencies -var consentService = require('./routes/api/consentService.js') +import { person, bulkPerson } from './routes/api/consentService.js' -var dnbService = require('./routes/api/dnbService.js') +import { createCompaniesSearch } from './routes/api/dnbService.js' +import { tasks } from './routes/v4/search/tasks.js' +import { getExportWinCollection } from './routes/v4/export-win/export-win.js' // Data store service (github.com/uktrade/data-store-service) -app.get('/api/v1/get-postcode-data/', postcode.toRegion) -app.get('/api/v1/get-postcode-data/:postCode', postcode.toRegion) +app.get('/api/v1/get-postcode-data/', toRegion) +app.get('/api/v1/get-postcode-data/:postCode', toRegion) // getaddress.io mock -app.get('/sandbox/postcodelookup/', postcode.lookup) +app.get('/sandbox/postcodelookup/', lookup) // Referral details -app.get('/v4/company-referral/:id', v4Company.referralDetails) +app.get('/v4/company-referral/:id', getReferralDetails) // Send a referral -app.post('/v4/company-referral', v4Company.referralDetails) +app.post('/v4/company-referral', getReferralDetails) // Complete referral -app.post('/v4/company-referral/:id/complete', v3Interaction.createInteraction) +app.post('/v4/company-referral/:id/complete', createInteraction) app.get('/v4/company-referral', v4referralList) // Adviser endpoint -app.get('/adviser/', adviser.advisers) -app.get('/adviser/:id/', adviser.singleAdviser) +app.get('/adviser/', advisers) +app.get('/adviser/:id/', adviser) // Dashboard endpoint -app.get('/dashboard/homepage/', dashboard.homePage) +app.get('/dashboard/homepage/', dashboardHomepage) // Metadata endpoint // TODO: Metadata `/metadata/*` endpoints are deprecated and should be removed on or after 17th October 2019 -app.get('/metadata/likelihood-to-land/', metadata.likelihoodToLand) -app.get( - '/metadata/export-experience-category/', - metadata.exportExperienceCategory -) -app.get('/metadata/investment-investor-type/', metadata.investmentInvestorType) -app.get('/metadata/investment-involvement/', metadata.investmentInvolvement) +app.get('/metadata/likelihood-to-land/', getLikelihoodToLand) +app.get('/metadata/export-experience-category/', getExportExperienceCategory) +app.get('/metadata/investment-investor-type/', getInvestmentInvestorType) +app.get('/metadata/investment-involvement/', getInvestmentInvolvement) app.get( '/metadata/investment-specific-programme/', - metadata.investmentSpecificProgramme + getInvestmentSpecificProgramme ) -app.get('/metadata/investment-project-stage/', metadata.investmentProjectStage) +app.get('/metadata/investment-project-stage/', getInvestmentProjectStage) app.get( '/metadata/investment-business-activity/', - metadata.investmentBusinessActivity -) -app.get('/metadata/investment-type/', metadata.investmentType) -app.get( - '/metadata/investment-strategic-driver/', - metadata.investmentStrategicDriver -) -app.get('/metadata/order-service-type/', metadata.orderServiceType) -app.get( - '/metadata/order-cancellation-reason/', - metadata.orderCancellationReason -) -app.get('/metadata/omis-market/', metadata.omisMarket) -app.get('/metadata/salary-range/', metadata.salaryRange) -app.get('/metadata/fdi-value/', metadata.fdiValue) -app.get('/metadata/fdi-type/', metadata.fdiType) -app.get('/metadata/turnover/', metadata.turnover) -app.get('/metadata/sector/', metadata.sector) -app.get('/metadata/location-type/', metadata.locationType) -app.get('/metadata/event-type/', metadata.eventType) -app.get('/metadata/programme/', metadata.programme) -app.get('/metadata/business-type/', metadata.businessType) -app.get('/metadata/evidence-tag/', metadata.evidenceTag) -app.get('/metadata/employee-range/', metadata.employeeRange) -app.get('/metadata/country/', metadata.country) -app.get('/metadata/uk-region/', metadata.ukRegion) -app.get('/metadata/referral-source-website/', metadata.referralSourceWebsite) -app.get( - '/metadata/referral-source-marketing/', - metadata.referralSourceMarketing -) -app.get('/metadata/referral-source-activity/', metadata.referralSourceActivity) -app.get('/metadata/headquarter-type/', metadata.headquarterType) -app.get('/metadata/service/', metadata.service) -app.get('/metadata/communication-channel/', metadata.communicationChannel) -app.get('/metadata/team/', metadata.team) -app.get('/metadata/policy-area/', metadata.policyArea) -app.get('/metadata/policy-issue-type/', metadata.policyIssueType) -app.get('/metadata/service-delivery-status/', metadata.serviceDeliveryStatus) + getInvestmentBusinessActivity +) +app.get('/metadata/investment-type/', getInvestmentType) +app.get('/metadata/investment-strategic-driver/', getInvestmentStrategicDriver) +app.get('/metadata/order-service-type/', getOrderServiceType) +app.get('/metadata/order-cancellation-reason/', getOrderCancellationReason) +app.get('/metadata/omis-market/', getOmisMarket) +app.get('/metadata/salary-range/', getSalaryRange) +app.get('/metadata/fdi-value/', getFdiValue) +app.get('/metadata/fdi-type/', getFdiType) +app.get('/metadata/turnover/', getTurnover) +app.get('/metadata/sector/', getSector) +app.get('/metadata/location-type/', getLocationType) +app.get('/metadata/event-type/', getEventType) +app.get('/metadata/programme/', getProgramme) +app.get('/metadata/business-type/', getBusinessType) +app.get('/metadata/evidence-tag/', getEvidenceTag) +app.get('/metadata/employee-range/', getEmployeeRange) +app.get('/metadata/country/', getCountry) +app.get('/metadata/uk-region/', getUkRegion) +app.get('/metadata/referral-source-website/', getReferralSourceWebsite) +app.get('/metadata/referral-source-marketing/', getReferralSourceMarketing) +app.get('/metadata/referral-source-activity/', getReferralSourceActivity) +app.get('/metadata/headquarter-type/', getHeadquarterType) +app.get('/metadata/service/', getService) +app.get('/metadata/communication-channel/', getCommunicationChannel) +app.get('/metadata/team/', getTeam) +app.get('/metadata/policy-area/', getPolicyArea) +app.get('/metadata/policy-issue-type/', getPolicyIssueType) +app.get('/metadata/service-delivery-status/', getServiceDeliveryStatus) app.get( '/metadata/capital-investment/investor-type/', - metadata.capitalInvestmentInvestorType + getCapitalInvestmentInvestorType ) app.get( '/metadata/capital-investment/required-checks-conducted/', - metadata.capitalInvestmentRequiredChecks + getCapitalInvestmentRequiredChecks ) app.get( '/metadata/capital-investment/deal-ticket-size/', - metadata.capitalInvestmentDealTicketSize + getCapitalInvestmentDealTicketSize ) app.get( '/metadata/capital-investment/large-capital-investment-type/', - metadata.capitalInvestmentInvestmentTypes + getCapitalInvestmentInvestmentTypes ) app.get( '/metadata/capital-investment/return-rate/', - metadata.capitalInvestmentMinimumReturnRate + getCapitalInvestmentMinimumReturnRate ) app.get( '/metadata/capital-investment/time-horizon/', - metadata.capitalInvestmentTimeHorizons + getCapitalInvestmentTimeHorizons ) app.get( '/metadata/capital-investment/restriction/', - metadata.capitalInvestmentRestrictions + getCapitalInvestmentRestrictions ) app.get( '/metadata/capital-investment/construction-risk/', - metadata.capitalInvestmentConstructionRisks + getCapitalInvestmentConstructionRisks ) app.get( '/metadata/capital-investment/equity-percentage/', - metadata.capitalInvestmentEquityPercentage + getCapitalInvestmentEquityPercentage ) app.get( '/metadata/capital-investment/desired-deal-role/', - metadata.capitalInvestmentDesiredDealRoles + getCapitalInvestmentDesiredDealRoles ) app.get( '/metadata/capital-investment/asset-class-interest/', - metadata.capitalInvestmentAssetClassInterest + getCapitalInvestmentAssetClassInterest ) -app.get('/metadata/one-list-tier/', metadata.oneListTier) +app.get('/metadata/one-list-tier/', getOneListTier) // V4 Metadata endpoints -app.get('/v4/metadata/likelihood-to-land', v4Metadata.likelihoodToLand) -app.get( - '/v4/metadata/export-experience-category', - v4Metadata.exportExperienceCategory -) -app.get( - '/v4/metadata/investment-investor-type', - v4Metadata.investmentInvestorType -) -app.get('/v4/metadata/investment-involvement', v4Metadata.investmentInvolvement) +app.get('/v4/metadata/likelihood-to-land', _likelihoodToLand) +app.get('/v4/metadata/export-experience-category', _exportExperienceCategory) +app.get('/v4/metadata/investment-investor-type', _investmentInvestorType) +app.get('/v4/metadata/investment-involvement', _investmentInvolvement) app.get( '/v4/metadata/investment-specific-programme', - v4Metadata.investmentSpecificProgramme -) -app.get( - '/v4/metadata/investment-project-stage', - v4Metadata.investmentProjectStage + _investmentSpecificProgramme ) +app.get('/v4/metadata/investment-project-stage', _investmentProjectStage) app.get( '/v4/metadata/investment-business-activity', - v4Metadata.investmentBusinessActivity -) -app.get('/v4/metadata/investment-type', v4Metadata.investmentType) -app.get( - '/v4/metadata/investment-strategic-driver', - v4Metadata.investmentStrategicDriver + _investmentBusinessActivity ) +app.get('/v4/metadata/investment-type', _investmentType) +app.get('/v4/metadata/investment-strategic-driver', _investmentStrategicDriver) app.get( '/v4/metadata/investment-delivery-partner', - v4Metadata.investmentDeliveryPartner -) -app.get('/v4/metadata/order-service-type', v4Metadata.orderServiceType) -app.get( - '/v4/metadata/order-cancellation-reason', - v4Metadata.orderCancellationReason -) -app.get('/v4/metadata/omis-market', v4Metadata.omisMarket) -app.get('/v4/metadata/salary-range', v4Metadata.salaryRange) -app.get('/v4/metadata/fdi-value', v4Metadata.fdiValue) -app.get('/v4/metadata/fdi-type', v4Metadata.fdiType) -app.get('/v4/metadata/turnover', v4Metadata.turnover) -app.get('/v4/metadata/sector', v4Metadata.sector) -app.get('/v4/metadata/location-type', v4Metadata.locationType) -app.get('/v4/metadata/event-type', v4Metadata.eventType) -app.get('/v4/metadata/programme', v4Metadata.programme) -app.get('/v4/metadata/business-type', v4Metadata.businessType) -app.get('/v4/metadata/evidence-tag', v4Metadata.evidenceTag) -app.get('/v4/metadata/employee-range', v4Metadata.employeeRange) -app.get('/v4/metadata/country', v4Metadata.country) -app.get('/v4/metadata/uk-region', v4Metadata.ukRegion) -app.get('/v4/metadata/administrative-area', v4Metadata.administrativeArea) -app.get( - '/v4/metadata/referral-source-website', - v4Metadata.referralSourceWebsite -) -app.get( - '/v4/metadata/referral-source-marketing', - v4Metadata.referralSourceMarketing -) -app.get( - '/v4/metadata/referral-source-activity', - v4Metadata.referralSourceActivity -) -app.get('/v4/metadata/headquarter-type', v4Metadata.headquarterType) -app.get('/v4/metadata/service', v4Metadata.service) -app.get('/v4/metadata/communication-channel', v4Metadata.communicationChannel) -app.get('/v4/metadata/team', v4Metadata.team) -app.get('/v4/metadata/policy-area', v4Metadata.policyArea) -app.get('/v4/metadata/policy-issue-type', v4Metadata.policyIssueType) -app.get('/v4/metadata/export-barrier', v4Metadata.exportBarrier) -app.get( - '/v4/metadata/service-delivery-status', - v4Metadata.serviceDeliveryStatus -) + getInvestmentDeliveryPartner +) +app.get('/v4/metadata/order-service-type', _orderServiceType) +app.get('/v4/metadata/order-cancellation-reason', _orderCancellationReason) +app.get('/v4/metadata/omis-market', _omisMarket) +app.get('/v4/metadata/salary-range', _salaryRange) +app.get('/v4/metadata/fdi-value', _fdiValue) +app.get('/v4/metadata/fdi-type', _fdiType) +app.get('/v4/metadata/turnover', _turnover) +app.get('/v4/metadata/sector', _sector) +app.get('/v4/metadata/location-type', _locationType) +app.get('/v4/metadata/event-type', _eventType) +app.get('/v4/metadata/programme', _programme) +app.get('/v4/metadata/business-type', _businessType) +app.get('/v4/metadata/evidence-tag', _evidenceTag) +app.get('/v4/metadata/employee-range', _employeeRange) +app.get('/v4/metadata/country', _country) +app.get('/v4/metadata/uk-region', _ukRegion) +app.get('/v4/metadata/administrative-area', getAdministrativeArea) +app.get('/v4/metadata/referral-source-website', _referralSourceWebsite) +app.get('/v4/metadata/referral-source-marketing', _referralSourceMarketing) +app.get('/v4/metadata/referral-source-activity', _referralSourceActivity) +app.get('/v4/metadata/headquarter-type', _headquarterType) +app.get('/v4/metadata/service', _service) +app.get('/v4/metadata/communication-channel', _communicationChannel) +app.get('/v4/metadata/team', _team) +app.get('/v4/metadata/policy-area', _policyArea) +app.get('/v4/metadata/policy-issue-type', _policyIssueType) +app.get('/v4/metadata/export-barrier', getExportBarrier) +app.get('/v4/metadata/service-delivery-status', _serviceDeliveryStatus) app.get( '/v4/metadata/capital-investment/investor-type', - v4Metadata.capitalInvestmentInvestorType + _capitalInvestmentInvestorType ) app.get( '/v4/metadata/capital-investment/required-checks-conducted', - v4Metadata.capitalInvestmentRequiredChecks + _capitalInvestmentRequiredChecks ) app.get( '/v4/metadata/capital-investment/deal-ticket-size', - v4Metadata.capitalInvestmentDealTicketSize + _capitalInvestmentDealTicketSize ) app.get( '/v4/metadata/capital-investment/large-capital-investment-type', - v4Metadata.capitalInvestmentInvestmentTypes + _capitalInvestmentInvestmentTypes ) app.get( '/v4/metadata/large-capital-opportunity/opportunity-value-type', - v4Metadata.capitalInvestmentValueTypes + getCapitalInvestmentValueTypes ) app.get( '/v4/metadata/large-capital-opportunity/opportunity-status', - v4Metadata.capitalInvestmentStatusTypes + getCapitalInvestmentStatusTypes ) app.get( '/v4/metadata/capital-investment/return-rate', - v4Metadata.capitalInvestmentMinimumReturnRate + _capitalInvestmentMinimumReturnRate ) app.get( '/v4/metadata/capital-investment/time-horizon', - v4Metadata.capitalInvestmentTimeHorizons + _capitalInvestmentTimeHorizons ) app.get( '/v4/metadata/capital-investment/restriction', - v4Metadata.capitalInvestmentRestrictions + _capitalInvestmentRestrictions ) app.get( '/v4/metadata/capital-investment/construction-risk', - v4Metadata.capitalInvestmentConstructionRisks + _capitalInvestmentConstructionRisks ) app.get( '/v4/metadata/capital-investment/equity-percentage', - v4Metadata.capitalInvestmentEquityPercentage + _capitalInvestmentEquityPercentage ) app.get( '/v4/metadata/capital-investment/desired-deal-role', - v4Metadata.capitalInvestmentDesiredDealRoles + _capitalInvestmentDesiredDealRoles ) app.get( '/v4/metadata/capital-investment/asset-class-interest', - v4Metadata.capitalInvestmentAssetClassInterest + _capitalInvestmentAssetClassInterest ) -app.get('/v4/metadata/one-list-tier', v4Metadata.oneListTier) -app.get('/v4/metadata/trade-agreement', v4Metadata.tradeAgreement) -app.get('/v4/metadata/export-years', v4Metadata.exportYears) -app.get('/v4/metadata/export-experience', v4Metadata.exportExperience) +app.get('/v4/metadata/one-list-tier', _oneListTier) +app.get('/v4/metadata/trade-agreement', getTradeAgreement) +app.get('/v4/metadata/export-years', getExportYears) +app.get('/v4/metadata/export-experience', getExportExperience) // Ping -app.get('/ping.xml', healthcheck.ping) +app.get('/ping.xml', ping) // V3 Contact -app.get('/v3/contact', v3Contact.contact) -app.post('/v3/contact', v3Contact.contactCreate) -app.get('/v3/contact/:contactId', v3Contact.contactById) -app.patch('/v3/contact/:contactId', v3Contact.updateContactById) -app.post('/v3/contact/:contactId/archive', v3Contact.archiveContact) -app.get('/v3/contact/:contactId/audit', v3Contact.auditHistory) +app.get('/v3/contact', getContact) +app.post('/v3/contact', contactCreate) +app.get('/v3/contact/:contactId', getContactById) +app.patch('/v3/contact/:contactId', updateContactById) +app.post('/v3/contact/:contactId/archive', archiveContact) +app.get('/v3/contact/:contactId/audit', getAuditHistory) // V3 Event -app.get('/v3/event/:eventId', v3Event.eventById) +app.get('/v3/event/:eventId', getEventById) // V4 Event -app.get('/v4/event/:eventId', v4Event.eventById) -app.patch('/v4/event/:eventId', v4Event.patchEvent) -app.post('/v4/event', v4Event.createEvent) +app.get('/v4/event/:eventId', _eventById) +app.patch('/v4/event/:eventId', patchEvent) +app.post('/v4/event', createEvent) // V4 Export Win -app.get('/v4/export-win', v4ExportWin.getExportWinCollection) +app.get('/v4/export-win', getExportWinCollection) // V3 Feature Flag -app.get('/v3/feature-flag', v3FeatureFlag.featureFlag) -app.put('/sandbox/feature-flag', v3FeatureFlag.setSandboxFlag) -app.post('/sandbox/reset-feature-flag', v3FeatureFlag.resetSandboxFlags) +app.get('/v3/feature-flag', featureFlag) +app.put('/sandbox/feature-flag', setSandboxFlag) +app.post('/sandbox/reset-feature-flag', resetSandboxFlags) // V3 Interaction -app.get('/v3/interaction', v3Interaction.getInteractions) -app.get('/v3/interaction/:interactionId', v3Interaction.getInteractionById) -app.post('/v3/interaction', v3Interaction.createInteraction) -app.post( - '/v3/interaction/:interactionId/archive', - v3Interaction.archiveInteraction -) -app.patch('/v3/interaction/:interactionId', v3Interaction.archiveInteraction) +app.get('/v3/interaction', getInteractions) +app.get('/v3/interaction/:interactionId', getInteractionById) +app.post('/v3/interaction', createInteraction) +app.post('/v3/interaction/:interactionId/archive', archiveInteraction) +app.patch('/v3/interaction/:interactionId', archiveInteraction) // V3 Investment -app.get('/v3/investment', v3Investment.investmentProjects) -app.get('/v3/investment/:id', v3Investment.investmentProjectById) -app.patch('/v3/investment/:id', v3Investment.patchInvestmentProject) -app.get( - '/v3/investment/:investmentId/audit', - v3Investment.investmentProjectAudit -) +app.get('/v3/investment', investmentProjects) +app.get('/v3/investment/:id', investmentProjectById) +app.patch('/v3/investment/:id', patchInvestmentProject) +app.get('/v3/investment/:investmentId/audit', investmentProjectAudit) app.get( '/v3/investment/:investmentId/evidence-document', - v3Investment.investmentProjectEvidence + investmentProjectEvidence ) app.get( '/v3/investment/:investmentId/evidence-document/:documentId/download', - v3Investment.documentDownload -) -app.post('/v3/investment', v3Investment.postInvestmentProject) -app.post('/v3/investment/:id/update-stage', v3Investment.investmentProjectById) -app.put( - '/v3/investment/:id/team-member', - v3Investment.postInvestmentProjectEditTeams + documentDownload ) +app.post('/v3/investment', postInvestmentProject) +app.post('/v3/investment/:id/update-stage', investmentProjectById) +app.put('/v3/investment/:id/team-member', postInvestmentProjectEditTeams) // V3 Omis -app.get('/v3/omis/order/:id', v3OMIS.getOrderById) -app.patch('/v3/omis/order/:id', v3OMIS.getOrderById) -app.get('/v3/omis/order/:id/assignee', v3OMIS.assignees) -app.get('/v3/omis/order/:id/invoice', v3OMIS.invoice) -app.get('/v3/omis/order/:id/subscriber-list', v3OMIS.subscriberList) -app.put('/v3/omis/order/:id/subscriber-list', v3OMIS.subscriberList) -app.get('/v3/omis/order/:id/payment', v3OMIS.payments) -app.post('/v3/omis/order/:id/payment', v3OMIS.createPayments) -app.get('/v3/omis/order/:id/quote', v3OMIS.quote) -app.patch('/v3/omis/order/:id/assignee', v3OMIS.assignees) -app.post('/v3/omis/order/:id/cancel', v3OMIS.getOrderById) -app.post('/v3/omis/order/:id/complete', v3OMIS.getOrderById) -app.post('/v3/omis/order', v3OMIS.getOrderById) +app.get('/v3/omis/order/:id', getOrderById) +app.patch('/v3/omis/order/:id', getOrderById) +app.get('/v3/omis/order/:id/assignee', getAssignees) +app.get('/v3/omis/order/:id/invoice', getInvoice) +app.get('/v3/omis/order/:id/subscriber-list', subscriberList) +app.put('/v3/omis/order/:id/subscriber-list', subscriberList) +app.get('/v3/omis/order/:id/payment', getPayments) +app.post('/v3/omis/order/:id/payment', createPayments) +app.get('/v3/omis/order/:id/quote', getQuote) +app.patch('/v3/omis/order/:id/assignee', getAssignees) +app.post('/v3/omis/order/:id/cancel', getOrderById) +app.post('/v3/omis/order/:id/complete', getOrderById) +app.post('/v3/omis/order', getOrderById) // V3 Search -app.get('/v3/search', v3SearchCompany.companies) -app.post('/v3/search/company', v3SearchCompany.companies) -app.post('/v3/search/contact', v3SearchContact.contacts) -app.post('/v3/search/event', v3SearchEvent.events) -app.post('/v3/search/order', v3SearchOrder.order) -app.post( - '/v3/search/investment_project', - v3SearchInvestmentProject.investmentProjects -) -app.post( - '/v3/search/investment_project/export', - v3SearchInvestmentProject.export -) -app.post( - '/v4/search/large-investor-profile/export', - v3SearchInvestmentProject.export -) -app.post( - '/v4/search/large-capital-opportunity/export', - v3SearchInvestmentProject.export -) -app.post('/v3/search/interaction', v3SearchInteraction.interaction) +app.get('/v3/search', getCompanies) +app.post('/v3/search/company', getCompanies) +app.post('/v3/search/contact', contacts) +app.post('/v3/search/event', searchEvents) +app.post('/v3/search/order', order) +app.post('/v3/search/investment_project', _investmentProjects) +app.post('/v3/search/investment_project/export', exportCsv) +app.post('/v4/search/large-investor-profile/export', exportCsv) +app.post('/v4/search/large-capital-opportunity/export', exportCsv) +app.post('/v3/search/interaction', searchInteraction) // V4 contact - same functionality as v3 in the mock //just different endpoints since on the real API the only difference is validation -app.get('/v4/contact', v3Contact.contact) -app.post('/v4/contact', v3Contact.contactCreate) -app.get('/v4/contact/:contactId', v3Contact.contactById) -app.patch('/v4/contact/:contactId', v3Contact.updateContactById) +app.get('/v4/contact', getContact) +app.post('/v4/contact', contactCreate) +app.get('/v4/contact/:contactId', getContactById) +app.patch('/v4/contact/:contactId', updateContactById) // V4 activity feed -app.get('/v4/activity-feed', v4ActivityFeed.activityFeed) +app.get('/v4/activity-feed', activityFeed) // V4 CH Company -app.get('/v4/ch-company/:companyId', v4ChCompany.company) +app.get('/v4/ch-company/:companyId', company) // V4 Company -app.get('/v4/company/:companyId', v4Company.company) -app.patch('/v4/company/:companyId', v4Company.companyPatched) -app.post('/v4/company', v4Company.company) -app.get('/v4/company', v4Company.companies) -app.post( - '/v4/company/:companyId/:action-account-manager', - v4Company.manageAdviser -) -app.get('/v4/company/:companyId/audit', v4Company.companyAudit) -app.get('/v4/company/:companyId/export-win', v4Company.exportWins) -app.patch('/v4/company/:companyId/export-detail', v4Company.exportDetail) +app.get('/v4/company/:companyId', _company) +app.patch('/v4/company/:companyId', companyPatched) +app.post('/v4/company', _company) +app.get('/v4/company', _companies) +app.post('/v4/company/:companyId/:action-account-manager', manageAdviser) +app.get('/v4/company/:companyId/audit', getCompanyAudit) +app.get('/v4/company/:companyId/export-win', getExportWins) +app.patch('/v4/company/:companyId/export-detail', exportDetail) app.get( '/v4/company/:companyId/one-list-group-core-team', - v4Company.getOneListGroupCoreTeam + getOneListGroupCoreTeam ) app.post( '/v4/company/:companyId/assign-one-list-tier-and-global-account-manager', - v4Company.postOneListTierAndGlobalAccountManager -) -app.post( - '/v4/company/:companyId/remove-from-one-list', - v4Company.postRemoveFromOneList + postOneListTierAndGlobalAccountManager ) +app.post('/v4/company/:companyId/remove-from-one-list', postRemoveFromOneList) app.patch( '/v4/company/:companyId/update-one-list-core-team', - v4Company.patchOneListCoreTeam + patchOneListCoreTeam ) -app.get('/v4/company/:companyId/objective', v4Objective.objectives) -app.get('/v4/company/:companyId/objective/count', v4Objective.objectivesCount) +app.get('/v4/company/:companyId/objective', objectives) +app.get('/v4/company/:companyId/objective/count', objectivesCount) // V4 interactions -app.get('/v4/interaction', v4Interaction.getInteractions) -app.get('/v4/interaction/:interactionId', v4Interaction.getInteractionById) -app.post('/v4/interaction', v4Interaction.createInteraction) -app.post( - '/v4/interaction/:interactionId/archive', - v4Interaction.archiveInteraction -) -app.patch('/v4/interaction/:interactionId', v4Interaction.archiveInteraction) +app.get('/v4/interaction', _getInteractions) +app.get('/v4/interaction/:interactionId', _getInteractionById) +app.post('/v4/interaction', _createInteraction) +app.post('/v4/interaction/:interactionId/archive', _archiveInteraction) +app.patch('/v4/interaction/:interactionId', _archiveInteraction) // V4 DnB -app.post('/v4/dnb/company-create', v4Dnb.companyCreate) -app.post('/v4/dnb/company-investigation', v4Dnb.companyInvestigation) -app.post('/v4/dnb/company-search', v4Dnb.companySearch) -app.post('/v4/dnb/company-link', v4Dnb.companyLink) -app.post('/v4/dnb/company-change-request', v4Dnb.companyChangeRequest) -app.get('/v4/dnb/company-change-request', v4Dnb.companyChangeRequest) -app.get('/v4/dnb/:companyId/family-tree', v4Dnb.companyFamilyTree) -app.get( - '/v4/dnb/:companyId/related-companies/count', - v4Dnb.relatedCompaniesCount -) -app.get('/v4/dnb/:companyId/related-companies', v4Dnb.relatedCompanies) +app.post('/v4/dnb/company-create', createDnbCompany) +app.post('/v4/dnb/company-investigation', dnbCompanyInvestigation) +app.post('/v4/dnb/company-search', dnbCompanySearch) +app.post('/v4/dnb/company-link', dnbCompanyLink) +app.post('/v4/dnb/company-change-request', dnbCompanyChangeRequest) +app.get('/v4/dnb/company-change-request', dnbCompanyChangeRequest) +app.get('/v4/dnb/:companyId/family-tree', companyFamilyTree) +app.get('/v4/dnb/:companyId/related-companies/count', relatedCompaniesCount) +app.get('/v4/dnb/:companyId/related-companies', relatedCompanies) // V4 legacy company list -app.get('/v4/user/company-list/:companyId', v4Company.getCompanyList) -app.get('/v4/user/company-list', v4Company.getCompanyList) +app.get('/v4/user/company-list/:companyId', getCompanyList) +app.get('/v4/user/company-list', getCompanyList) // V4 new company list endpoints (with multiple list support) -app.get('/v4/company-list', v4CompanyList.getCompanyLists) -app.get('/v4/company-list/:listId', v4CompanyList.getCompanyList) -app.get('/v4/company-list/:listId/item', v4CompanyList.getCompanyListItems) -app.post('/v4/company-list', v4CompanyList.createCompanyList) -app.delete('/v4/company-list/:listId', v4CompanyList.deleteCompanyList) -app.patch('/v4/company-list/:listId', v4CompanyList.editCompanyList) -app.put( - '/v4/company-list/:listId/item/:companyId', - v4CompanyList.addCompanyToList -) -app.delete( - '/v4/company-list/:listId/item/:companyId', - v4CompanyList.removeCompanyFromList -) +app.get('/v4/company-list', getCompanyLists) +app.get('/v4/company-list/:listId', _getCompanyList) +app.get('/v4/company-list/:listId/item', getCompanyListItems) +app.post('/v4/company-list', createCompanyList) +app.delete('/v4/company-list/:listId', deleteCompanyList) +app.patch('/v4/company-list/:listId', editCompanyList) +app.put('/v4/company-list/:listId/item/:companyId', addCompanyToList) +app.delete('/v4/company-list/:listId/item/:companyId', removeCompanyFromList) // V4 Reminders // Summary -app.get( - '/v4/reminder/subscription/summary', - v4Reminders.getReminderSubscriptionsSummary -) +app.get('/v4/reminder/subscription/summary', getReminderSubscriptionsSummary) // Subscriptions for Investments app.get( '/v4/reminder/subscription/estimated-land-date', - v4Reminders.getEstimatedLandDateSubscriptions + getEstimatedLandDateSubscriptions ) app.patch( '/v4/reminder/subscription/estimated-land-date', - v4Reminders.saveEstimatedLandDateSubscriptions + saveEstimatedLandDateSubscriptions ) app.get( '/v4/reminder/subscription/no-recent-investment-interaction', - v4Reminders.getNoRecentInteractionsSubscriptions + getNoRecentInteractionsSubscriptions ) app.patch( '/v4/reminder/subscription/no-recent-investment-interaction', - v4Reminders.saveNoRecentInteractionsSubscriptions + saveNoRecentInteractionsSubscriptions ) // Subscriptions for Exports app.get( '/v4/reminder/subscription/no-recent-export-interaction', - v4Reminders.getNoRecentExportInteractionsSubscriptions + getNoRecentExportInteractionsSubscriptions ) app.patch( '/v4/reminder/subscription/no-recent-export-interaction', - v4Reminders.saveNoRecentExportInteractionsSubscriptions + saveNoRecentExportInteractionsSubscriptions ) app.get( '/v4/reminder/subscription/new-export-interaction', - v4Reminders.getNewExportInteractionsSubscriptions + getNewExportInteractionsSubscriptions ) app.patch( '/v4/reminder/subscription/new-export-interaction', - v4Reminders.saveNewExportInteractionsSubscriptions + saveNewExportInteractionsSubscriptions ) // Subscriptions for My Tasks app.get( '/v4/reminder/subscription/my-tasks-due-date-approaching', - v4Reminders.getSubscriptions + getSubscriptions ) app.patch( '/v4/reminder/subscription/my-tasks-due-date-approaching', - v4Reminders.saveSubscriptions + saveSubscriptions ) app.get( '/v4/reminder/subscription/my-tasks-task-assigned-to-me-from-others', - v4Reminders.getSubscriptions + getSubscriptions ) app.patch( '/v4/reminder/subscription/my-tasks-task-assigned-to-me-from-others', - v4Reminders.saveSubscriptions + saveSubscriptions ) app.get( '/v4/reminder/subscription/my-tasks-task-amended-by-others', - v4Reminders.getSubscriptions + getSubscriptions ) app.patch( '/v4/reminder/subscription/my-tasks-task-amended-by-others', - v4Reminders.saveSubscriptions + saveSubscriptions ) -app.get( - '/v4/reminder/subscription/my-tasks-task-overdue', - v4Reminders.getSubscriptions -) +app.get('/v4/reminder/subscription/my-tasks-task-overdue', getSubscriptions) -app.patch( - '/v4/reminder/subscription/my-tasks-task-overdue', - v4Reminders.saveSubscriptions -) +app.patch('/v4/reminder/subscription/my-tasks-task-overdue', saveSubscriptions) -app.get( - '/v4/reminder/subscription/my-tasks-task-completed', - v4Reminders.getSubscriptions -) +app.get('/v4/reminder/subscription/my-tasks-task-completed', getSubscriptions) app.patch( '/v4/reminder/subscription/my-tasks-task-completed', - v4Reminders.saveSubscriptions + saveSubscriptions ) // Reminders lists -app.get( - '/v4/reminder/estimated-land-date', - v4Reminders.getEstimatedLandDateReminders -) -app.delete('/v4/reminder/estimated-land-date/:id', v4Reminders.deleteReminder) +app.get('/v4/reminder/estimated-land-date', getEstimatedLandDateReminders) +app.delete('/v4/reminder/estimated-land-date/:id', deleteReminder) app.get( '/v4/reminder/no-recent-export-interaction', - v4Reminders.getNoRecentExportInteractionReminders -) -app.delete( - '/v4/reminder/no-recent-export-interaction/:id', - v4Reminders.deleteReminder + getNoRecentExportInteractionReminders ) +app.delete('/v4/reminder/no-recent-export-interaction/:id', deleteReminder) app.get( '/v4/reminder/no-recent-investment-interaction', - v4Reminders.getNoRecentInvestmentInteractionReminders -) -app.delete( - '/v4/reminder/no-recent-investment-interaction/:id', - v4Reminders.deleteReminder + getNoRecentInvestmentInteractionReminders ) +app.delete('/v4/reminder/no-recent-investment-interaction/:id', deleteReminder) -app.get( - '/v4/reminder/new-export-interaction', - v4Reminders.getNewExportInteractionReminders -) -app.delete( - '/v4/reminder/new-export-interaction/:id', - v4Reminders.deleteReminder -) +app.get('/v4/reminder/new-export-interaction', getNewExportInteractionReminders) +app.delete('/v4/reminder/new-export-interaction/:id', deleteReminder) -app.get('/v4/reminder/my-tasks-due-date-approaching', v4Reminder.myTasks) +app.get('/v4/reminder/my-tasks-due-date-approaching', myTasks) -app.delete( - '/v4/reminder/my-tasks-due-date-approaching/:id', - v4Reminders.deleteReminder -) +app.delete('/v4/reminder/my-tasks-due-date-approaching/:id', deleteReminder) -app.get( - '/v4/reminder/my-tasks-task-assigned-to-me-from-others', - v4Reminder.myTasks -) +app.get('/v4/reminder/my-tasks-task-assigned-to-me-from-others', myTasks) app.delete( '/v4/reminder/my-tasks-task-assigned-to-me-from-others/:id', - v4Reminders.deleteReminder + deleteReminder ) -app.get('/v4/reminder/my-tasks-task-amended-by-others', v4Reminder.myTasks) +app.get('/v4/reminder/my-tasks-task-amended-by-others', myTasks) -app.delete( - '/v4/reminder/my-tasks-task-amended-by-others/:id', - v4Reminders.deleteReminder -) +app.delete('/v4/reminder/my-tasks-task-amended-by-others/:id', deleteReminder) -app.get('/v4/reminder/my-tasks-task-overdue', v4Reminder.myTasks) +app.get('/v4/reminder/my-tasks-task-overdue', myTasks) -app.delete('/v4/reminder/my-tasks-task-overdue/:id', v4Reminders.deleteReminder) +app.delete('/v4/reminder/my-tasks-task-overdue/:id', deleteReminder) -app.get('/v4/reminder/my-tasks-task-completed', v4Reminder.myTasks) +app.get('/v4/reminder/my-tasks-task-completed', myTasks) -app.delete( - '/v4/reminder/my-tasks-task-completed/:id', - v4Reminders.deleteReminder -) +app.delete('/v4/reminder/my-tasks-task-completed/:id', deleteReminder) // V4 Investment -app.get('/v4/large-investor-profile', v4Company.largeInvestorProfile) -app.patch( - '/v4/large-investor-profile/:profileId', - v4Company.largeInvestorProfilePatched -) -app.post('/v4/large-investor-profile', v4Company.largeInvestorProfilePostCreate) +app.get('/v4/large-investor-profile', largeInvestorProfile) +app.patch('/v4/large-investor-profile/:profileId', largeInvestorProfilePatched) +app.post('/v4/large-investor-profile', largeInvestorProfilePostCreate) app.get( '/v4/large-capital-opportunity/:opportunityId', - v4Investment.getLargeCapitalOpportunity + getLargeCapitalOpportunity ) app.patch( '/v4/large-capital-opportunity/:opportunityId', - v4Investment.saveOpportunityDetails -) -app.get( - '/v4/large-capital-opportunity', - v4Investment.getLargeCapitalOpportunityList -) -app.post( - '/v4/search/large-capital-opportunity', - v4Investment.getLargeCapitalOpportunityList + saveOpportunityDetails ) +app.get('/v4/large-capital-opportunity', getLargeCapitalOpportunityList) +app.post('/v4/search/large-capital-opportunity', getLargeCapitalOpportunityList) // V4 Proposition -app.get('/v4/proposition', v4Proposition.propositions) +app.get('/v4/proposition', propositions) // V4 Reminder -app.get('/v4/reminder/summary', v4Reminder.summary) +app.get('/v4/reminder/summary', getSummary) // V4 Search -app.post('/v4/search/company', v4SearchCompany.companies) -app.post( - '/v4/search/large-investor-profile', - v4SearchLargeInvestorProfiles.largeInvestorProfile -) -app.get( - '/v4/search/company/autocomplete', - v4SearchCompanyWithCountry.companiesAutocomplete -) -app.post( - '/v4/search/export-country-history', - v4SearchExports.fetchExportHistory -) -app.post('/v4/search/adviser', v4SearchAdviser.advisers) -app.post('/v4/search/task', v4SearchMyTasks.myTasks) +app.post('/v4/search/company', __companies) +app.post('/v4/search/large-investor-profile', _largeInvestorProfile) +app.get('/v4/search/company/autocomplete', companiesAutocomplete) +app.post('/v4/search/export-country-history', fetchExportHistory) +app.post('/v4/search/adviser', _advisers) +app.post('/v4/search/task', tasks) // V4 Tasks -app.get('/v4/task', v4Task.getTasks) -app.get('/v4/task/:taskId', v4Task.getTask) -app.post('/v4/task', v4Task.createTask) -app.patch('/v4/task/:taskId', v4Task.updateTask) +app.get('/v4/task', getTasks) +app.get('/v4/task/:taskId', getTask) +app.post('/v4/task', createTask) +app.patch('/v4/task/:taskId', updateTask) app.get('/v4/export', (req, res) => res.json({ count: 0, results: [] })) // Whoami endpoint -app.get('/whoami', user.whoami) -app.put('/whoami', user.setWhoami) -app.post('/whoami', user.resetWhoami) +app.get('/whoami', getWhoami) +app.put('/whoami', setWhoami) +app.post('/whoami', resetWhoami) // Zendesk tickets endpoint -app.post('/zendesk/tickets', zendesk.tickets) +app.post('/zendesk/tickets', tickets) -app.post('/api/v1/person', consentService.person) -app.get('/api/v1/person/bulk_lookup', consentService.bulkPerson) +app.post('/api/v1/person', person) +app.get('/api/v1/person/bulk_lookup', bulkPerson) -app.post('/companies/search', dnbService.companiesSearch) +app.post('/companies/search', createCompaniesSearch) app.post('/v4/large-capital-opportunity', (req, res) => res.json({ id: 'new-large-capital-uk-opportunity-id' })