From 0502380902f746172c686a969cdab5e3c1dc1d1f Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Thu, 27 Jan 2022 17:00:41 +0100 Subject: [PATCH] Update ESLint, update ESLint config, configure Prettier, format all files using new config --- .babelrc | 5 +- .eslintrc.json | 11 +- .husky/pre-commit | 4 + .prettierignore | 5 + .prettierrc.json | 5 + .vscode/extensions.json | 9 +- .vscode/settings.json | 2 + README.md | 94 ++- entry.nostyle.d.ts | 6 +- index.d.ts | 6 +- jest.config.json | 10 +- package.json | 9 +- sample/.babelrc | 9 +- sample/Sample.less | 9 +- sample/index.html | 2 +- sample/webpack.config.js | 15 +- src/DateInput.jsx | 217 +++-- src/DateInput.spec.jsx | 308 ++----- src/DateInput/DayInput.jsx | 24 +- src/DateInput/DayInput.spec.jsx | 148 +--- src/DateInput/Input.jsx | 25 +- src/DateInput/MonthInput.jsx | 16 +- src/DateInput/MonthInput.spec.jsx | 143 +--- src/DateInput/MonthSelect.jsx | 17 +- src/DateInput/MonthSelect.spec.jsx | 97 +-- src/DateInput/NativeInput.jsx | 11 +- src/DateInput/NativeInput.spec.jsx | 159 ++-- src/DateInput/YearInput.jsx | 7 +- src/DateInput/YearInput.spec.jsx | 87 +- src/DatePicker.jsx | 35 +- src/DatePicker.less | 16 +- src/DatePicker.spec.jsx | 134 +-- src/Divider.jsx | 6 +- src/shared/dateFormatter.js | 5 +- src/shared/dates.js | 40 +- src/shared/dates.spec.js | 5 +- src/shared/propTypes.js | 16 +- src/shared/utils.spec.js | 6 +- test/.babelrc | 9 +- test/LocaleOptions.jsx | 40 +- test/MaxDetailOptions.jsx | 14 +- test/MinDetailOptions.jsx | 14 +- test/Test.jsx | 21 +- test/Test.less | 13 +- test/ValidityOptions.jsx | 26 +- test/ValueOptions.jsx | 28 +- test/ViewOptions.jsx | 27 +- test/index.html | 2 +- test/webpack.config.js | 14 +- yarn.lock | 1241 ++++++++++++++-------------- 50 files changed, 1184 insertions(+), 1988 deletions(-) create mode 100755 .husky/pre-commit create mode 100644 .prettierignore create mode 100644 .prettierrc.json diff --git a/.babelrc b/.babelrc index c2fd7b6f9..ac53728ba 100644 --- a/.babelrc +++ b/.babelrc @@ -1,6 +1,3 @@ { - "presets": [ - "@babel/env", - "@babel/react" - ] + "presets": ["@babel/env", "@babel/react"] } diff --git a/.eslintrc.json b/.eslintrc.json index f9043163c..381b230e5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,15 +1,8 @@ { - "extends": "wojtekmaj/react", - "parser": "babel-eslint", - "rules": { - "no-restricted-globals": "off" - }, + "extends": "wojtekmaj/react-no-automatic-runtime", "overrides": [ { - "files": [ - "sample/**", - "test/**" - ], + "files": ["sample/**", "test/**"], "rules": { "import/no-unresolved": "off" } diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 000000000..f3a679604 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn pretty-quick --staged diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..5da724a6e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +.cache +.yarn +coverage +dist +*.yml diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..5e2863a11 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "printWidth": 100, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 8b983a7b7..75326f341 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,9 +1,4 @@ { - "recommendations": [ - "dbaeumer.vscode-eslint", - "eamodio.gitlens" - ], - "unwantedRecommendations": [ - "dbaeumer.jshint" - ] + "recommendations": ["dbaeumer.vscode-eslint", "eamodio.gitlens", "esbenp.prettier-vscode"], + "unwantedRecommendations": ["dbaeumer.jshint"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index fe4b7dd3d..e3696725c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,6 @@ { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, "search.exclude": { "**/.yarn": true } diff --git a/README.md b/README.md index 1499eb893..7c11bebe0 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,15 @@ A date picker for your React app. -* Pick days, months, years, or even decades -* Supports virtually any language -* No moment.js needed +- Pick days, months, years, or even decades +- Supports virtually any language +- No moment.js needed ## tl;dr -* Install by executing `npm install react-date-picker` or `yarn add react-date-picker`. -* Import by adding `import DatePicker from 'react-date-picker'`. -* Use by adding ``. Use `onChange` prop for getting new values. + +- Install by executing `npm install react-date-picker` or `yarn add react-date-picker`. +- Import by adding `import DatePicker from 'react-date-picker'`. +- Use by adding ``. Use `onChange` prop for getting new values. ## Demo @@ -30,9 +31,9 @@ React-Date-Picker will play nicely with [React-Time-Picker](https://github.com/w Your project needs to use React 16.3 or later. If you use an older version of React, please refer to the table below to find a suitable React-Date-Picker version. | React version | Newest compatible React-Date-Picker version | -|-------|--------| -| ≥16.3 | latest | -| ≥16.0 | 7.x | +| ------------- | ------------------------------------------- | +| ≥16.3 | latest | +| ≥16.0 | 7.x | [React-Calendar](https://github.com/wojtekmaj/react-calendar), on which React-Date-Picker relies heavily, uses modern web technologies. That's why it's so fast, lightweight and easy to style. This, however, comes at a cost of [supporting only modern browsers](https://caniuse.com/#feat=internationalization). @@ -57,10 +58,7 @@ function MyApp() { return (
- +
); } @@ -80,41 +78,41 @@ Displays an input field complete with custom inputs, native input, and a calenda #### Props -|Prop name|Description|Default value|Example values| -|----|----|----|----| -|autoFocus|Automatically focuses the input on mount.|n/a|`true`| -|calendarAriaLabel|`aria-label` for the calendar button.|n/a|`"Toggle calendar"`| -|calendarClassName|Class name(s) that will be added along with `"react-calendar"` to the main React-Calendar `
` element.|n/a|
  • String: `"class1 class2"`
  • Array of strings: `["class1", "class2 class3"]`
| -|calendarIcon|Content of the calendar button. Setting the value explicitly to `null` will hide the icon.|(default icon)|
  • String: `"Calendar"`
  • React element: ``
| -|className|Class name(s) that will be added along with `"react-date-picker"` to the main React-Date-Picker `
` element.|n/a|
  • String: `"class1 class2"`
  • Array of strings: `["class1", "class2 class3"]`
| -|clearAriaLabel|`aria-label` for the clear button.|n/a|`"Clear value"`| -|clearIcon|Content of the clear button. Setting the value explicitly to `null` will hide the icon.|(default icon)|
  • String: `"Clear"`
  • React element: ``
| -|closeCalendar|Whether to close the calendar on value selection.|`true`|`false`| -|dayAriaLabel|`aria-label` for the day input.|n/a|`"Day"`| -|dayPlaceholder|`placeholder` for the day input.|`"--"`|`"dd"`| -|disabled|Whether the date picker should be disabled.|`false`|`true`| -|disableCalendar|When set to `true`, will remove the calendar and the button toggling its visibility.|`false`|`true`| -|format|Input format based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table). Supported values are: `y`, `M`, `MM`, `MMM`, `MMMM`, `d`, `dd`.|n/a|`"y-MM-dd"`| -|isOpen|Whether the calendar should be opened.|`false`|`true`| -|locale|Locale that should be used by the date picker and the calendar. Can be any [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag).|User's browser settings|`"hu-HU"`| -|maxDate|Maximum date that the user can select. Periods partially overlapped by maxDate will also be selectable, although React-Date-Picker will ensure that no later date is selected.|n/a|Date: `new Date()`| -|maxDetail|The most detailed calendar view that the user shall see. View defined here also becomes the one on which clicking an item in the calendar will select a date and pass it to onChange. Can be `"month"`, `"year"`, `"decade"` or `"century"`.|`"month"`|`"year"`| -|minDate|Minimum date that the user can select. Periods partially overlapped by minDate will also be selectable, although React-Date-Picker will ensure that no earlier date is selected.|n/a|Date: `new Date()`| -|minDetail|The least detailed calendar view that the user shall see. Can be `"month"`, `"year"`, `"decade"` or `"century"`.|`"century"`|`"decade"`| -|monthAriaLabel|`aria-label` for the month input.|n/a|`"Month"`| -|monthPlaceholder|`placeholder` for the month input.|`"--"`|`"mm"`| -|name|Input name.|`"date"`|`"myCustomName"`| -|nativeInputAriaLabel|`aria-label` for the native date input.|n/a|`"Date"`| -|onCalendarClose|Function called when the calendar closes.|n/a|`() => alert('Calendar closed')`| -|onCalendarOpen|Function called when the calendar opens.|n/a|`() => alert('Calendar opened')`| -|onChange|Function called when the user clicks an item on the most detailed view available.|n/a|`(value) => alert('New date is: ', value)`| -|openCalendarOnFocus|Whether to open the calendar on input focus.|`true`|`false`| -|required|Whether date input should be required.|`false`|`true`| -|returnValue|Which dates shall be passed by the calendar to the onChange function and onClick{Period} functions. Can be `"start"`, `"end"` or `"range"`. The latter will cause an array with start and end values to be passed.|`"start"`|`"range"`| -|showLeadingZeros|Whether leading zeros should be rendered in date inputs.|`false`|`true`| -|value|Input value.|n/a|
  • Date: `new Date()`
  • An array of dates: `[new Date(2017, 0, 1), new Date(2017, 7, 1)]`
| -|yearAriaLabel|`aria-label` for the year input.|n/a|`"Year"`| -|yearPlaceholder|`aria-label` for the year input.|`"----"`|`"yyyy"`| +| Prop name | Description | Default value | Example values | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------- | +| autoFocus | Automatically focuses the input on mount. | n/a | `true` | +| calendarAriaLabel | `aria-label` for the calendar button. | n/a | `"Toggle calendar"` | +| calendarClassName | Class name(s) that will be added along with `"react-calendar"` to the main React-Calendar `
` element. | n/a |
  • String: `"class1 class2"`
  • Array of strings: `["class1", "class2 class3"]`
| +| calendarIcon | Content of the calendar button. Setting the value explicitly to `null` will hide the icon. | (default icon) |
  • String: `"Calendar"`
  • React element: ``
| +| className | Class name(s) that will be added along with `"react-date-picker"` to the main React-Date-Picker `
` element. | n/a |
  • String: `"class1 class2"`
  • Array of strings: `["class1", "class2 class3"]`
| +| clearAriaLabel | `aria-label` for the clear button. | n/a | `"Clear value"` | +| clearIcon | Content of the clear button. Setting the value explicitly to `null` will hide the icon. | (default icon) |
  • String: `"Clear"`
  • React element: ``
| +| closeCalendar | Whether to close the calendar on value selection. | `true` | `false` | +| dayAriaLabel | `aria-label` for the day input. | n/a | `"Day"` | +| dayPlaceholder | `placeholder` for the day input. | `"--"` | `"dd"` | +| disabled | Whether the date picker should be disabled. | `false` | `true` | +| disableCalendar | When set to `true`, will remove the calendar and the button toggling its visibility. | `false` | `true` | +| format | Input format based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table). Supported values are: `y`, `M`, `MM`, `MMM`, `MMMM`, `d`, `dd`. | n/a | `"y-MM-dd"` | +| isOpen | Whether the calendar should be opened. | `false` | `true` | +| locale | Locale that should be used by the date picker and the calendar. Can be any [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). | User's browser settings | `"hu-HU"` | +| maxDate | Maximum date that the user can select. Periods partially overlapped by maxDate will also be selectable, although React-Date-Picker will ensure that no later date is selected. | n/a | Date: `new Date()` | +| maxDetail | The most detailed calendar view that the user shall see. View defined here also becomes the one on which clicking an item in the calendar will select a date and pass it to onChange. Can be `"month"`, `"year"`, `"decade"` or `"century"`. | `"month"` | `"year"` | +| minDate | Minimum date that the user can select. Periods partially overlapped by minDate will also be selectable, although React-Date-Picker will ensure that no earlier date is selected. | n/a | Date: `new Date()` | +| minDetail | The least detailed calendar view that the user shall see. Can be `"month"`, `"year"`, `"decade"` or `"century"`. | `"century"` | `"decade"` | +| monthAriaLabel | `aria-label` for the month input. | n/a | `"Month"` | +| monthPlaceholder | `placeholder` for the month input. | `"--"` | `"mm"` | +| name | Input name. | `"date"` | `"myCustomName"` | +| nativeInputAriaLabel | `aria-label` for the native date input. | n/a | `"Date"` | +| onCalendarClose | Function called when the calendar closes. | n/a | `() => alert('Calendar closed')` | +| onCalendarOpen | Function called when the calendar opens. | n/a | `() => alert('Calendar opened')` | +| onChange | Function called when the user clicks an item on the most detailed view available. | n/a | `(value) => alert('New date is: ', value)` | +| openCalendarOnFocus | Whether to open the calendar on input focus. | `true` | `false` | +| required | Whether date input should be required. | `false` | `true` | +| returnValue | Which dates shall be passed by the calendar to the onChange function and onClick{Period} functions. Can be `"start"`, `"end"` or `"range"`. The latter will cause an array with start and end values to be passed. | `"start"` | `"range"` | +| showLeadingZeros | Whether leading zeros should be rendered in date inputs. | `false` | `true` | +| value | Input value. | n/a |
  • Date: `new Date()`
  • An array of dates: `[new Date(2017, 0, 1), new Date(2017, 7, 1)]`
| +| yearAriaLabel | `aria-label` for the year input. | n/a | `"Year"` | +| yearPlaceholder | `aria-label` for the year input. | `"----"` | `"yyyy"` | ### Calendar diff --git a/entry.nostyle.d.ts b/entry.nostyle.d.ts index b9aca57fe..0b2d6258f 100644 --- a/entry.nostyle.d.ts +++ b/entry.nostyle.d.ts @@ -1,4 +1,4 @@ -declare module "react-date-picker/dist/entry.nostyle" { - import * as picker from "react-date-picker"; - export = picker; +declare module 'react-date-picker/dist/entry.nostyle' { + import * as picker from 'react-date-picker'; + export = picker; } diff --git a/index.d.ts b/index.d.ts index 1019d1ba6..47fc41bcb 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,6 +1,6 @@ -import { CalendarProps } from "react-calendar"; +import { CalendarProps } from 'react-calendar'; -declare module "react-date-picker" { +declare module 'react-date-picker' { export default function DatePicker(props: DatePickerProps): JSX.Element; export interface DatePickerProps extends CalendarProps { @@ -27,7 +27,7 @@ declare module "react-date-picker" { openCalendarOnFocus?: boolean; required?: boolean; showLeadingZeros?: boolean; - yearAriaLabel?: string + yearAriaLabel?: string; yearPlaceholder?: string; } } diff --git a/jest.config.json b/jest.config.json index 69261c75f..f628ef338 100644 --- a/jest.config.json +++ b/jest.config.json @@ -1,11 +1,5 @@ { - "collectCoverageFrom": [ - "**/src/**.{js,jsx}", - "!**/src/entry.js", - "!**/src/entry.nostyle.js" - ], - "setupFiles": [ - "/jest.setup.js" - ], + "collectCoverageFrom": ["**/src/**.{js,jsx}", "!**/src/entry.js", "!**/src/entry.nostyle.js"], + "setupFiles": ["/jest.setup.js"], "testEnvironment": "jsdom" } diff --git a/package.json b/package.json index 0e613f98d..077796d2a 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "copy-types": "node ./copy-types.js", "jest": "jest", "lint": "eslint sample/ src/ test/ --ext .jsx,.js", + "postinstall": "husky install", "prepack": "yarn clean && yarn build", "test": "yarn lint && yarn jest" }, @@ -79,12 +80,14 @@ "@babel/preset-env": "^7.15.0", "@babel/preset-react": "^7.14.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.6.0", - "babel-eslint": "^10.0.0", "enzyme": "^3.10.0", - "eslint": "~7.19.0", - "eslint-config-wojtekmaj": "^0.5.0", + "eslint": "^8.5.0", + "eslint-config-wojtekmaj": "^0.6.5", + "husky": "^7.0.0", "jest": "^27.0.0", "less": "^4.0.0", + "prettier": "^2.5.0", + "pretty-quick": "^3.1.0", "react": "^17.0.0", "react-dom": "^17.0.0", "rimraf": "^3.0.0" diff --git a/sample/.babelrc b/sample/.babelrc index 070a188c4..bdbb016bb 100644 --- a/sample/.babelrc +++ b/sample/.babelrc @@ -1,8 +1,11 @@ { "presets": [ - ["@babel/preset-env", { - "modules": false - }], + [ + "@babel/preset-env", + { + "modules": false + } + ], "@babel/react" ] } diff --git a/sample/Sample.less b/sample/Sample.less index 7f3be22b4..ba7143f39 100644 --- a/sample/Sample.less +++ b/sample/Sample.less @@ -1,6 +1,6 @@ html, body { - height: 100%; + height: 100%; } body { @@ -9,13 +9,14 @@ body { } .Sample { - input, button { + input, + button { font: inherit; } header { background-color: rgb(50, 54, 57); - box-shadow: 0 0 8px rgba(0, 0, 0, .5); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.5); padding: 20px; color: white; @@ -48,4 +49,4 @@ body { align-items: stretch; } } -} \ No newline at end of file +} diff --git a/sample/index.html b/sample/index.html index 3ae0aa59f..78960aa9e 100644 --- a/sample/index.html +++ b/sample/index.html @@ -2,7 +2,7 @@ - + react-date-picker sample page diff --git a/sample/webpack.config.js b/sample/webpack.config.js index 3480039e9..ada71426d 100644 --- a/sample/webpack.config.js +++ b/sample/webpack.config.js @@ -21,24 +21,15 @@ module.exports = { rules: [ { test: /\.jsx?$/, - use: [ - 'babel-loader', - ], + use: ['babel-loader'], }, { test: /\.less$/, - use: [ - 'style-loader', - 'css-loader', - 'less-loader', - ], + use: ['style-loader', 'css-loader', 'less-loader'], }, { test: /\.css$/, - use: [ - 'style-loader', - 'css-loader', - ], + use: ['style-loader', 'css-loader'], }, ], }, diff --git a/src/DateInput.jsx b/src/DateInput.jsx index 809bb8244..da69b7fa8 100644 --- a/src/DateInput.jsx +++ b/src/DateInput.jsx @@ -10,10 +10,7 @@ import YearInput from './DateInput/YearInput'; import NativeInput from './DateInput/NativeInput'; import { getFormatter } from './shared/dateFormatter'; -import { - getBegin, - getEnd, -} from './shared/dates'; +import { getBegin, getEnd } from './shared/dates'; import { isMaxDate, isMinDate } from './shared/propTypes'; import { between } from './shared/utils'; @@ -34,9 +31,9 @@ function toDate(value) { function datesAreDifferent(date1, date2) { return ( - (date1 && !date2) - || (!date1 && date2) - || (date1 && date2 && date1.getTime() !== date2.getTime()) + (date1 && !date2) || + (!date1 && date2) || + (date1 && date2 && date1.getTime() !== date2.getTime()) ); } @@ -67,9 +64,7 @@ function getValue(value, index) { return valueDate; } -function getDetailValue({ - value, minDate, maxDate, maxDetail, -}, index) { +function getDetailValue({ value, minDate, maxDate, maxDetail }, index) { const valuePiece = getValue(value, index); if (!valuePiece) { @@ -117,46 +112,44 @@ function focus(element) { function renderCustomInputs(placeholder, elementFunctions, allowMultipleInstances) { const usedFunctions = []; const pattern = new RegExp( - Object.keys(elementFunctions).map((el) => `${el}+`).join('|'), 'g', + Object.keys(elementFunctions) + .map((el) => `${el}+`) + .join('|'), + 'g', ); const matches = placeholder.match(pattern); - return placeholder.split(pattern) - .reduce((arr, element, index) => { - const divider = element && ( - // eslint-disable-next-line react/no-array-index-key - - {element} - - ); - const res = [...arr, divider]; - const currentMatch = matches && matches[index]; - - if (currentMatch) { - const renderFunction = ( - elementFunctions[currentMatch] - || elementFunctions[ - Object.keys(elementFunctions) - .find((elementFunction) => currentMatch.match(elementFunction)) - ] - ); - - if (!allowMultipleInstances && usedFunctions.includes(renderFunction)) { - res.push(currentMatch); - } else { - res.push(renderFunction(currentMatch, index)); - usedFunctions.push(renderFunction); - } + return placeholder.split(pattern).reduce((arr, element, index) => { + const divider = element && ( + // eslint-disable-next-line react/no-array-index-key + {element} + ); + const res = [...arr, divider]; + const currentMatch = matches && matches[index]; + + if (currentMatch) { + const renderFunction = + elementFunctions[currentMatch] || + elementFunctions[ + Object.keys(elementFunctions).find((elementFunction) => + currentMatch.match(elementFunction), + ) + ]; + + if (!allowMultipleInstances && usedFunctions.includes(renderFunction)) { + res.push(currentMatch); + } else { + res.push(renderFunction(currentMatch, index)); + usedFunctions.push(renderFunction); } - return res; - }, []); + } + return res; + }, []); } export default class DateInput extends PureComponent { static getDerivedStateFromProps(nextProps, prevState) { - const { - minDate, maxDate, maxDetail, - } = nextProps; + const { minDate, maxDate, maxDetail } = nextProps; const nextState = {}; @@ -174,21 +167,34 @@ export default class DateInput extends PureComponent { * get a new one. */ const nextValue = getDetailValueFrom({ - value: nextProps.value, minDate, maxDate, maxDetail, + value: nextProps.value, + minDate, + maxDate, + maxDetail, }); const values = [nextValue, prevState.value]; if ( // Toggling calendar visibility resets values - nextState.isCalendarOpen // Flag was toggled - || datesAreDifferent( - ...values.map((value) => getDetailValueFrom({ - value, minDate, maxDate, maxDetail, - })), - ) - || datesAreDifferent( - ...values.map((value) => getDetailValueTo({ - value, minDate, maxDate, maxDetail, - })), + nextState.isCalendarOpen || // Flag was toggled + datesAreDifferent( + ...values.map((value) => + getDetailValueFrom({ + value, + minDate, + maxDate, + maxDetail, + }), + ), + ) || + datesAreDifferent( + ...values.map((value) => + getDetailValueTo({ + value, + minDate, + maxDate, + maxDetail, + }), + ), ) ) { if (nextValue) { @@ -237,21 +243,26 @@ export default class DateInput extends PureComponent { * Gets current value in a desired format. */ getProcessedValue(value) { - const { - minDate, maxDate, maxDetail, returnValue, - } = this.props; + const { minDate, maxDate, maxDetail, returnValue } = this.props; const processFunction = (() => { switch (returnValue) { - case 'start': return getDetailValueFrom; - case 'end': return getDetailValueTo; - case 'range': return getDetailValueArray; - default: throw new Error('Invalid returnValue.'); + case 'start': + return getDetailValueFrom; + case 'end': + return getDetailValueTo; + case 'range': + return getDetailValueArray; + default: + throw new Error('Invalid returnValue.'); } })(); return processFunction({ - value, minDate, maxDate, maxDetail, + value, + minDate, + maxDate, + maxDetail, }); } @@ -278,7 +289,9 @@ export default class DateInput extends PureComponent { const datePieceReplacements = ['y', 'M', 'd']; function formatDatePiece(name, dateToFormat) { - return getFormatter({ useGrouping: false, [name]: 'numeric' })(locale, dateToFormat).match(/\d{1,}/); + return getFormatter({ useGrouping: false, [name]: 'numeric' })(locale, dateToFormat).match( + /\d{1,}/, + ); } let placeholder = formattedDate; @@ -294,14 +307,7 @@ export default class DateInput extends PureComponent { } get commonInputProps() { - const { - className, - disabled, - isCalendarOpen, - maxDate, - minDate, - required, - } = this.props; + const { className, disabled, isCalendarOpen, maxDate, minDate, required } = this.props; return { className, @@ -328,7 +334,7 @@ export default class DateInput extends PureComponent { const firstInput = event.target.children[1]; focus(firstInput); } - } + }; onKeyDown = (event) => { switch (event.key) { @@ -338,14 +344,15 @@ export default class DateInput extends PureComponent { event.preventDefault(); const { target: input } = event; - const property = event.key === 'ArrowLeft' ? 'previousElementSibling' : 'nextElementSibling'; + const property = + event.key === 'ArrowLeft' ? 'previousElementSibling' : 'nextElementSibling'; const nextInput = findInput(input, property); focus(nextInput); break; } default: } - } + }; onKeyUp = (event) => { const { key, target: input } = event; @@ -365,12 +372,12 @@ export default class DateInput extends PureComponent { * However, given 2, smallers possible number would be 20, and thus keeping the focus in * this field doesn't make sense. */ - if ((value * 10 > max) || (value.length >= max.length)) { + if (value * 10 > max || value.length >= max.length) { const property = 'nextElementSibling'; const nextInput = findInput(input, property); focus(nextInput); } - } + }; /** * Called when non-native date input is changed. @@ -378,11 +385,8 @@ export default class DateInput extends PureComponent { onChange = (event) => { const { name, value } = event.target; - this.setState( - { [name]: value }, - this.onChangeExternal, - ); - } + this.setState({ [name]: value }, this.onChangeExternal); + }; /** * Called when native date input is changed. @@ -413,7 +417,7 @@ export default class DateInput extends PureComponent { })(); onChange(processedValue, false); - } + }; /** * Called after internal onChange. Checks input validity. If all fields are valid, @@ -452,15 +456,10 @@ export default class DateInput extends PureComponent { const processedValue = this.getProcessedValue(proposedValue); onChange(processedValue, false); } - } + }; renderDay = (currentMatch, index) => { - const { - autoFocus, - dayAriaLabel, - dayPlaceholder, - showLeadingZeros, - } = this.props; + const { autoFocus, dayAriaLabel, dayPlaceholder, showLeadingZeros } = this.props; const { day, month, year } = this.state; if (currentMatch && currentMatch.length > 2) { @@ -474,6 +473,7 @@ export default class DateInput extends PureComponent { key="day" {...this.commonInputProps} ariaLabel={dayAriaLabel} + /* eslint-disable-next-line jsx-a11y/no-autofocus */ autoFocus={index === 0 && autoFocus} inputRef={this.dayInput} month={month} @@ -483,16 +483,10 @@ export default class DateInput extends PureComponent { year={year} /> ); - } + }; renderMonth = (currentMatch, index) => { - const { - autoFocus, - locale, - monthAriaLabel, - monthPlaceholder, - showLeadingZeros, - } = this.props; + const { autoFocus, locale, monthAriaLabel, monthPlaceholder, showLeadingZeros } = this.props; const { month, year } = this.state; if (currentMatch && currentMatch.length > 4) { @@ -505,6 +499,7 @@ export default class DateInput extends PureComponent { key="month" {...this.commonInputProps} ariaLabel={monthAriaLabel} + /* eslint-disable-next-line jsx-a11y/no-autofocus */ autoFocus={index === 0 && autoFocus} inputRef={this.monthInput} locale={locale} @@ -523,6 +518,7 @@ export default class DateInput extends PureComponent { key="month" {...this.commonInputProps} ariaLabel={monthAriaLabel} + /* eslint-disable-next-line jsx-a11y/no-autofocus */ autoFocus={index === 0 && autoFocus} inputRef={this.monthInput} placeholder={monthPlaceholder} @@ -531,7 +527,7 @@ export default class DateInput extends PureComponent { year={year} /> ); - } + }; renderYear = (currentMatch, index) => { const { autoFocus, yearAriaLabel, yearPlaceholder } = this.props; @@ -542,6 +538,7 @@ export default class DateInput extends PureComponent { key="year" {...this.commonInputProps} ariaLabel={yearAriaLabel} + /* eslint-disable-next-line jsx-a11y/no-autofocus */ autoFocus={index === 0 && autoFocus} inputRef={this.yearInput} placeholder={yearPlaceholder} @@ -549,7 +546,7 @@ export default class DateInput extends PureComponent { valueType={this.valueType} /> ); - } + }; renderCustomInputs() { const { placeholder } = this; @@ -566,14 +563,7 @@ export default class DateInput extends PureComponent { } renderNativeInput() { - const { - disabled, - maxDate, - minDate, - name, - nativeInputAriaLabel, - required, - } = this.props; + const { disabled, maxDate, minDate, name, nativeInputAriaLabel, required } = this.props; const { value } = this.state; return ( @@ -598,10 +588,7 @@ export default class DateInput extends PureComponent { /* eslint-disable jsx-a11y/click-events-have-key-events */ /* eslint-disable jsx-a11y/no-static-element-interactions */ return ( -
+
{this.renderNativeInput()} {this.renderCustomInputs()}
@@ -615,10 +602,7 @@ DateInput.defaultProps = { returnValue: 'start', }; -const isValue = PropTypes.oneOfType([ - PropTypes.string, - PropTypes.instanceOf(Date), -]); +const isValue = PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)]); DateInput.propTypes = { autoFocus: PropTypes.bool, @@ -640,10 +624,7 @@ DateInput.propTypes = { required: PropTypes.bool, returnValue: PropTypes.oneOf(['start', 'end', 'range']), showLeadingZeros: PropTypes.bool, - value: PropTypes.oneOfType([ - isValue, - PropTypes.arrayOf(isValue), - ]), + value: PropTypes.oneOfType([isValue, PropTypes.arrayOf(isValue)]), yearAriaLabel: PropTypes.string, yearPlaceholder: PropTypes.string, }; diff --git a/src/DateInput.spec.jsx b/src/DateInput.spec.jsx index 7fd86be18..7f428c060 100644 --- a/src/DateInput.spec.jsx +++ b/src/DateInput.spec.jsx @@ -52,9 +52,7 @@ describe('DateInput', () => { }); it('renders a native input and custom inputs', () => { - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -64,12 +62,7 @@ describe('DateInput', () => { }); it('does not render day input when maxDetail is "year" or less', () => { - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.find('input[name="day"]'); @@ -83,12 +76,7 @@ describe('DateInput', () => { }); it('does not render day and month inputs when maxDetail is "decade" or less', () => { - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.find('input[name="day"]'); @@ -104,12 +92,7 @@ describe('DateInput', () => { it('shows a given date in all inputs correctly given Date (12-hour format)', () => { const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -123,12 +106,7 @@ describe('DateInput', () => { it('shows a given date in all inputs correctly given array of Date objects (12-hour format)', () => { const date = [new Date(2017, 8, 30), new Date(2017, 8, 31, 0, 0, 0, -1)]; - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -142,12 +120,7 @@ describe('DateInput', () => { it('shows a given date in all inputs correctly given ISO string (12-hour format)', () => { const date = '2017-09-30T00:00:00.000'; - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -161,13 +134,7 @@ describe('DateInput', () => { itIfFullICU('shows a given date in all inputs correctly given Date (24-hour format)', () => { const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -178,53 +145,42 @@ describe('DateInput', () => { expect(customInputs.at(2).prop('value')).toBe('30'); }); - itIfFullICU('shows a given date in all inputs correctly given array of Date objects (24-hour format)', () => { - const date = [new Date(2017, 8, 30), new Date(2017, 8, 31, 0, 0, 0, -1)]; + itIfFullICU( + 'shows a given date in all inputs correctly given array of Date objects (24-hour format)', + () => { + const date = [new Date(2017, 8, 30), new Date(2017, 8, 31, 0, 0, 0, -1)]; - const component = mount( - , - ); + const component = mount(); - const nativeInput = component.find('input[type="date"]'); - const customInputs = component.find('input[data-input]'); + const nativeInput = component.find('input[type="date"]'); + const customInputs = component.find('input[data-input]'); - expect(nativeInput.prop('value')).toBe('2017-09-30'); - expect(customInputs.at(0).prop('value')).toBe('2017'); - expect(customInputs.at(1).prop('value')).toBe('9'); - expect(customInputs.at(2).prop('value')).toBe('30'); - }); + expect(nativeInput.prop('value')).toBe('2017-09-30'); + expect(customInputs.at(0).prop('value')).toBe('2017'); + expect(customInputs.at(1).prop('value')).toBe('9'); + expect(customInputs.at(2).prop('value')).toBe('30'); + }, + ); - itIfFullICU('shows a given date in all inputs correctly given ISO string (24-hour format)', () => { - const date = '2017-09-30T00:00:00.000'; + itIfFullICU( + 'shows a given date in all inputs correctly given ISO string (24-hour format)', + () => { + const date = '2017-09-30T00:00:00.000'; - const component = mount( - , - ); + const component = mount(); - const nativeInput = component.find('input[type="date"]'); - const customInputs = component.find('input[data-input]'); + const nativeInput = component.find('input[type="date"]'); + const customInputs = component.find('input[data-input]'); - expect(nativeInput.prop('value')).toBe('2017-09-30'); - expect(customInputs.at(0).prop('value')).toBe('2017'); - expect(customInputs.at(1).prop('value')).toBe('9'); - expect(customInputs.at(2).prop('value')).toBe('30'); - }); + expect(nativeInput.prop('value')).toBe('2017-09-30'); + expect(customInputs.at(0).prop('value')).toBe('2017'); + expect(customInputs.at(1).prop('value')).toBe('9'); + expect(customInputs.at(2).prop('value')).toBe('30'); + }, + ); it('shows empty value in all inputs correctly given null', () => { - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -236,12 +192,7 @@ describe('DateInput', () => { }); it('shows empty value in all inputs correctly given an array of nulls', () => { - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); const customInputs = component.find('input[data-input]'); @@ -255,12 +206,7 @@ describe('DateInput', () => { it('clears the value correctly', () => { const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); component.setProps({ value: null }); @@ -274,9 +220,7 @@ describe('DateInput', () => { }); it('renders custom inputs in a proper order (12-hour format)', () => { - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); @@ -286,12 +230,7 @@ describe('DateInput', () => { }); itIfFullICU('renders custom inputs in a proper order (24-hour format)', () => { - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); @@ -302,12 +241,7 @@ describe('DateInput', () => { describe('renders custom inputs in a proper order given format', () => { it('renders "y" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('YearInput'); const customInputs = component.find('input[data-input]'); @@ -317,12 +251,7 @@ describe('DateInput', () => { }); it('renders "yyyy" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('YearInput'); const customInputs = component.find('input[data-input]'); @@ -332,12 +261,7 @@ describe('DateInput', () => { }); it('renders "M" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('MonthInput'); const customInputs = component.find('input[data-input]'); @@ -347,12 +271,7 @@ describe('DateInput', () => { }); it('renders "MM" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('MonthInput'); const customInputs = component.find('input[data-input]'); @@ -363,12 +282,7 @@ describe('DateInput', () => { }); it('renders "MMM" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentSelect = component.find('MonthSelect'); const customInputs = component.find('select'); @@ -379,12 +293,7 @@ describe('DateInput', () => { }); it('renders "MMMM" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentSelect = component.find('MonthSelect'); const customInputs = component.find('select'); @@ -395,12 +304,7 @@ describe('DateInput', () => { }); it('renders "d" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('DayInput'); const customInputs = component.find('input[data-input]'); @@ -410,12 +314,7 @@ describe('DateInput', () => { }); it('renders "dd" properly', () => { - const component = mount( - , - ); + const component = mount(); const componentInput = component.find('DayInput'); const customInputs = component.find('input[data-input]'); @@ -428,12 +327,7 @@ describe('DateInput', () => { it('throws error for "ddd"', () => { muteConsole(); - const renderComponent = () => mount( - , - ); + const renderComponent = () => mount(); expect(renderComponent).toThrow('Unsupported token: ddd'); @@ -441,12 +335,7 @@ describe('DateInput', () => { }); it('renders "yyyy-MM-dd" properly', () => { - const component = mount( - , - ); + const component = mount(); const monthInput = component.find('MonthInput'); const dayInput = component.find('DayInput'); @@ -464,9 +353,7 @@ describe('DateInput', () => { }); it('renders proper input separators', () => { - const component = mount( - , - ); + const component = mount(); const separators = component.find('.react-date-picker__inputGroup__divider'); @@ -475,12 +362,7 @@ describe('DateInput', () => { }); it('renders proper amount of separators', () => { - const component = mount( - , - ); + const component = mount(); const separators = component.find('.react-date-picker__inputGroup__divider'); const customInputs = component.find('input[data-input]'); @@ -489,10 +371,7 @@ describe('DateInput', () => { }); it('jumps to the next field when right arrow is pressed', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -508,10 +387,7 @@ describe('DateInput', () => { }); it('jumps to the next field when separator key is pressed', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -529,10 +405,7 @@ describe('DateInput', () => { }); it('does not jump to the next field when right arrow is pressed when the last input is focused', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const yearInput = customInputs.at(2); @@ -547,10 +420,7 @@ describe('DateInput', () => { }); it('jumps to the previous field when left arrow is pressed', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -566,10 +436,7 @@ describe('DateInput', () => { }); it('does not jump to the previous field when left arrow is pressed when the first input is focused', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -583,11 +450,8 @@ describe('DateInput', () => { expect(document.activeElement).toBe(dayInput.getDOMNode()); }); - it('jumps to the next field when a value which can\'t be extended to another valid value is entered', () => { - const component = mount( - , - { attachTo: container }, - ); + it("jumps to the next field when a value which can't be extended to another valid value is entered", () => { + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -602,10 +466,7 @@ describe('DateInput', () => { }); it('jumps to the next field when a value as long as the length of maximum value is entered', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -620,10 +481,7 @@ describe('DateInput', () => { }); it('does not jump the next field when a value which can be extended to another valid value is entered', () => { - const component = mount( - , - { attachTo: container }, - ); + const component = mount(, { attachTo: container }); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(0); @@ -640,13 +498,7 @@ describe('DateInput', () => { const onChange = jest.fn(); const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(1); @@ -664,13 +516,7 @@ describe('DateInput', () => { date.setFullYear(19, 8, 30); date.setHours(0, 0, 0, 0); - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); const dayInput = customInputs.at(1); @@ -690,13 +536,7 @@ describe('DateInput', () => { const onChange = jest.fn(); const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const customInputs = component.find('input[data-input]'); @@ -713,13 +553,7 @@ describe('DateInput', () => { const onChange = jest.fn(); const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); @@ -734,13 +568,7 @@ describe('DateInput', () => { const onChange = jest.fn(); const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); @@ -759,13 +587,7 @@ describe('DateInput', () => { const onChange = jest.fn(); const date = new Date(2017, 8, 30); - const component = mount( - , - ); + const component = mount(); const nativeInput = component.find('input[type="date"]'); diff --git a/src/DateInput/DayInput.jsx b/src/DateInput/DayInput.jsx index 322959852..cae0ec07d 100644 --- a/src/DateInput/DayInput.jsx +++ b/src/DateInput/DayInput.jsx @@ -1,24 +1,13 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { - getYear, - getMonthHuman, - getDate, - getDaysInMonth, -} from '@wojtekmaj/date-utils'; +import { getYear, getMonthHuman, getDate, getDaysInMonth } from '@wojtekmaj/date-utils'; import Input from './Input'; import { isMaxDate, isMinDate, isRef } from '../shared/propTypes'; import { safeMin, safeMax } from '../shared/utils'; -export default function DayInput({ - maxDate, - minDate, - month, - year, - ...otherProps -}) { +export default function DayInput({ maxDate, minDate, month, year, ...otherProps }) { const currentMonthMaxDays = (() => { if (!month) { return 31; @@ -34,14 +23,7 @@ export default function DayInput({ const maxDay = safeMin(currentMonthMaxDays, isSameMonth(maxDate) && getDate(maxDate)); const minDay = safeMax(1, isSameMonth(minDate) && getDate(minDate)); - return ( - - ); + return ; } DayInput.propTypes = { diff --git a/src/DateInput/DayInput.spec.jsx b/src/DateInput/DayInput.spec.jsx index 1d3e31a74..e6f88d655 100644 --- a/src/DateInput/DayInput.spec.jsx +++ b/src/DateInput/DayInput.spec.jsx @@ -10,9 +10,7 @@ describe('DayInput', () => { }; it('renders an input', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -20,13 +18,7 @@ describe('DayInput', () => { }); it('renders "0" given showLeadingZeros if day is <10', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -35,58 +27,42 @@ describe('DayInput', () => { }); it('does not render "0" given showLeadingZeros if day is <10 with leading zero already', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('does not render "0" given showLeadingZeros if day is >=10', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('does not render "0" if not given showLeadingZeros', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('applies given aria-label properly', () => { const dayAriaLabel = 'Day'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -96,12 +72,7 @@ describe('DayInput', () => { it('applies given placeholder properly', () => { const dayPlaceholder = 'dd'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -109,9 +80,7 @@ describe('DayInput', () => { }); it('has proper name defined', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -121,12 +90,7 @@ describe('DayInput', () => { it('has proper className defined', () => { const className = 'react-date-picker'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -137,12 +101,7 @@ describe('DayInput', () => { it('displays given value properly', () => { const value = '11'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -150,9 +109,7 @@ describe('DayInput', () => { }); it('does not disable input by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -160,12 +117,7 @@ describe('DayInput', () => { }); it('disables input given disabled flag', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -173,9 +125,7 @@ describe('DayInput', () => { }); it('is not required input by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -183,12 +133,7 @@ describe('DayInput', () => { }); it('required input given required flag', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -198,21 +143,14 @@ describe('DayInput', () => { it('calls inputRef properly', () => { const inputRef = jest.fn(); - mount( - , - ); + mount(); expect(inputRef).toHaveBeenCalled(); expect(inputRef).toHaveBeenCalledWith(expect.any(HTMLInputElement)); }); it('has min = 1 by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -221,12 +159,7 @@ describe('DayInput', () => { it('has min = 1 given minDate in a past month', () => { const component = mount( - , + , ); const input = component.find('input'); @@ -236,12 +169,7 @@ describe('DayInput', () => { it('has min = (day in minDate) given minDate in a current month', () => { const component = mount( - , + , ); const input = component.find('input'); @@ -252,13 +180,7 @@ describe('DayInput', () => { it('has max = (number of days in current month) by default', () => { const numberOfDaysInJanuary2018 = new Date(2018, 1, 0).getDate(); - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -269,12 +191,7 @@ describe('DayInput', () => { const numberOfDaysInJanuary2018 = new Date(2018, 1, 0).getDate(); const component = mount( - , + , ); const input = component.find('input'); @@ -284,12 +201,7 @@ describe('DayInput', () => { it('has max = (day in maxDate) given maxDate in a current month', () => { const component = mount( - , + , ); const input = component.find('input'); diff --git a/src/DateInput/Input.jsx b/src/DateInput/Input.jsx index 8643a8ebb..82b98b402 100644 --- a/src/DateInput/Input.jsx +++ b/src/DateInput/Input.jsx @@ -8,15 +8,10 @@ import { isRef } from '../shared/propTypes'; /* eslint-disable jsx-a11y/no-autofocus */ -const isIEOrEdgeLegacy = ( - typeof window !== 'undefined' - && /(MSIE|Trident\/|Edge\/)/.test(window.navigator.userAgent) -); +const isIEOrEdgeLegacy = + typeof window !== 'undefined' && /(MSIE|Trident\/|Edge\/)/.test(window.navigator.userAgent); -const isFirefox = ( - typeof window !== 'undefined' - && /Firefox/.test(window.navigator.userAgent) -); +const isFirefox = typeof window !== 'undefined' && /Firefox/.test(window.navigator.userAgent); function onFocus(event) { const { target } = event; @@ -110,16 +105,16 @@ export default function Input({ step, value, }) { - const hasLeadingZero = ( - showLeadingZeros - && value - && value < 10 - && (value === '0' || !value.toString().startsWith('0')) - ); + const hasLeadingZero = + showLeadingZeros && value && value < 10 && (value === '0' || !value.toString().startsWith('0')); const maxLength = max ? max.toString().length : null; return [ - (hasLeadingZero && 0), + hasLeadingZero && ( + + 0 + + ), - ); + return ; } MonthInput.propTypes = { diff --git a/src/DateInput/MonthInput.spec.jsx b/src/DateInput/MonthInput.spec.jsx index 465a3719e..71d14d348 100644 --- a/src/DateInput/MonthInput.spec.jsx +++ b/src/DateInput/MonthInput.spec.jsx @@ -10,9 +10,7 @@ describe('MonthInput', () => { }; it('renders an input', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -20,13 +18,7 @@ describe('MonthInput', () => { }); it('renders "0" given showLeadingZeros if month is <10', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -35,58 +27,42 @@ describe('MonthInput', () => { }); it('does not render "0" given showLeadingZeros if month is <10 with leading zero already', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('does not render "0" given showLeadingZeros if month is >=10', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('does not render "0" if not given showLeadingZeros', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); expect(component.text()).not.toContain('0'); - expect(input.prop('className')).not.toContain(`${defaultProps.className}__input--hasLeadingZero`); + expect(input.prop('className')).not.toContain( + `${defaultProps.className}__input--hasLeadingZero`, + ); }); it('applies given aria-label properly', () => { const monthAriaLabel = 'Month'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -96,12 +72,7 @@ describe('MonthInput', () => { it('applies given placeholder properly', () => { const monthPlaceholder = 'mm'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -109,9 +80,7 @@ describe('MonthInput', () => { }); it('has proper name defined', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -121,12 +90,7 @@ describe('MonthInput', () => { it('has proper className defined', () => { const className = 'react-date-picker'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -137,12 +101,7 @@ describe('MonthInput', () => { it('displays given value properly', () => { const value = '11'; - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -150,9 +109,7 @@ describe('MonthInput', () => { }); it('does not disable input by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -160,12 +117,7 @@ describe('MonthInput', () => { }); it('disables input given disabled flag', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -173,9 +125,7 @@ describe('MonthInput', () => { }); it('is not required input by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -183,12 +133,7 @@ describe('MonthInput', () => { }); it('required input given required flag', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -198,21 +143,14 @@ describe('MonthInput', () => { it('calls inputRef properly', () => { const inputRef = jest.fn(); - mount( - , - ); + mount(); expect(inputRef).toHaveBeenCalled(); expect(inputRef).toHaveBeenCalledWith(expect.any(HTMLInputElement)); }); it('has min = 1 by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -221,11 +159,7 @@ describe('MonthInput', () => { it('has min = 1 given minDate in a past year', () => { const component = mount( - , + , ); const input = component.find('input'); @@ -235,11 +169,7 @@ describe('MonthInput', () => { it('has min = (month in minDate) given minDate in a current year', () => { const component = mount( - , + , ); const input = component.find('input'); @@ -248,12 +178,7 @@ describe('MonthInput', () => { }); it('has max = 12 by default', () => { - const component = mount( - , - ); + const component = mount(); const input = component.find('input'); @@ -262,11 +187,7 @@ describe('MonthInput', () => { it('has max = 12 given maxDate in a future year', () => { const component = mount( - , + , ); const input = component.find('input'); @@ -276,11 +197,7 @@ describe('MonthInput', () => { it('has max = (month in maxDate) given maxDate in a current year', () => { const component = mount( - , + , ); const input = component.find('input'); diff --git a/src/DateInput/MonthSelect.jsx b/src/DateInput/MonthSelect.jsx index 5c6edd995..9bc0dbd59 100644 --- a/src/DateInput/MonthSelect.jsx +++ b/src/DateInput/MonthSelect.jsx @@ -33,10 +33,7 @@ export default function MonthSelect({ return ( - +
- +
- +
- +
- +     - -
diff --git a/test/MaxDetailOptions.jsx b/test/MaxDetailOptions.jsx index 1e99d3917..13fa17ddb 100644 --- a/test/MaxDetailOptions.jsx +++ b/test/MaxDetailOptions.jsx @@ -7,11 +7,7 @@ function upperCaseFirstLetter(str) { return str.slice(0, 1).toUpperCase() + str.slice(1); } -export default function MaxDetailOptions({ - maxDetail, - minDetail, - setMaxDetail, -}) { +export default function MaxDetailOptions({ maxDetail, minDetail, setMaxDetail }) { function onChange(event) { const { value } = event.target; @@ -22,9 +18,7 @@ export default function MaxDetailOptions({ return (
- - Maximum detail - + Maximum detail {allViews.map((view, index) => (
@@ -37,9 +31,7 @@ export default function MaxDetailOptions({ type="radio" value={view} /> - +
))}
diff --git a/test/MinDetailOptions.jsx b/test/MinDetailOptions.jsx index 90c30f40c..06bc6fa84 100644 --- a/test/MinDetailOptions.jsx +++ b/test/MinDetailOptions.jsx @@ -7,11 +7,7 @@ function upperCaseFirstLetter(str) { return str.slice(0, 1).toUpperCase() + str.slice(1); } -export default function MinDetailOptions({ - maxDetail, - minDetail, - setMinDetail, -}) { +export default function MinDetailOptions({ maxDetail, minDetail, setMinDetail }) { function onChange(event) { const { value } = event.target; @@ -22,9 +18,7 @@ export default function MinDetailOptions({ return (
- - Minimum detail - + Minimum detail {allViews.map((view, index) => (
@@ -37,9 +31,7 @@ export default function MinDetailOptions({ type="radio" value={view} /> - +
))}
diff --git a/test/Test.jsx b/test/Test.jsx index 9b23acf85..4a573ecf6 100644 --- a/test/Test.jsx +++ b/test/Test.jsx @@ -42,7 +42,7 @@ export default function Test() { const [maxDetail, setMaxDetail] = useState('month'); const [minDate, setMinDate] = useState(nineteenNinetyFive); const [minDetail, setMinDetail] = useState('century'); - const [returnValue/* , setReturnValue */] = useState('start'); + const [returnValue /* , setReturnValue */] = useState('start'); const [required, setRequired] = useState(true); const [showLeadingZeros, setShowLeadingZeros] = useState(true); const [showNeighboringMonth, setShowNeighboringMonth] = useState(false); @@ -52,9 +52,7 @@ export default function Test() { return (
-

- react-date-picker test page -

+

react-date-picker test page

); diff --git a/test/ValueOptions.jsx b/test/ValueOptions.jsx index 787ad0663..4c8754674 100644 --- a/test/ValueOptions.jsx +++ b/test/ValueOptions.jsx @@ -2,10 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { getISOLocalDate } from '@wojtekmaj/date-utils'; -export default function ValueOptions({ - setValue, - value, -}) { +export default function ValueOptions({ setValue, value }) { const date = [].concat(value)[0]; function onChange(event) { @@ -15,14 +12,10 @@ export default function ValueOptions({ return (
- - Set date externally - + Set date externally
- +   - -
@@ -52,9 +39,6 @@ ValueOptions.propTypes = { value: PropTypes.oneOfType([ PropTypes.string, PropTypes.instanceOf(Date), - PropTypes.arrayOf(PropTypes.oneOfType([ - PropTypes.string, - PropTypes.instanceOf(Date), - ])), + PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)])), ]), }; diff --git a/test/ViewOptions.jsx b/test/ViewOptions.jsx index 5ca04a993..fe6dd1fe1 100644 --- a/test/ViewOptions.jsx +++ b/test/ViewOptions.jsx @@ -37,20 +37,11 @@ export default function ViewOptions({ return (
- - View options - + View options
- - + +
@@ -60,9 +51,7 @@ export default function ViewOptions({ onChange={onShowLeadingZerosChange} type="checkbox" /> - +
@@ -72,9 +61,7 @@ export default function ViewOptions({ onChange={onShowWeekNumbersChange} type="checkbox" /> - +
@@ -84,9 +71,7 @@ export default function ViewOptions({ onChange={onShowNeighboringMonthChange} type="checkbox" /> - +
); diff --git a/test/index.html b/test/index.html index bb19e7ba3..ef83229ba 100644 --- a/test/index.html +++ b/test/index.html @@ -2,7 +2,7 @@ - + react-date-picker test page diff --git a/test/webpack.config.js b/test/webpack.config.js index 1de292ee7..c2be77632 100644 --- a/test/webpack.config.js +++ b/test/webpack.config.js @@ -46,10 +46,7 @@ module.exports = { }, { test: /\.css$/, - use: [ - isProduction ? MiniCssExtractPlugin.loader : 'style-loader', - 'css-loader', - ], + use: [isProduction ? MiniCssExtractPlugin.loader : 'style-loader', 'css-loader'], }, ].filter(Boolean), }, @@ -57,10 +54,11 @@ module.exports = { new HtmlWebpackPlugin({ template: 'index.html', }), - isProduction && new MiniCssExtractPlugin({ - filename: '[name].[chunkhash:8].css', - chunkFilename: '[name].[chunkhash:8].css', - }), + isProduction && + new MiniCssExtractPlugin({ + filename: '[name].[chunkhash:8].css', + chunkFilename: '[name].[chunkhash:8].css', + }), isDevelopment && new ReactRefreshWebpackPlugin(), ].filter(Boolean), optimization: { diff --git a/yarn.lock b/yarn.lock index e9aa77831..fabb68254 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,7 +32,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.14.5": +"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.14.5": version: 7.14.5 resolution: "@babel/code-frame@npm:7.14.5" dependencies: @@ -347,7 +347,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.7.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.7.2": version: 7.15.7 resolution: "@babel/parser@npm:7.15.7" bin: @@ -1304,12 +1304,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.8.4": - version: 7.12.5 - resolution: "@babel/runtime@npm:7.12.5" +"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.8.4": + version: 7.16.7 + resolution: "@babel/runtime@npm:7.16.7" dependencies: regenerator-runtime: ^0.13.4 - checksum: 64964a0fd172917fc5faac56bea5f0e6ec6200973e4ed6373e114f23f8cd6f113be31a6559fadfdd4f62071559e05d00a391760876a00345ea7813356c880209 + checksum: 47912f0aaacd1cab2e2552aaf3e6eaffbcaf2d5ac9b07a89a12ac0d42029cb92c070b0d16f825e4277c4a34677c54d8ffe85e1f7c6feb57de58f700eec67ce2f languageName: node linkType: hard @@ -1324,7 +1324,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2": +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.7.2": version: 7.15.4 resolution: "@babel/traverse@npm:7.15.4" dependencies: @@ -1341,7 +1341,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.14.9, @babel/types@npm:^7.15.4, @babel/types@npm:^7.15.6, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.14.9, @babel/types@npm:^7.15.4, @babel/types@npm:^7.15.6, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.15.6 resolution: "@babel/types@npm:7.15.6" dependencies: @@ -1358,21 +1358,38 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.3.0": - version: 0.3.0 - resolution: "@eslint/eslintrc@npm:0.3.0" +"@eslint/eslintrc@npm:^1.0.5": + version: 1.0.5 + resolution: "@eslint/eslintrc@npm:1.0.5" dependencies: ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 - globals: ^12.1.0 + debug: ^4.3.2 + espree: ^9.2.0 + globals: ^13.9.0 ignore: ^4.0.6 import-fresh: ^3.2.1 - js-yaml: ^3.13.1 - lodash: ^4.17.20 + js-yaml: ^4.1.0 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: a8148d3868893c251c72b2674a3d57c04deda7afe8208a8f4306d129017f21bbe800a493dda9b46957d39325d28378bd48c0a10d25c89aa5516dc8691ef7ca95 + checksum: b35b50d7b65bd8acd92a05b6fb15ac62c0cefa40dfef0324ca5bf8632bf3679bab6e173c53b3ad1e1d837701cecdbd9c144b35f46588cdf4e046a9caa272488d + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.9.2": + version: 0.9.3 + resolution: "@humanwhocodes/config-array@npm:0.9.3" + dependencies: + "@humanwhocodes/object-schema": ^1.2.1 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: 6e5d7d274941c459bab0a14a87e372206d89fad3e4879d982edc942e8cc34da6510ea3644b8535a2a9edaa6527e91dccceabc6837ffa8ee506d66bca5d269ebc + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 languageName: node linkType: hard @@ -1717,6 +1734,13 @@ __metadata: languageName: node linkType: hard +"@types/minimatch@npm:^3.0.3": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + "@types/node@npm:*": version: 13.9.1 resolution: "@types/node@npm:13.9.1" @@ -1843,7 +1867,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^7.1.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -1852,12 +1876,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.2.4": - version: 8.5.0 - resolution: "acorn@npm:8.5.0" +"acorn@npm:^8.2.4, acorn@npm:^8.7.0": + version: 8.7.0 + resolution: "acorn@npm:8.7.0" bin: acorn: bin/acorn - checksum: 2e4c1dbed3da327684863debf31d341bf8882c6893c506653872c00977eee45675feb9129255d6c74c88424d2b20d889ca6de5b39776e5e3cccfc756b3ca1da8 + checksum: e0f79409d68923fbf1aa6d4166f3eedc47955320d25c89a20cc822e6ba7c48c5963d5bc657bc242d68f7a4ac9faf96eef033e8f73656da6c640d4219935fdfd0 languageName: node linkType: hard @@ -1882,25 +1906,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.1": - version: 8.6.1 - resolution: "ajv@npm:8.6.1" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: e091264ff6c8134d9072e804f6f1d56e8dacc143537852d9afb456f0bb6c4eff98307e152da2faf7afef2ebf665278316aa5cf30f7d81ccecc9654c11629e2a6 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.1": - version: 4.1.1 - resolution: "ansi-colors@npm:4.1.1" - checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 - languageName: node - linkType: hard - "ansi-escapes@npm:^4.2.1": version: 4.3.1 resolution: "ansi-escapes@npm:4.3.1" @@ -1917,7 +1922,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.0": +"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b @@ -1986,6 +1991,13 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + "aria-query@npm:^4.2.2": version: 4.2.2 resolution: "aria-query@npm:4.2.2" @@ -1996,6 +2008,13 @@ __metadata: languageName: node linkType: hard +"array-differ@npm:^3.0.0": + version: 3.0.0 + resolution: "array-differ@npm:3.0.0" + checksum: 117edd9df5c1530bd116c6e8eea891d4bd02850fd89b1b36e532b6540e47ca620a373b81feca1c62d1395d9ae601516ba538abe5e8172d41091da2c546b05fb7 + languageName: node + linkType: hard + "array-filter@npm:^1.0.0": version: 1.0.0 resolution: "array-filter@npm:1.0.0" @@ -2003,35 +2022,52 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.1": - version: 3.1.1 - resolution: "array-includes@npm:3.1.1" +"array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": + version: 3.1.4 + resolution: "array-includes@npm:3.1.4" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0 - is-string: ^1.0.5 - checksum: e6d35d400c156a7242eb7fdeac5a64fe2d2c96613c55daea015d828691d8f26c2bd1b34f9786728fb3b00f2d0211374ecf2e1c5f8a56beb434bf8b2a9725235f + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + is-string: ^1.0.7 + checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.3": - version: 1.2.3 - resolution: "array.prototype.flat@npm:1.2.3" +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.2.3, array.prototype.flat@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.flat@npm:1.2.5" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0-next.1 - checksum: ba4cf6e53871902a09fa7f56ff097e836f18d59de0219fe271e3d1a895a7ea98a62fa946cbdae95e73b774991206a32a26822227d081bd2cc5c771b95f851753 + es-abstract: ^1.19.0 + checksum: 9cc6414b111abfc7717e39546e4887b1e5ec74df8f1618d83425deaa95752bf05d475d1d241253b4d88d4a01f8e1bc84845ad5b7cc2047f8db2f614512acd40e languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.3": - version: 1.2.3 - resolution: "array.prototype.flatmap@npm:1.2.3" +"array.prototype.flatmap@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.flatmap@npm:1.2.5" dependencies: + call-bind: ^1.0.0 define-properties: ^1.1.3 - es-abstract: ^1.17.0-next.1 - function-bind: ^1.1.1 - checksum: d0f96793d3763cb3aa48a0a9860255c2f10eeaa9584a6e6e2315db67a2088a4a6a27e62ae5fdd3f49a1a61b4f481ed4991d95c9e752d581bae2ff73fff446607 + es-abstract: ^1.19.0 + checksum: a14119a28e5687a13cf3fd6756a8e7810563a9e81cd4227e27a25c31d362df47ac72553f06a271fd728741e199047933ad43d561d64a28da0b4e1a26f74e939e + languageName: node + linkType: hard + +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 languageName: node linkType: hard @@ -2058,13 +2094,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -2086,10 +2115,10 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.0.2": - version: 4.0.2 - resolution: "axe-core@npm:4.0.2" - checksum: 56a0203d3e39091ff7886a8b22f7790187db88171863cbd487ee71b733143556ad2eb50c542dc1bd3f519de25cc3a238cf6627e5d00535483f2cd07aef7d27fb +"axe-core@npm:^4.3.5": + version: 4.3.5 + resolution: "axe-core@npm:4.3.5" + checksum: 973c6a80f0aaa663820b209d4202de7a0c240a2dea2f3cff168b09c0f221b27179b1f0988f00ad11ed63cbc50535920f8ca779de1c60dc82090ab2d275f71fdd languageName: node linkType: hard @@ -2100,22 +2129,6 @@ __metadata: languageName: node linkType: hard -"babel-eslint@npm:^10.0.0": - version: 10.1.0 - resolution: "babel-eslint@npm:10.1.0" - dependencies: - "@babel/code-frame": ^7.0.0 - "@babel/parser": ^7.7.0 - "@babel/traverse": ^7.7.0 - "@babel/types": ^7.7.0 - eslint-visitor-keys: ^1.0.0 - resolve: ^1.12.0 - peerDependencies: - eslint: ">= 4.12.1" - checksum: bdc1f62b6b0f9c4d5108c96d835dad0c0066bc45b7c020fcb2d6a08107cf69c9217a99d3438dbd701b2816896190c4283ba04270ed9a8349ee07bd8dafcdc050 - languageName: node - linkType: hard - "babel-jest@npm:^27.2.1": version: 27.2.1 resolution: "babel-jest@npm:27.2.1" @@ -2381,6 +2394,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "chalk@npm:^4.0.0": version: 4.0.0 resolution: "chalk@npm:4.0.0" @@ -2567,13 +2590,6 @@ __metadata: languageName: node linkType: hard -"confusing-browser-globals@npm:^1.0.9": - version: 1.0.9 - resolution: "confusing-browser-globals@npm:1.0.9" - checksum: 585f244fc05bdcede9bd8831c41ff22b3fb0629e3ac6a495330a59c1aa9c30f3c1544498b6ff4f5a0bb302f7bedfbbb3f59d591556856e80622fd51b1dff351c - languageName: node - linkType: hard - "console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -2581,13 +2597,6 @@ __metadata: languageName: node linkType: hard -"contains-path@npm:^0.1.0": - version: 0.1.0 - resolution: "contains-path@npm:0.1.0" - checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 - languageName: node - linkType: hard - "convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.7.0 resolution: "convert-source-map@npm:1.7.0" @@ -2630,7 +2639,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -2684,10 +2693,10 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.6": - version: 1.0.6 - resolution: "damerau-levenshtein@npm:1.0.6" - checksum: 4746e69c33e83038cac1f26100be6eb6a1cc1e52bdbf6d1c14a91aa0323cac35aea7e4f2bedf53e39db80c08853c88ec64b0e8b1622f05c80281636d4da7d139 +"damerau-levenshtein@npm:^1.0.7": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de languageName: node linkType: hard @@ -2711,15 +2720,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": - version: 4.3.2 - resolution: "debug@npm:4.3.2" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2": + version: 4.3.3 + resolution: "debug@npm:4.3.3" dependencies: ms: 2.1.2 peerDependenciesMeta: supports-color: optional: true - checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 + checksum: 14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16 languageName: node linkType: hard @@ -2732,12 +2741,12 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.6": - version: 3.2.6 - resolution: "debug@npm:3.2.6" +"debug@npm:^3.2.6, debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" dependencies: ms: ^2.1.1 - checksum: 07bc8b3a13ef3cfa6c06baf7871dfb174c291e5f85dbf566f086620c16b9c1a0e93bb8f1935ebbd07a683249e7e30286f2966e2ef461e8fd17b1b60732062d6b + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c languageName: node linkType: hard @@ -2820,16 +2829,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:1.5.0": - version: 1.5.0 - resolution: "doctrine@npm:1.5.0" - dependencies: - esutils: ^2.0.2 - isarray: ^1.0.0 - checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -2926,19 +2925,19 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.0.0": - version: 9.0.0 - resolution: "emoji-regex@npm:9.0.0" - checksum: 632f1b824a6d0b9ba70a471e01ff3fe787d809cfea721542b220096ce1e02eac50a4d4147d7fff434ff46d0fb5e62a97875404dbaea471a48f1f9232b75f9434 +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 languageName: node linkType: hard -"enquirer@npm:^2.3.5": - version: 2.3.6 - resolution: "enquirer@npm:2.3.6" +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" dependencies: - ansi-colors: ^4.1.1 - checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + once: ^1.4.0 + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b languageName: node linkType: hard @@ -3007,36 +3006,31 @@ __metadata: languageName: node linkType: hard -"error-ex@npm:^1.2.0": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: ^0.2.1 - checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 - languageName: node - linkType: hard - -"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.5, es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2": - version: 1.18.0 - resolution: "es-abstract@npm:1.18.0" +"es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": + version: 1.19.1 + resolution: "es-abstract@npm:1.19.1" dependencies: call-bind: ^1.0.2 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 has: ^1.0.3 has-symbols: ^1.0.2 - is-callable: ^1.2.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 is-negative-zero: ^2.0.1 - is-regex: ^1.1.2 - is-string: ^1.0.5 - object-inspect: ^1.9.0 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.1 + is-string: ^1.0.7 + is-weakref: ^1.0.1 + object-inspect: ^1.11.0 object-keys: ^1.1.1 object.assign: ^4.1.2 string.prototype.trimend: ^1.0.4 string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.0 - checksum: 6783bea97f372fd4f1fc77e4e294d024b9f40559a83b40c46b69565511cf13d462a6189b822228c6bb818bd09d2f23b33500206d39bbdc69f7cc7ffebf6640a1 + unbox-primitive: ^1.0.1 + checksum: b6be8410672c5364db3fb01eb786e30c7b4bb32b4af63d381c08840f4382c4a168e7855cd338bf59d4f1a1a1138f4d748d1fd40ec65aaa071876f9e9fbfed949 languageName: node linkType: hard @@ -3072,6 +3066,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + "escodegen@npm:^2.0.0": version: 2.0.0 resolution: "escodegen@npm:2.0.0" @@ -3091,170 +3092,136 @@ __metadata: languageName: node linkType: hard -"eslint-config-airbnb-base@npm:^14.2.0": - version: 14.2.0 - resolution: "eslint-config-airbnb-base@npm:14.2.0" +"eslint-config-wojtekmaj@npm:^0.6.5": + version: 0.6.5 + resolution: "eslint-config-wojtekmaj@npm:0.6.5" dependencies: - confusing-browser-globals: ^1.0.9 - object.assign: ^4.1.0 - object.entries: ^1.1.2 + eslint-plugin-import: ^2.25.0 + eslint-plugin-jsx-a11y: ^6.5.0 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 peerDependencies: - eslint: ^5.16.0 || ^6.8.0 || ^7.2.0 - eslint-plugin-import: ^2.21.2 - checksum: c59856fc840e321bcd8c300a65742f9c71dc9e2a10a0d0e810ee3f27575da970ba75c01311c246dca513770ea128ce22984c0271b1bf45f9cea53fe9f13b4a39 + eslint: ^7.0.0 || ^8.0.0 + checksum: c856213f1cad2020b715df081cba255ea4e9ebed18f3a4c12b39bb87ae20fe8545518172c62a01cd5e2c7f8793265cf87f2535e57326b8b21cc2fc4717274c94 languageName: node linkType: hard -"eslint-config-airbnb@npm:^18.2.0": - version: 18.2.0 - resolution: "eslint-config-airbnb@npm:18.2.0" +"eslint-import-resolver-node@npm:^0.3.6": + version: 0.3.6 + resolution: "eslint-import-resolver-node@npm:0.3.6" dependencies: - eslint-config-airbnb-base: ^14.2.0 - object.assign: ^4.1.0 - object.entries: ^1.1.2 - peerDependencies: - eslint: ^5.16.0 || ^6.8.0 || ^7.2.0 - eslint-plugin-import: ^2.21.2 - eslint-plugin-jsx-a11y: ^6.3.0 - eslint-plugin-react: ^7.20.0 - eslint-plugin-react-hooks: ^4 || ^3 || ^2.3.0 || ^1.7.0 - checksum: 2979d93609cea6d4b8f9965416125e82d081e2aab0dfcd867a371a0ee482d42d5d6f520243c128b8ab1ce995835d05f4c4bc3a020d26922ce8abab41c65b9129 - languageName: node - linkType: hard - -"eslint-config-wojtekmaj@npm:^0.5.0": - version: 0.5.0 - resolution: "eslint-config-wojtekmaj@npm:0.5.0" - dependencies: - eslint-config-airbnb: ^18.2.0 - eslint-config-airbnb-base: ^14.2.0 - eslint-plugin-import: ^2.22.0 - eslint-plugin-jsx-a11y: ^6.4.0 - eslint-plugin-react: ^7.21.0 - eslint-plugin-react-hooks: ^4.2.0 - peerDependencies: - eslint: ^7.0.0 - checksum: 0ec4fd99a6b38473cbe1a2dd9218c9138b3b33ae73fa3b201cdff53712bb9deb2edf1a800a45c89942f7c09e2ed03287fcf515eb8b53c7f162bd421b524100c4 - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.4": - version: 0.3.4 - resolution: "eslint-import-resolver-node@npm:0.3.4" - dependencies: - debug: ^2.6.9 - resolve: ^1.13.1 - checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + debug: ^3.2.7 + resolve: ^1.20.0 + checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 languageName: node linkType: hard -"eslint-module-utils@npm:^2.6.0": - version: 2.6.0 - resolution: "eslint-module-utils@npm:2.6.0" +"eslint-module-utils@npm:^2.7.2": + version: 2.7.2 + resolution: "eslint-module-utils@npm:2.7.2" dependencies: - debug: ^2.6.9 - pkg-dir: ^2.0.0 - checksum: 489bb82248e1090515701cc9614a6e183dac34805bc1cb205cf411a875b8db756b0c05141f9ddb64395ec1d518a99c7f113ac181929a0e995968b8584d7f5a63 + debug: ^3.2.7 + find-up: ^2.1.0 + checksum: 3e6407461d12b1568556fc9a84668415693ecce92d17d7407353defcfcafec5d3d8dfa2d9eda3743b3b53ef04101d8aa69072b3d634d92e766c3dfa10505542d languageName: node linkType: hard -"eslint-plugin-import@npm:^2.22.0": - version: 2.22.1 - resolution: "eslint-plugin-import@npm:2.22.1" +"eslint-plugin-import@npm:^2.25.0": + version: 2.25.4 + resolution: "eslint-plugin-import@npm:2.25.4" dependencies: - array-includes: ^3.1.1 - array.prototype.flat: ^1.2.3 - contains-path: ^0.1.0 + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 debug: ^2.6.9 - doctrine: 1.5.0 - eslint-import-resolver-node: ^0.3.4 - eslint-module-utils: ^2.6.0 + doctrine: ^2.1.0 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.7.2 has: ^1.0.3 + is-core-module: ^2.8.0 + is-glob: ^4.0.3 minimatch: ^3.0.4 - object.values: ^1.1.1 - read-pkg-up: ^2.0.0 - resolve: ^1.17.0 - tsconfig-paths: ^3.9.0 + object.values: ^1.1.5 + resolve: ^1.20.0 + tsconfig-paths: ^3.12.0 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: b043d5b67c0130545bfb7695abcd28fd605e4ccac580ec937217d078c5361800d3626a45dec43c2c697431c4c657b83be504e07605da1afb4a2ebc894a661f19 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 0af24f5c7c6ca692f42e3947127f0ae7dfe44f1e02740f7cbe988b510a9c52bab0065d7df04e2d953dcc88a4595a00cbdcf14018acf8cd75cfd47b72efcbb734 languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.4.0": - version: 6.4.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.4.1" +"eslint-plugin-jsx-a11y@npm:^6.5.0": + version: 6.5.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.5.1" dependencies: - "@babel/runtime": ^7.11.2 + "@babel/runtime": ^7.16.3 aria-query: ^4.2.2 - array-includes: ^3.1.1 + array-includes: ^3.1.4 ast-types-flow: ^0.0.7 - axe-core: ^4.0.2 + axe-core: ^4.3.5 axobject-query: ^2.2.0 - damerau-levenshtein: ^1.0.6 - emoji-regex: ^9.0.0 + damerau-levenshtein: ^1.0.7 + emoji-regex: ^9.2.2 has: ^1.0.3 - jsx-ast-utils: ^3.1.0 + jsx-ast-utils: ^3.2.1 language-tags: ^1.0.5 + minimatch: ^3.0.4 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: 30326276385b6029754fbca0a25140be0f2f84d263b38f794651acf973399ea316ab1b9d69dffb9b9807d2b47592ba4bc271a242edbb15abfc05d07b08060a7e + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 311ab993ed982d0cc7cb0ba02fbc4b36c4a94e9434f31e97f13c4d67e8ecb8aec36baecfd759ff70498846e7e11d7a197eb04c39ad64934baf3354712fd0bc9d languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.2.0": - version: 4.2.0 - resolution: "eslint-plugin-react-hooks@npm:4.2.0" +"eslint-plugin-react-hooks@npm:^4.3.0": + version: 4.3.0 + resolution: "eslint-plugin-react-hooks@npm:4.3.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - checksum: ead5c5be3ded82a0cf295b064376adb1998a43e2262b605eecc0efc88283dec4e159ca39307fafb3d8e661dd08e5a4c8cdfed97eea78f923954f72bad6e20397 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + checksum: 0ba1566ba0780bbc75a5921f49188edf232db2085ab32c8d3889592f0db9d6fadc97fcf639775e0101dec6b5409ca3c803ec44213b90c8bacaf0bdf921871c2e languageName: node linkType: hard -"eslint-plugin-react@npm:^7.21.0": - version: 7.21.5 - resolution: "eslint-plugin-react@npm:7.21.5" +"eslint-plugin-react@npm:^7.28.0": + version: 7.28.0 + resolution: "eslint-plugin-react@npm:7.28.0" dependencies: - array-includes: ^3.1.1 - array.prototype.flatmap: ^1.2.3 + array-includes: ^3.1.4 + array.prototype.flatmap: ^1.2.5 doctrine: ^2.1.0 - has: ^1.0.3 + estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 - object.entries: ^1.1.2 - object.fromentries: ^2.0.2 - object.values: ^1.1.1 + minimatch: ^3.0.4 + object.entries: ^1.1.5 + object.fromentries: ^2.0.5 + object.hasown: ^1.1.0 + object.values: ^1.1.5 prop-types: ^15.7.2 - resolve: ^1.18.1 - string.prototype.matchall: ^4.0.2 + resolve: ^2.0.0-next.3 + semver: ^6.3.0 + string.prototype.matchall: ^4.0.6 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: 93a006413ce057b08bfedae4581c32c28f6f42f86823e7c991321c8a1e178787424368472c657594a9c4c9291c9e870c72288931948b2af23840031433074a22 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 90293d0fd53bb1f735ffd32141cdd211fb1120c9f7bbe5342f9e923261a39e52a2b2575d4e46c9cd77d257f42db4a99b8b339689fc5b5c1c26048929f69b1784 languageName: node linkType: hard -"eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" +"eslint-scope@npm:^7.1.0": + version: 7.1.0 + resolution: "eslint-scope@npm:7.1.0" dependencies: esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + estraverse: ^5.2.0 + checksum: 2070470a0725438ed47075b2574a4c03cf59aa32648da8cff9e3548c84f6b0079cfdb9ee1dd7ab0bfe97011f64b2af5bfd4b69cf14a1292130dec661eec7914a languageName: node linkType: hard -"eslint-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" dependencies: - eslint-visitor-keys: ^1.1.0 - checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": - version: 1.3.0 - resolution: "eslint-visitor-keys@npm:1.3.0" - checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 languageName: node linkType: hard @@ -3265,61 +3232,66 @@ __metadata: languageName: node linkType: hard -"eslint@npm:~7.19.0": - version: 7.19.0 - resolution: "eslint@npm:7.19.0" +"eslint-visitor-keys@npm:^3.1.0, eslint-visitor-keys@npm:^3.2.0": + version: 3.2.0 + resolution: "eslint-visitor-keys@npm:3.2.0" + checksum: fdadbb26f9e6417d3db7ad4f00bb0d573b6031c32fa72e8cdae32d038223faaeddff2ee443c90cb489bf774e75bff765c00912b8f9106d65e4f202ccd78c1b18 + languageName: node + linkType: hard + +"eslint@npm:^8.5.0": + version: 8.7.0 + resolution: "eslint@npm:8.7.0" dependencies: - "@babel/code-frame": ^7.0.0 - "@eslint/eslintrc": ^0.3.0 + "@eslint/eslintrc": ^1.0.5 + "@humanwhocodes/config-array": ^0.9.2 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 - debug: ^4.0.1 + debug: ^4.3.2 doctrine: ^3.0.0 - enquirer: ^2.3.5 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 - esquery: ^1.2.0 + escape-string-regexp: ^4.0.0 + eslint-scope: ^7.1.0 + eslint-utils: ^3.0.0 + eslint-visitor-keys: ^3.2.0 + espree: ^9.3.0 + esquery: ^1.4.0 esutils: ^2.0.2 - file-entry-cache: ^6.0.0 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 functional-red-black-tree: ^1.0.1 - glob-parent: ^5.0.0 - globals: ^12.1.0 - ignore: ^4.0.6 + glob-parent: ^6.0.1 + globals: ^13.6.0 + ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - js-yaml: ^3.13.1 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 - lodash: ^4.17.20 + lodash.merge: ^4.6.2 minimatch: ^3.0.4 natural-compare: ^1.4.0 optionator: ^0.9.1 - progress: ^2.0.0 - regexpp: ^3.1.0 - semver: ^7.2.1 - strip-ansi: ^6.0.0 + regexpp: ^3.2.0 + strip-ansi: ^6.0.1 strip-json-comments: ^3.1.0 - table: ^6.0.4 text-table: ^0.2.0 v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 56f05e1e00d0fa6a2583485c270f828165ede5853d7b96ca6a092ab39c74362edaa9a213019aa8b89624ecc703f6d23c1c77bfe61fa74ba249edaea80f0e1619 + checksum: 1c80375a48b0fe3ccae3c6354323e4f0e92e970f23abc5b9705b90b7aef514b69ebd0a63e74962d30789986c91fa41c0e25cd2f98f19e9e2a2d36aafdfc9ccc9 languageName: node linkType: hard -"espree@npm:^7.3.0, espree@npm:^7.3.1": - version: 7.3.1 - resolution: "espree@npm:7.3.1" +"espree@npm:^9.2.0, espree@npm:^9.3.0": + version: 9.3.0 + resolution: "espree@npm:9.3.0" dependencies: - acorn: ^7.4.0 + acorn: ^8.7.0 acorn-jsx: ^5.3.1 - eslint-visitor-keys: ^1.3.0 - checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + eslint-visitor-keys: ^3.1.0 + checksum: c0f1885c4eab652f9be08eb9228cea0df046b559b29d4aed8d6590ea9bd60177d4cb245d204a6f737a79a096861bb4ab8e480aeb8c1dbafef5beec1157353ce4 languageName: node linkType: hard @@ -3333,12 +3305,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.2.0": - version: 1.3.1 - resolution: "esquery@npm:1.3.1" +"esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" dependencies: estraverse: ^5.1.0 - checksum: 2f13235c775acf79489dd18a1a81e2a1e940b02f80994e051d0a68036cbe87c2bcbedf549c747bc4c4776f5a04f839355a344cebe31d84fb75d3fbc27f12b340 + checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 languageName: node linkType: hard @@ -3351,17 +3323,10 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.2.0 - resolution: "estraverse@npm:5.2.0" - checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b languageName: node linkType: hard @@ -3372,6 +3337,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^4.0.0": + version: 4.1.0 + resolution: "execa@npm:4.1.0" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: e30d298934d9c52f90f3847704fd8224e849a081ab2b517bbc02f5f7732c24e56a21f14cb96a08256deffeb2d12b2b7cb7e2b014a12fb36f8d3357e06417ed55 + languageName: node + linkType: hard + "execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -3431,10 +3413,10 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1": - version: 3.1.1 - resolution: "fast-deep-equal@npm:3.1.1" - checksum: 98bcc0eecef31601173aa82257f61c09789b3bd05673c0a602b449b70461ae087d6f38b3f77f9445ec79ab2f6c1ff8b6a525a2450b617b7f415a46b7c4ed691a +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d languageName: node linkType: hard @@ -3461,7 +3443,7 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.0": +"file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" dependencies: @@ -3479,7 +3461,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^2.0.0, find-up@npm:^2.1.0": +"find-up@npm:^2.1.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" dependencies: @@ -3649,7 +3631,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": version: 1.1.1 resolution: "get-intrinsic@npm:1.1.1" dependencies: @@ -3660,6 +3642,15 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^5.0.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: ^3.0.0 + checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + languageName: node + linkType: hard + "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -3667,6 +3658,16 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + "get-user-locale@npm:^1.2.0": version: 1.3.0 resolution: "get-user-locale@npm:1.3.0" @@ -3685,7 +3686,16 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.0.0, glob-parent@npm:~5.1.2": +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + +"glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -3715,12 +3725,12 @@ __metadata: languageName: node linkType: hard -"globals@npm:^12.1.0": - version: 12.4.0 - resolution: "globals@npm:12.4.0" +"globals@npm:^13.6.0, globals@npm:^13.9.0": + version: 13.12.0 + resolution: "globals@npm:13.12.0" dependencies: - type-fest: ^0.8.1 - checksum: 7ae5ee16a96f1e8d71065405f57da0e33267f6b070cd36a5444c7780dd28639b48b92413698ac64f04bf31594f9108878bd8cb158ecdf759c39e05634fefcca6 + type-fest: ^0.20.2 + checksum: 1f959abb11117916468a1afcba527eead152900cad652c8383c4e8976daea7ec55e1ee30c086f48d1b8655719f214e9d92eca083c3a43b5543bc4056e7e5fccf languageName: node linkType: hard @@ -3748,7 +3758,7 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.0": +"has-bigints@npm:^1.0.1": version: 1.0.1 resolution: "has-bigints@npm:1.0.1" checksum: 44ab55868174470065d2e0f8f6def1c990d12b82162a8803c679699fa8a39f966e336f2a33c185092fe8aea7e8bf2e85f1c26add5f29d98f2318bd270096b183 @@ -3769,13 +3779,22 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": +"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" checksum: 2309c426071731be792b5be43b3da6fb4ed7cbe8a9a6bcfca1862587709f01b33d575ce8f5c264c1eaad09fca2f9a8208c0a2be156232629daa2dd0c0740976b languageName: node linkType: hard +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + "has-unicode@npm:^2.0.0": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -3792,13 +3811,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd - languageName: node - linkType: hard - "html-element-map@npm:^1.2.0": version: 1.2.0 resolution: "html-element-map@npm:1.2.0" @@ -3868,6 +3880,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: d587647c9e8ec24e02821b6be7de5a0fc37f591f6c4e319b3054b43fd4c35a70a94c46fc74d8c1a43c47fde157d23acd7421f375e1c1365b09a16835b8300205 + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -3875,6 +3894,15 @@ __metadata: languageName: node linkType: hard +"husky@npm:^7.0.0": + version: 7.0.4 + resolution: "husky@npm:7.0.4" + bin: + husky: lib/bin.js + checksum: c6ec4af63da2c9522da8674a20ad9b48362cc92704896cc8a58c6a2a39d797feb2b806f93fbd83a6d653fbdceb2c3b6e0b602c6b2e8565206ffc2882ef7db9e9 + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.4": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -3891,6 +3919,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.1.4, ignore@npm:^5.2.0": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + languageName: node + linkType: hard + "image-size@npm:~0.5.0": version: 0.5.5 resolution: "image-size@npm:0.5.5" @@ -3946,21 +3981,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.2": - version: 1.0.2 - resolution: "internal-slot@npm:1.0.2" +"internal-slot@npm:^1.0.3": + version: 1.0.3 + resolution: "internal-slot@npm:1.0.3" dependencies: - es-abstract: ^1.17.0-next.1 + get-intrinsic: ^1.1.0 has: ^1.0.3 - side-channel: ^1.0.2 - checksum: 4689d3254997371ae4af3ae7ced3ac393b04bea23d01ea08c7abfdabe938e5bc676544d4dfe1c6b20aa549ee8d681bd23e02a3223659933670aa6f39a5bf6fb7 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + side-channel: ^1.0.4 + checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf languageName: node linkType: hard @@ -3989,10 +4017,10 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.1.5, is-callable@npm:^1.2.3": - version: 1.2.3 - resolution: "is-callable@npm:1.2.3" - checksum: 084a732afd78e14a40cd5f6f34001edd500f43bb542991c1305b88842cab5f2fb6b48f0deed4cd72270b2e71cab3c3a56c69b324e3a02d486f937824bb7de553 +"is-callable@npm:^1.1.4, is-callable@npm:^1.1.5, is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f languageName: node linkType: hard @@ -4007,12 +4035,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.2.0": - version: 2.6.0 - resolution: "is-core-module@npm:2.6.0" +"is-core-module@npm:^2.2.0, is-core-module@npm:^2.8.0": + version: 2.8.1 + resolution: "is-core-module@npm:2.8.1" dependencies: has: ^1.0.3 - checksum: 183b3b96fed19822b13959876b0317e61fc2cb5ebcbc21639904c81f7ae328af57f8e18cc4750a9c4abebd686130c70d34a89521e57dbe002edfa4614507ce18 + checksum: 418b7bc10768a73c41c7ef497e293719604007f88934a6ffc5f7c78702791b8528102fb4c9e56d006d69361549b3d9519440214a74aefc7e0b79e5e4411d377f languageName: node linkType: hard @@ -4053,12 +4081,12 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.1 - resolution: "is-glob@npm:4.0.1" +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" dependencies: is-extglob: ^2.1.1 - checksum: 84627cad11b4e745f5db5a163f32c47b711585a5ff6e14f8f8d026db87f4cdd3e2c95f6fa1f94ad22e469f36d819ae2814f03f9c668b164422ac3354a94672d3 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 languageName: node linkType: hard @@ -4090,13 +4118,20 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.0.5, is-regex@npm:^1.1.2": - version: 1.1.2 - resolution: "is-regex@npm:1.1.2" +"is-regex@npm:^1.0.5, is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" dependencies: call-bind: ^1.0.2 - has-symbols: ^1.0.1 - checksum: a1e5a451b6b2207c04e2591417499fed013630dbe96c051f0a39a3b266b16ab691c0345128223573f3cd45796e0f561a2241f4a7f1840b06574eebb7100b68aa + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "is-shared-array-buffer@npm:1.0.1" + checksum: 2ffb92533e64e2876e6cfe6906871d28400b6f1a53130fe652ec8007bc0e5044d05e7af8e31bdc992fbba520bd92938cfbeedd0f286be92f250c7c76191c4d90 languageName: node linkType: hard @@ -4107,10 +4142,12 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5": - version: 1.0.5 - resolution: "is-string@npm:1.0.5" - checksum: 68d77a991f55592721cc7d5800ff95cdb2c4f242e3a98fdc939c409879f7b8f297b8352184032b6b2183994b4c457f42df8de004c58b5b43655c8b2f3e3ecc17 +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 languageName: node linkType: hard @@ -4137,6 +4174,15 @@ __metadata: languageName: node linkType: hard +"is-weakref@npm:^1.0.1": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + "is-what@npm:^3.12.0": version: 3.14.1 resolution: "is-what@npm:3.14.1" @@ -4144,7 +4190,7 @@ __metadata: languageName: node linkType: hard -"isarray@npm:^1.0.0, isarray@npm:~1.0.0": +"isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab @@ -4730,6 +4776,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + "jsbn@npm:~0.1.0": version: 0.1.1 resolution: "jsbn@npm:0.1.1" @@ -4802,13 +4859,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json-schema@npm:0.2.3": version: 0.2.3 resolution: "json-schema@npm:0.2.3" @@ -4864,13 +4914,13 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.1.0": - version: 3.1.0 - resolution: "jsx-ast-utils@npm:3.1.0" +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": + version: 3.2.1 + resolution: "jsx-ast-utils@npm:3.2.1" dependencies: - array-includes: ^3.1.1 - object.assign: ^4.1.1 - checksum: 180f173949ce7f8ffb6d97efed7d809a90f80261ab9c7a4c9cc458cffcb80659be9cc57000bf39356f9cac5e3971109c76f2a325383f29637ac9f4c1e116751e + array-includes: ^3.1.3 + object.assign: ^4.1.2 + checksum: dcee22e6382ee5a6bd4187333a44b6420d9d079838119a07055d6e88d137dd0afadc97a2246152b0b65006bd5fc393112dc0cef01956a01a66c1713913953c66 languageName: node linkType: hard @@ -4959,18 +5009,6 @@ __metadata: languageName: node linkType: hard -"load-json-file@npm:^2.0.0": - version: 2.0.0 - resolution: "load-json-file@npm:2.0.0" - dependencies: - graceful-fs: ^4.1.2 - parse-json: ^2.2.0 - pify: ^2.0.0 - strip-bom: ^3.0.0 - checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 - languageName: node - linkType: hard - "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -4990,13 +5028,6 @@ __metadata: languageName: node linkType: hard -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 92c46f094b064e876a23c97f57f81fbffd5d760bf2d8a1c61d85db6d1e488c66b0384c943abee4f6af7debf5ad4e4282e74ff83177c9e63d8ff081a4837c3489 - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -5025,6 +5056,13 @@ __metadata: languageName: node linkType: hard +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 + languageName: node + linkType: hard + "lodash.once@npm:^4.1.1": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -5032,14 +5070,7 @@ __metadata: languageName: node linkType: hard -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 - languageName: node - linkType: hard - -"lodash@npm:^4.17.20, lodash@npm:^4.7.0": +"lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -5215,6 +5246,13 @@ __metadata: languageName: node linkType: hard +"mri@npm:^1.1.5": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 83f515abbcff60150873e424894a2f65d68037e5a7fcde8a9e2b285ee9c13ac581b63cfc1e6826c4732de3aeb84902f7c1e16b7aff46cd3f897a0f757a894e85 + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -5229,6 +5267,19 @@ __metadata: languageName: node linkType: hard +"multimatch@npm:^4.0.0": + version: 4.0.0 + resolution: "multimatch@npm:4.0.0" + dependencies: + "@types/minimatch": ^3.0.3 + array-differ: ^3.0.0 + array-union: ^2.1.0 + arrify: ^2.0.1 + minimatch: ^3.0.4 + checksum: bdb6a98dad4e919d9a1a2a0db872f44fa2337315f2fd5827d91ae005cf22f4425782bdfa97c10b80d567f0cb3c226c31f4e85f8f6a4a4be4facf9af0de1bb0c2 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -5320,18 +5371,6 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" - dependencies: - hosted-git-info: ^2.1.4 - resolve: ^1.10.0 - semver: 2 || 3 || 4 || 5 - validate-npm-package-license: ^3.0.1 - checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 - languageName: node - linkType: hard - "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -5339,7 +5378,7 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" dependencies: @@ -5397,10 +5436,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.7.0, object-inspect@npm:^1.9.0": - version: 1.9.0 - resolution: "object-inspect@npm:1.9.0" - checksum: 715d2ef5beebfecd5c6d5b29dd370b11bb37d46284d4c1e38463c1ab5dd182cb9d1b543b3f0ea682c84a1883863ea2fe6e6b7599a65a6ab043545189b06e8800 +"object-inspect@npm:^1.11.0, object-inspect@npm:^1.7.0, object-inspect@npm:^1.9.0": + version: 1.12.0 + resolution: "object-inspect@npm:1.12.0" + checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 languageName: node linkType: hard @@ -5421,7 +5460,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.0, object.assign@npm:^4.1.1, object.assign@npm:^4.1.2": +"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" dependencies: @@ -5433,42 +5472,50 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.1, object.entries@npm:^1.1.2": - version: 1.1.2 - resolution: "object.entries@npm:1.1.2" +"object.entries@npm:^1.1.1, object.entries@npm:^1.1.5": + version: 1.1.5 + resolution: "object.entries@npm:1.1.5" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.5 - has: ^1.0.3 - checksum: fa97173d30312086b6adbff2b87b60799656c7aca5016f2bc69b20f313125e7763ca5bc1c1cbfd0949942291cc1b5d4cdfd362817dc6ab79f136c0e5df072e64 + es-abstract: ^1.19.1 + checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 languageName: node linkType: hard -"object.fromentries@npm:^2.0.0, object.fromentries@npm:^2.0.2": - version: 2.0.4 - resolution: "object.fromentries@npm:2.0.4" +"object.fromentries@npm:^2.0.0, object.fromentries@npm:^2.0.5": + version: 2.0.5 + resolution: "object.fromentries@npm:2.0.5" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has: ^1.0.3 - checksum: 1e8e991c43a463a6389c6ee6935ef3843931fb012c5eed2ec30e3d5cf3760cb853f527723cdc98fb770d9c0cd068449448b03c303f527e7926a97d43daaa5c66 + es-abstract: ^1.19.1 + checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b languageName: node linkType: hard -"object.values@npm:^1.1.0, object.values@npm:^1.1.1": - version: 1.1.3 - resolution: "object.values@npm:1.1.3" +"object.hasown@npm:^1.1.0": + version: 1.1.0 + resolution: "object.hasown@npm:1.1.0" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 5c5d0b1b793514609f7a635f3110fbd346e142c9afd2485b802775e1ef6c90e48ff6e8e8744927933370ba30964e21af9c5fcf782b47f34d650aa6b277565330 + languageName: node + linkType: hard + +"object.values@npm:^1.1.0, object.values@npm:^1.1.1, object.values@npm:^1.1.5": + version: 1.1.5 + resolution: "object.values@npm:1.1.5" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has: ^1.0.3 - checksum: 8b29bd0936a32c2c5dfeb39389f65c7c3f32253a2ad3e4605726cac6bda8f642b4f8ab1ef58279851b86b7ae7322b3cf9a464c346498a7deb8f0c3a0554015f0 + es-abstract: ^1.19.1 + checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 languageName: node linkType: hard -"once@npm:^1.3.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -5477,7 +5524,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.2": +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -5604,15 +5651,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^2.2.0": - version: 2.2.0 - resolution: "parse-json@npm:2.2.0" - dependencies: - error-ex: ^1.2.0 - checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca - languageName: node - linkType: hard - "parse-node-version@npm:^1.0.1": version: 1.0.1 resolution: "parse-node-version@npm:1.0.1" @@ -5671,15 +5709,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^2.0.0": - version: 2.0.0 - resolution: "path-type@npm:2.0.0" - dependencies: - pify: ^2.0.0 - checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c - languageName: node - linkType: hard - "performance-now@npm:^2.1.0": version: 2.1.0 resolution: "performance-now@npm:2.1.0" @@ -5694,13 +5723,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.0.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba - languageName: node - linkType: hard - "pify@npm:^4.0.1": version: 4.0.1 resolution: "pify@npm:4.0.1" @@ -5717,15 +5739,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^2.0.0": - version: 2.0.0 - resolution: "pkg-dir@npm:2.0.0" - dependencies: - find-up: ^2.1.0 - checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 - languageName: node - linkType: hard - "pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -5749,6 +5762,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^2.5.0": + version: 2.5.1 + resolution: "prettier@npm:2.5.1" + bin: + prettier: bin-prettier.js + checksum: 21b9408476ea1c544b0e45d51ceb94a84789ff92095abb710942d780c862d0daebdb29972d47f6b4d0f7ebbfb0ffbf56cc2cfa3e3e9d1cca54864af185b15b66 + languageName: node + linkType: hard + "pretty-format@npm:^27.2.0": version: 27.2.0 resolution: "pretty-format@npm:27.2.0" @@ -5761,6 +5783,24 @@ __metadata: languageName: node linkType: hard +"pretty-quick@npm:^3.1.0": + version: 3.1.3 + resolution: "pretty-quick@npm:3.1.3" + dependencies: + chalk: ^3.0.0 + execa: ^4.0.0 + find-up: ^4.1.0 + ignore: ^5.1.4 + mri: ^1.1.5 + multimatch: ^4.0.0 + peerDependencies: + prettier: ">=2.0.0" + bin: + pretty-quick: bin/pretty-quick.js + checksum: 28bdc32571e6308e049497f58a9245f272275973782b6ed7fbcf98937101cc605a81b3ab48629dba4687b7e86c87a3733febacdc0746ca4da5d1c80a0b88cf45 + languageName: node + linkType: hard + "private@npm:^0.1.8": version: 0.1.8 resolution: "private@npm:0.1.8" @@ -5775,13 +5815,6 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.0": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 - languageName: node - linkType: hard - "prompts@npm:^2.0.1": version: 2.3.1 resolution: "prompts@npm:2.3.1" @@ -5817,6 +5850,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -5883,16 +5926,18 @@ __metadata: "@types/react-calendar": ^3.0.0 "@wojtekmaj/date-utils": ^1.0.3 "@wojtekmaj/enzyme-adapter-react-17": ^0.6.0 - babel-eslint: ^10.0.0 enzyme: ^3.10.0 - eslint: ~7.19.0 - eslint-config-wojtekmaj: ^0.5.0 + eslint: ^8.5.0 + eslint-config-wojtekmaj: ^0.6.5 get-user-locale: ^1.2.0 + husky: ^7.0.0 jest: ^27.0.0 less: ^4.0.0 make-event-props: ^1.1.0 merge-class-names: ^1.1.1 merge-refs: ^1.0.0 + prettier: ^2.5.0 + pretty-quick: ^3.1.0 prop-types: ^15.6.0 react: ^17.0.0 react-calendar: ^3.3.1 @@ -5983,27 +6028,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg-up@npm:2.0.0" - dependencies: - find-up: ^2.0.0 - read-pkg: ^2.0.0 - checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 - languageName: node - linkType: hard - -"read-pkg@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg@npm:2.0.0" - dependencies: - load-json-file: ^2.0.0 - normalize-package-data: ^2.3.2 - path-type: ^2.0.0 - checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f - languageName: node - linkType: hard - "readable-stream@npm:^2.0.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -6061,20 +6085,20 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.3.0": - version: 1.3.0 - resolution: "regexp.prototype.flags@npm:1.3.0" +"regexp.prototype.flags@npm:^1.3.1": + version: 1.4.1 + resolution: "regexp.prototype.flags@npm:1.4.1" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0-next.1 - checksum: b6b985a6d5e78b79f9da6b40a775979a9f972569243799ec8dcaa2c5c14eb1e41b2a14acb1b7216378dddafa8156ed820ab68d4b2ac600fb0a7670dda04b45b4 + checksum: 77944a3ea5ae84f391fa80bff9babfedc47eadc9dc38e282b5fd746368fb787deec89c68ce3114195bf6b5782b160280a278b62d41ccc6e125afab1a7f816de8 languageName: node linkType: hard -"regexpp@npm:^3.1.0": - version: 3.1.0 - resolution: "regexpp@npm:3.1.0" - checksum: 63bcb2c98d63274774c79bef256e03f716d25f1fa8427267d0302d1436a83fa0d905f4e8a172fdfa99fb4d84833df2fb3bf7da2a1a868f156e913174c32b1139 +"regexpp@npm:^3.2.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 languageName: node linkType: hard @@ -6145,13 +6169,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -6175,7 +6192,7 @@ __metadata: languageName: node linkType: hard -"resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0": +"resolve@^1.14.2, resolve@^1.20.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" dependencies: @@ -6185,7 +6202,17 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin": +"resolve@npm:^2.0.0-next.3": + version: 2.0.0-next.3 + resolution: "resolve@npm:2.0.0-next.3" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" dependencies: @@ -6195,6 +6222,16 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^2.0.0-next.3#~builtin": + version: 2.0.0-next.3 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin::version=2.0.0-next.3&hash=07638b" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 21684b4d99a4877337cdbd5484311c811b3e8910edb5d868eec85c6e6550b0f570d911f9a384f9e176172d6713f2715bd0b0887fa512cb8c6aeece018de6a9f8 + languageName: node + linkType: hard + "ret@npm:~0.1.10": version: 0.1.15 resolution: "ret@npm:0.1.15" @@ -6281,7 +6318,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.6.0": +"semver@npm:^5.4.1, semver@npm:^5.6.0": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -6299,7 +6336,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.2.1, semver@npm:^7.3.2": +"semver@npm:^7.0.0, semver@npm:^7.3.2": version: 7.3.4 resolution: "semver@npm:7.3.4" dependencies: @@ -6333,13 +6370,14 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel@npm:1.0.2" +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" dependencies: - es-abstract: ^1.17.0-next.1 - object-inspect: ^1.7.0 - checksum: ddadc833752d47bad47a518b9cb7999e03e1139834ae2ce3d34dcde01b19c3b0a3895a1536f830ebf7ce5bf0033785739aefe3453f37cf70bb8f692ebe798269 + call-bind: ^1.0.0 + get-intrinsic: ^1.0.2 + object-inspect: ^1.9.0 + checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 languageName: node linkType: hard @@ -6371,17 +6409,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 - languageName: node - linkType: hard - "source-map-support@npm:^0.5.6": version: 0.5.19 resolution: "source-map-support@npm:0.5.19" @@ -6413,40 +6440,6 @@ __metadata: languageName: node linkType: hard -"spdx-correct@npm:^3.0.0": - version: 3.1.0 - resolution: "spdx-correct@npm:3.1.0" - dependencies: - spdx-expression-parse: ^3.0.0 - spdx-license-ids: ^3.0.0 - checksum: fda9fc191e8e45209049054119e1343f4a449d54b677f38bd7b47956eac47d31d065d8fb7a58d2430d5974fcb6d88c9faada02e935847f9ed386073c18ba5c8a - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.2.0 - resolution: "spdx-exceptions@npm:2.2.0" - checksum: 29189de3f60ac6d74d84fa85cfc49ca6a838f710242db99d9414461c2c1717ca3f4aae59b2ce57a99cf6427adc62bdcc4c198fb7ae17383497e5e85cc851f8d7 - languageName: node - linkType: hard - -"spdx-expression-parse@npm:^3.0.0": - version: 3.0.0 - resolution: "spdx-expression-parse@npm:3.0.0" - dependencies: - spdx-exceptions: ^2.1.0 - spdx-license-ids: ^3.0.0 - checksum: 308c8c4925f3a584d5740e2d13615aa90e800fc16f9f794195723c9a3f56030096bf5cf34f68b2b05aedac292edd48fe7d51bac13e77e6f94abf921044e40248 - languageName: node - linkType: hard - -"spdx-license-ids@npm:^3.0.0": - version: 3.0.5 - resolution: "spdx-license-ids@npm:3.0.5" - checksum: b1ceea3f87407ec375d1de90f6fc7610d6c845ff5f8db21d4d752b3d4e121df563c78113df7c564daff4e8778ad54b9a9024a7e9ea3779f13a43dd0e9128c08e - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -6516,17 +6509,19 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.2": - version: 4.0.2 - resolution: "string.prototype.matchall@npm:4.0.2" +"string.prototype.matchall@npm:^4.0.6": + version: 4.0.6 + resolution: "string.prototype.matchall@npm:4.0.6" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0 - has-symbols: ^1.0.1 - internal-slot: ^1.0.2 - regexp.prototype.flags: ^1.3.0 - side-channel: ^1.0.2 - checksum: c08c0db9aadc47b82c43444c3d1a733ac2b12f00348177d1a17e573b8fbaeceab40bc1ae5ed0cbca03691de4b8471039b17b60b86eea69872a3eae469c9e6b5a + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + has-symbols: ^1.0.2 + internal-slot: ^1.0.3 + regexp.prototype.flags: ^1.3.1 + side-channel: ^1.0.4 + checksum: 07aca53ddd8a096a8bd0560eb8574386c6b3887a6a06b40a98abd42c94dadeed3296261fca22fec59a1ed970d199bdeb450fcb6a7390193588d9c6b5f48fe842 languageName: node linkType: hard @@ -6579,12 +6574,12 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.0": - version: 6.0.0 - resolution: "strip-ansi@npm:6.0.0" +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" dependencies: - ansi-regex: ^5.0.0 - checksum: 04c3239ede44c4d195b0e66c0ad58b932f08bec7d05290416d361ff908ad282ecdaf5d9731e322c84f151d427436bde01f05b7422c3ec26dd927586736b0e5d0 + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c languageName: node linkType: hard @@ -6660,20 +6655,6 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.0.4": - version: 6.7.1 - resolution: "table@npm:6.7.1" - dependencies: - ajv: ^8.0.1 - lodash.clonedeep: ^4.5.0 - lodash.truncate: ^4.4.2 - slice-ansi: ^4.0.0 - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - checksum: 053b61fa4e8f8396c65ff7a95da90e85620370932652d501ff7a0a3ed7317f1cc549702bd2abf2bd9ed01e20757b73a8b57374f8a8a2ac02fbe0550276263fb6 - languageName: node - linkType: hard - "tar@npm:^6.0.1": version: 6.1.10 resolution: "tar@npm:6.1.10" @@ -6783,15 +6764,15 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.9.0": - version: 3.9.0 - resolution: "tsconfig-paths@npm:3.9.0" +"tsconfig-paths@npm:^3.12.0": + version: 3.12.0 + resolution: "tsconfig-paths@npm:3.12.0" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.1 minimist: ^1.2.0 strip-bom: ^3.0.0 - checksum: 243b3b098c76a4ca90ea0431683f3755a4ff175c6123bcba5f7b4bd80fe2ef8fa9bdc8f4d525148a1e71ade7f3e037e7c0313ae177fd12398ab68f05c2c7f25d + checksum: 4999ec6cd1c7cc06750a460dbc0d39fe3595a4308cb5f1d0d0a8283009cf9c0a30d5a156508c28fe3a47760508af5263ab288fc23d71e9762779674257a95d3b languageName: node linkType: hard @@ -6857,10 +6838,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 languageName: node linkType: hard @@ -6873,15 +6854,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.0": - version: 1.0.0 - resolution: "unbox-primitive@npm:1.0.0" +"unbox-primitive@npm:^1.0.1": + version: 1.0.1 + resolution: "unbox-primitive@npm:1.0.1" dependencies: function-bind: ^1.1.1 - has-bigints: ^1.0.0 - has-symbols: ^1.0.0 - which-boxed-primitive: ^1.0.1 - checksum: b3c63f8f7cd77fdb4f33b2af38407369d9d1b392b73506e0f61dc1ac92a81edeb2a4e4bc062241ee0ac05f946fcd01a558dfb6f54be56ccc5938aa296abb2e2a + has-bigints: ^1.0.1 + has-symbols: ^1.0.2 + which-boxed-primitive: ^1.0.2 + checksum: 89d950e18fb45672bc6b3c961f1e72c07beb9640c7ceed847b571ba6f7d2af570ae1a2584cfee268b9d9ea1e3293f7e33e0bc29eaeb9f8e8a0bab057ff9e6bba languageName: node linkType: hard @@ -6973,16 +6954,6 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" - dependencies: - spdx-correct: ^3.0.0 - spdx-expression-parse: ^3.0.0 - checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad - languageName: node - linkType: hard - "verror@npm:1.10.0": version: 1.10.0 resolution: "verror@npm:1.10.0" @@ -7062,7 +7033,7 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.1": +"which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" dependencies: