From ad0aa8e0c20a8d60f095b477e942b724fb53ca7d Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Sun, 29 May 2022 21:11:58 +0800 Subject: [PATCH] feat(demo-app): init (#979) --- packages/demo-app/package.json | 62 +++ packages/demo-app/src/App.tsx | 9 + packages/demo-app/src/index.html | 15 + packages/demo-app/src/index.tsx | 9 + packages/demo-app/src/scss/normalized.scss | 18 + packages/demo-app/tsconfig.base.json | 12 + packages/demo-app/tsconfig.json | 6 + packages/shared/declaration/dom.d.ts | 77 ++++ packages/shared/declaration/index.ts | 4 + packages/shared/declaration/react-app.d.ts | 65 +++ packages/shared/package.json | 3 +- packages/shared/tsconfig.json | 2 +- pnpm-lock.yaml | 484 +++++++++++++++++++-- 13 files changed, 724 insertions(+), 42 deletions(-) create mode 100644 packages/demo-app/package.json create mode 100644 packages/demo-app/src/App.tsx create mode 100644 packages/demo-app/src/index.html create mode 100644 packages/demo-app/src/index.tsx create mode 100644 packages/demo-app/src/scss/normalized.scss create mode 100644 packages/demo-app/tsconfig.base.json create mode 100644 packages/demo-app/tsconfig.json create mode 100644 packages/shared/declaration/dom.d.ts create mode 100644 packages/shared/declaration/index.ts create mode 100644 packages/shared/declaration/react-app.d.ts diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json new file mode 100644 index 000000000..b780e0e6a --- /dev/null +++ b/packages/demo-app/package.json @@ -0,0 +1,62 @@ +{ + "name": "@logto/demo-app", + "version": "0.1.0", + "description": "Logto demo app.", + "author": "Silverhand Inc. ", + "license": "MPL-2.0", + "scripts": { + "preinstall": "npx only-allow pnpm", + "test": "echo \"Error: no test specified\" && exit 1", + "precommit": "lint-staged", + "start": "parcel src/index.html", + "dev": "PORT=5003 parcel src/index.html --public-url /console --no-cache --hmr-port 6003", + "check": "tsc --noEmit", + "build": "pnpm check && rm -rf dist && parcel build src/index.html --no-autoinstall --no-cache --public-url /demo-app", + "lint": "eslint --ext .ts --ext .tsx src", + "lint:report": "pnpm lint --format json --output-file report.json", + "stylelint": "stylelint \"src/**/*.scss\"" + }, + "devDependencies": { + "@logto/shared": "^0.1.0", + "@parcel/core": "2.5.0", + "@parcel/transformer-sass": "2.5.0", + "@silverhand/eslint-config": "^0.14.0", + "@silverhand/eslint-config-react": "^0.14.0", + "@silverhand/ts-config": "^0.14.0", + "@silverhand/ts-config-react": "^0.14.0", + "@types/react": "^17.0.14", + "@types/react-dom": "^17.0.9", + "eslint": "^8.10.0", + "lint-staged": "^12.0.0", + "parcel": "2.5.0", + "postcss": "^8.4.6", + "prettier": "^2.3.2", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "stylelint": "^14.8.2", + "typescript": "^4.7.2" + }, + "alias": { + "@/*": "./src/$1" + }, + "eslintConfig": { + "extends": "@silverhand/react", + "rules": { + "complexity": "off" + } + }, + "stylelint": { + "extends": "@silverhand/eslint-config-react/.stylelintrc", + "rules": { + "scss/function-no-unknown": [ + true, + { + "ignoreFunctions": [ + "/^_./" + ] + } + ] + } + }, + "prettier": "@silverhand/eslint-config/.prettierrc" +} diff --git a/packages/demo-app/src/App.tsx b/packages/demo-app/src/App.tsx new file mode 100644 index 000000000..ee6489ec8 --- /dev/null +++ b/packages/demo-app/src/App.tsx @@ -0,0 +1,9 @@ +import React from 'react'; + +import '@/scss/normalized.scss'; + +const App = () => { + return
App
; +}; + +export default App; diff --git a/packages/demo-app/src/index.html b/packages/demo-app/src/index.html new file mode 100644 index 000000000..8d1399f4d --- /dev/null +++ b/packages/demo-app/src/index.html @@ -0,0 +1,15 @@ + + + + + + Logto Demo App + + + + +
+ + + + diff --git a/packages/demo-app/src/index.tsx b/packages/demo-app/src/index.tsx new file mode 100644 index 000000000..6ca350bd9 --- /dev/null +++ b/packages/demo-app/src/index.tsx @@ -0,0 +1,9 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +// eslint-disable-next-line import/no-unassigned-import +import '@logto/shared/declaration'; + +import App from './App'; + +const app = document.querySelector('#app'); +ReactDOM.render(, app); diff --git a/packages/demo-app/src/scss/normalized.scss b/packages/demo-app/src/scss/normalized.scss new file mode 100644 index 000000000..40c6a46b4 --- /dev/null +++ b/packages/demo-app/src/scss/normalized.scss @@ -0,0 +1,18 @@ +body { + margin: 0; + padding: 0; + font-family: sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: auto; +} + +* { + box-sizing: border-box; + -webkit-tap-highlight-color: transparent; + text-underline-offset: 2px; +} + +input { + border: none; + outline: none; +} diff --git a/packages/demo-app/tsconfig.base.json b/packages/demo-app/tsconfig.base.json new file mode 100644 index 000000000..548a87a5d --- /dev/null +++ b/packages/demo-app/tsconfig.base.json @@ -0,0 +1,12 @@ +{ + "extends": "@silverhand/ts-config-react/tsconfig.base", + "compilerOptions": { + "outDir": "build", + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + } +} diff --git a/packages/demo-app/tsconfig.json b/packages/demo-app/tsconfig.json new file mode 100644 index 000000000..d7f76d289 --- /dev/null +++ b/packages/demo-app/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.base", + "include": [ + "src", + ] +} diff --git a/packages/shared/declaration/dom.d.ts b/packages/shared/declaration/dom.d.ts new file mode 100644 index 000000000..ce3570903 --- /dev/null +++ b/packages/shared/declaration/dom.d.ts @@ -0,0 +1,77 @@ +// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types +type InputType = + | 'button' + | 'checkbox' + | 'color' + | 'date' + | 'datetime-local' + | 'email' + | 'file' + | 'hidden' + | 'image' + | 'month' + | 'number' + | 'password' + | 'radio' + | 'range' + | 'reset' + | 'search' + | 'submit' + | 'tel' + | 'text' + | 'time' + | 'url' + | 'week'; + +// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofilling-form-controls:-the-autocomplete-attribute +type AutoCompleteType = + | 'name' + | 'honorific-prefix' + | 'given-name' + | 'additional-name' + | 'family-name' + | 'honorific-suffix' + | 'nickname' + | 'username' + | 'new-password' + | 'current-password' + | 'one-time-code' + | 'organization-title' + | 'organization' + | 'street-address' + | 'address-line1' + | 'address-line2' + | 'address-line3' + | 'address-level4' + | 'address-level3' + | 'address-level2' + | 'address-level1' + | 'country' + | 'country-name' + | 'postal-code' + | 'cc-name' + | 'cc-given-name' + | 'cc-additional-name' + | 'cc-family-name' + | 'cc-number' + | 'cc-exp' + | 'cc-exp-month' + | 'cc-exp-year' + | 'cc-csc' + | 'cc-type' + | 'transaction-currency' + | 'transaction-amount' + | 'language' + | 'bday' + | 'bday-day' + | 'bday-month' + | 'bday-year' + | 'sex' + | 'url' + | 'photo' + | 'mobile'; + +// TO-DO: remove me +interface Body { + json(): Promise; +} diff --git a/packages/shared/declaration/index.ts b/packages/shared/declaration/index.ts new file mode 100644 index 000000000..85057a144 --- /dev/null +++ b/packages/shared/declaration/index.ts @@ -0,0 +1,4 @@ +/* eslint-disable import/no-unassigned-import */ +import './react-app.d'; +import './dom.d'; +/* eslint-enable import/no-unassigned-import */ diff --git a/packages/shared/declaration/react-app.d.ts b/packages/shared/declaration/react-app.d.ts new file mode 100644 index 000000000..05f26074d --- /dev/null +++ b/packages/shared/declaration/react-app.d.ts @@ -0,0 +1,65 @@ +// Copied from react-scripts/lib/react-app.d.ts + +declare module '*.avif' { + const source: string; + export default source; +} + +declare module '*.bmp' { + const source: string; + export default source; +} + +declare module '*.gif' { + const source: string; + export default source; +} + +declare module '*.jpg' { + const source: string; + export default source; +} + +declare module '*.jpeg' { + const source: string; + export default source; +} + +declare module '*.png' { + const source: string; + export default source; +} + +declare module '*.webp' { + const source: string; + export default source; +} + +declare module '*.svg' { + import * as React from 'react'; + + export const ReactComponent: React.FunctionComponent< + React.SVGProps & { title?: string } + >; + + const source: string; + export default source; +} + +declare module '*.module.css' { + const classes: Readonly>; + export default classes; + export = classes; +} + +declare module '*.module.scss' { + const classes: Readonly>; + export default classes; + export = classes; +} + +declare module '*.module.sass' { + const classes: Readonly>; + export default classes; + export = classes; +} diff --git a/packages/shared/package.json b/packages/shared/package.json index 84d3dc7e8..394cbef2d 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -5,7 +5,8 @@ "author": "Silverhand Inc. ", "license": "MPL-2.0", "files": [ - "lib" + "lib", + "scss" ], "private": true, "scripts": { diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index f333e0b36..a5926a5bd 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -7,5 +7,5 @@ "@/*": ["src/*"] } }, - "include": ["src"] + "include": ["src", "declaration"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 723fd6152..c7974023d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -898,6 +898,46 @@ importers: tsc-watch: 5.0.3_typescript@4.6.2 typescript: 4.6.2 + packages/demo-app: + specifiers: + '@logto/shared': ^0.1.0 + '@parcel/core': 2.5.0 + '@parcel/transformer-sass': 2.5.0 + '@silverhand/eslint-config': ^0.14.0 + '@silverhand/eslint-config-react': ^0.14.0 + '@silverhand/ts-config': ^0.14.0 + '@silverhand/ts-config-react': ^0.14.0 + '@types/react': ^17.0.14 + '@types/react-dom': ^17.0.9 + eslint: ^8.10.0 + lint-staged: ^12.0.0 + parcel: 2.5.0 + postcss: ^8.4.6 + prettier: ^2.3.2 + react: ^17.0.2 + react-dom: ^17.0.2 + stylelint: ^14.8.2 + typescript: ^4.7.2 + devDependencies: + '@logto/shared': link:../shared + '@parcel/core': 2.5.0 + '@parcel/transformer-sass': 2.5.0_@parcel+core@2.5.0 + '@silverhand/eslint-config': 0.14.0_j52666lpucfyl6yew5a5mxpfce + '@silverhand/eslint-config-react': 0.14.0_glepmh344oqc6ifhztlmt7bvw4 + '@silverhand/ts-config': 0.14.0_typescript@4.7.2 + '@silverhand/ts-config-react': 0.14.0_typescript@4.7.2 + '@types/react': 17.0.37 + '@types/react-dom': 17.0.11 + eslint: 8.10.0 + lint-staged: 12.4.0 + parcel: 2.5.0_postcss@8.4.14 + postcss: 8.4.14 + prettier: 2.5.1 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + stylelint: 14.8.2 + typescript: 4.7.2 + packages/docs: specifiers: '@algolia/client-search': ^4.13.0 @@ -5766,6 +5806,52 @@ packages: - uncss dev: true + /@parcel/config-default/2.5.0_vwouwcraw6ev7xqaxark4gsha4: + resolution: {integrity: sha512-r30V61958SONvP9I8KV8s44ZOFq0H219VyFjPysraSabHjZ+KMaCTQOuqaDtUMa272sHUQkBcZxKYj5jYPJlZg==} + peerDependencies: + '@parcel/core': ^2.5.0 + dependencies: + '@parcel/bundler-default': 2.5.0_@parcel+core@2.5.0 + '@parcel/compressor-raw': 2.5.0_@parcel+core@2.5.0 + '@parcel/core': 2.5.0 + '@parcel/namer-default': 2.5.0_@parcel+core@2.5.0 + '@parcel/optimizer-css': 2.5.0_@parcel+core@2.5.0 + '@parcel/optimizer-htmlnano': 2.5.0_vwouwcraw6ev7xqaxark4gsha4 + '@parcel/optimizer-image': 2.5.0_@parcel+core@2.5.0 + '@parcel/optimizer-svgo': 2.5.0_@parcel+core@2.5.0 + '@parcel/optimizer-terser': 2.5.0_@parcel+core@2.5.0 + '@parcel/packager-css': 2.5.0_@parcel+core@2.5.0 + '@parcel/packager-html': 2.5.0_@parcel+core@2.5.0 + '@parcel/packager-js': 2.5.0_@parcel+core@2.5.0 + '@parcel/packager-raw': 2.5.0_@parcel+core@2.5.0 + '@parcel/packager-svg': 2.5.0_@parcel+core@2.5.0 + '@parcel/reporter-dev-server': 2.5.0_@parcel+core@2.5.0 + '@parcel/resolver-default': 2.5.0_@parcel+core@2.5.0 + '@parcel/runtime-browser-hmr': 2.5.0_@parcel+core@2.5.0 + '@parcel/runtime-js': 2.5.0_@parcel+core@2.5.0 + '@parcel/runtime-react-refresh': 2.5.0_@parcel+core@2.5.0 + '@parcel/runtime-service-worker': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-babel': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-css': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-html': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-image': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-js': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-json': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-postcss': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-posthtml': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-raw': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-react-refresh-wrap': 2.5.0_@parcel+core@2.5.0 + '@parcel/transformer-svg': 2.5.0_@parcel+core@2.5.0 + transitivePeerDependencies: + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - uncss + dev: true + /@parcel/core/2.5.0: resolution: {integrity: sha512-dygDmPsfAYJKTnUftcbEzjCik7AAaPbFvJW8ETYz8diyjkAG9y6hvCAZIrJE5pNOjFzg32en4v4UWv8Sqlzl9g==} engines: {node: '>= 12.0.0'} @@ -5786,7 +5872,7 @@ packages: '@parcel/workers': 2.5.0_@parcel+core@2.5.0 abortcontroller-polyfill: 1.7.3 base-x: 3.0.9 - browserslist: 4.20.2 + browserslist: 4.20.3 clone: 2.1.2 dotenv: 7.0.0 dotenv-expand: 5.1.0 @@ -5796,8 +5882,8 @@ packages: semver: 5.7.1 dev: true - /@parcel/css-darwin-arm64/1.8.1: - resolution: {integrity: sha512-PbpIlqLMAhWZlimKCdNP/ZfGNJUlEWgNeTcO2LDjPIK5JK6oTAJHfP/PPzjLS8mu+JIznZ//9MnVOUi1xcjXMA==} + /@parcel/css-darwin-arm64/1.9.0: + resolution: {integrity: sha512-f/guZseS2tNKtKw94LgpNTItZqdVA0mnznqPsmQaR5lSB+cM3IPrSV8cgOOpAS7Vwo9ggxuJartToxBBN+dWSw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] @@ -5805,8 +5891,8 @@ packages: dev: true optional: true - /@parcel/css-darwin-x64/1.8.1: - resolution: {integrity: sha512-R4FrwXQGAgW3/YRCSRCBNcV6mz+OKqYuyrVnZBmKTLDuTGhZHCF12qLL7SV5jYsKXBDauYAXDv/SOFIwlikVXg==} + /@parcel/css-darwin-x64/1.9.0: + resolution: {integrity: sha512-4SpuwiM/4ayOgKflqSLd87XT7YwyC3wd2QuzOOkasjbe38UU+tot/87l2lQYEB538YinLdfwFQuFLDY0x9MxgA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] @@ -5814,8 +5900,8 @@ packages: dev: true optional: true - /@parcel/css-linux-arm-gnueabihf/1.8.1: - resolution: {integrity: sha512-MVRlPGipRrs+f6nURR6cJbFw85YSXkPbR6l/0Hm1vyFlNn0HmRDCEWZFPwvvSavibU968Wgc5yKaC78D6Ecgsw==} + /@parcel/css-linux-arm-gnueabihf/1.9.0: + resolution: {integrity: sha512-KxCyX5fFvX5636Y8LSXwCxXMtIncgP7Lkw8nLsqd24C5YqMokmuOtAcHb/vQ9zQG6YiUWTv0MybqDuL7dBDfVw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] @@ -5823,8 +5909,8 @@ packages: dev: true optional: true - /@parcel/css-linux-arm64-gnu/1.8.1: - resolution: {integrity: sha512-s6UpF9CjUMeeCELx0Cu+HtR8RKycm516b1mJlQC8hsPtAyDYlByW4tSDwC3By4Fqf3xCan6IH/oaq0ujS0Iqew==} + /@parcel/css-linux-arm64-gnu/1.9.0: + resolution: {integrity: sha512-wZ6Gsn6l+lSuvRdfWoyr7TdY24l29eGCD8QhXcqA1ALnFI7+KOTMBJ6aV3tjWUjMw3sg5qkosMHVqlWZzvrgXw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -5832,8 +5918,8 @@ packages: dev: true optional: true - /@parcel/css-linux-arm64-musl/1.8.1: - resolution: {integrity: sha512-Tp3Pe2tx7mltPrZ1ZDV8PLkgYcwQOigrH9YjPPOaf8iFptDpHOv1y2cs1eSgnvP+5kBdIXd7H87kGSC7OosuXg==} + /@parcel/css-linux-arm64-musl/1.9.0: + resolution: {integrity: sha512-N6n5HhMzcNR5oXWr0Md91gKYtuDhqDlp+aGDb3VT21uSCNLOvijOUz248v/VaPoRno1BPFYlMxn0fYYTTReB3A==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -5841,8 +5927,8 @@ packages: dev: true optional: true - /@parcel/css-linux-x64-gnu/1.8.1: - resolution: {integrity: sha512-8yqXRlei4qBFSv9R8yru6yB2ak7frA/z6rMB2E5lNN8kMhpB1E0xKYMhsTZdMOV5A/gkPZlP3sHZG4qQ3GOLgQ==} + /@parcel/css-linux-x64-gnu/1.9.0: + resolution: {integrity: sha512-QufawDkaiOjsh6jcZk/dgDBPMqBtIs+LGTOgcJDM6XL4mcbDNxO6VkDANssRUgPnbG66YYy419CUWFta9aeVOg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -5850,8 +5936,8 @@ packages: dev: true optional: true - /@parcel/css-linux-x64-musl/1.8.1: - resolution: {integrity: sha512-S1Qf9tZzX7AnmqKRhR/qpFYsqSCxYSz5KdekdxIijPEMxyI5tpWp6g2adGYxrCuV0E5EpcpmXlBT6d6+8FrgPg==} + /@parcel/css-linux-x64-musl/1.9.0: + resolution: {integrity: sha512-s528buicSd83/5M5DN31JqwefZ8tqx4Jm97srkLDVBCZg+XEe9P0bO7q1Ngz5ZVFqfwvv8OYLPOtAtBmEppG3g==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -5859,8 +5945,8 @@ packages: dev: true optional: true - /@parcel/css-win32-x64-msvc/1.8.1: - resolution: {integrity: sha512-tZ5s2zM/63mEdpdnE82xtfDDR7tAN32REii1EU5LOdfpB2PIw902p30fvklj1pOFBji/v/JdpAdLIYc4W7Gb6w==} + /@parcel/css-win32-x64-msvc/1.9.0: + resolution: {integrity: sha512-L4s84iK4PXnO/SzZyTsazAuzadtEYLGHgi1dyKYxMMGCjToCDjuwsn5K8bykeewZxjoL7RaunQGqCBRt5dfB5Q==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] @@ -5868,20 +5954,20 @@ packages: dev: true optional: true - /@parcel/css/1.8.1: - resolution: {integrity: sha512-TOfe+msei+NuPPKb60Kc+nPuCThl07L3Fut67nfot1OXy2hKYr/eF7AiAguCaIlRXkjEtXRR4S7fO24dLZ1C9g==} + /@parcel/css/1.9.0: + resolution: {integrity: sha512-egCetUQ1H6pgYxOIxVQ8X/YT5e8G0R8eq6aVaUHrqnZ7A8cc6FYgknl9XRmoy2Xxo9h1htrbzdaEShQ5gROwvw==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 optionalDependencies: - '@parcel/css-darwin-arm64': 1.8.1 - '@parcel/css-darwin-x64': 1.8.1 - '@parcel/css-linux-arm-gnueabihf': 1.8.1 - '@parcel/css-linux-arm64-gnu': 1.8.1 - '@parcel/css-linux-arm64-musl': 1.8.1 - '@parcel/css-linux-x64-gnu': 1.8.1 - '@parcel/css-linux-x64-musl': 1.8.1 - '@parcel/css-win32-x64-msvc': 1.8.1 + '@parcel/css-darwin-arm64': 1.9.0 + '@parcel/css-darwin-x64': 1.9.0 + '@parcel/css-linux-arm-gnueabihf': 1.9.0 + '@parcel/css-linux-arm64-gnu': 1.9.0 + '@parcel/css-linux-arm64-musl': 1.9.0 + '@parcel/css-linux-x64-gnu': 1.9.0 + '@parcel/css-linux-x64-musl': 1.9.0 + '@parcel/css-win32-x64-msvc': 1.9.0 dev: true /@parcel/diagnostic/2.5.0: @@ -5973,12 +6059,12 @@ packages: resolution: {integrity: sha512-J00bLF+4SsnKc+YbYrNuBr44/zz3cg++CoXteXhH27PxP1rScGQx36Rui8WORgil5mlX2VYN79DuqJC7V3Ynbg==} engines: {node: '>= 12.0.0', parcel: ^2.5.0} dependencies: - '@parcel/css': 1.8.1 + '@parcel/css': 1.9.0 '@parcel/diagnostic': 2.5.0 '@parcel/plugin': 2.5.0_@parcel+core@2.5.0 '@parcel/source-map': 2.0.2 '@parcel/utils': 2.5.0 - browserslist: 4.20.2 + browserslist: 4.20.3 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' @@ -6004,6 +6090,26 @@ packages: - uncss dev: true + /@parcel/optimizer-htmlnano/2.5.0_vwouwcraw6ev7xqaxark4gsha4: + resolution: {integrity: sha512-Fr0zPqgxoNaOVdROAjNGDWCts3+wByNQ82Mxhu8Tzc25A2cPjcr1H2sa/TE3hf79c92DxdKf2FaC1ZOgR5YPdg==} + engines: {node: '>= 12.0.0', parcel: ^2.5.0} + dependencies: + '@parcel/plugin': 2.5.0_@parcel+core@2.5.0 + htmlnano: 2.0.0_postcss@8.4.14+svgo@2.8.0 + nullthrows: 1.1.1 + posthtml: 0.16.6 + svgo: 2.8.0 + transitivePeerDependencies: + - '@parcel/core' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - uncss + dev: true + /@parcel/optimizer-image/2.5.0_@parcel+core@2.5.0: resolution: {integrity: sha512-nbo2pdnAt21WLGjzTpsE8ZEL0xNoP7c3wBj9y70Pysmasg1SrRVCbfE8jTy+lHBQwq2yjC6lV/Usv+9lfA7S/w==} engines: {node: '>= 12.0.0', parcel: ^2.5.0} @@ -6220,7 +6326,7 @@ packages: '@parcel/plugin': 2.5.0_@parcel+core@2.5.0 '@parcel/source-map': 2.0.2 '@parcel/utils': 2.5.0 - browserslist: 4.20.2 + browserslist: 4.20.3 json5: 2.2.1 nullthrows: 1.1.1 semver: 5.7.1 @@ -6232,12 +6338,12 @@ packages: resolution: {integrity: sha512-p8FOvKWWSbS6H8PbD9a0KZqyaKNpSD2BUTzSRYnNj3TBUv7/ZXaP6Om295XTQ/MPht1o7XTQzvfpF/7yEhr02Q==} engines: {node: '>= 12.0.0', parcel: ^2.5.0} dependencies: - '@parcel/css': 1.8.1 + '@parcel/css': 1.9.0 '@parcel/diagnostic': 2.5.0 '@parcel/plugin': 2.5.0_@parcel+core@2.5.0 '@parcel/source-map': 2.0.2 '@parcel/utils': 2.5.0 - browserslist: 4.20.2 + browserslist: 4.20.3 nullthrows: 1.1.1 transitivePeerDependencies: - '@parcel/core' @@ -6283,8 +6389,8 @@ packages: '@parcel/source-map': 2.0.2 '@parcel/utils': 2.5.0 '@parcel/workers': 2.5.0_@parcel+core@2.5.0 - '@swc/helpers': 0.3.8 - browserslist: 4.20.2 + '@swc/helpers': 0.3.16 + browserslist: 4.20.3 detect-libc: 1.0.3 nullthrows: 1.1.1 regenerator-runtime: 0.13.9 @@ -6540,6 +6646,26 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true + /@silverhand/eslint-config-react/0.14.0_glepmh344oqc6ifhztlmt7bvw4: + resolution: {integrity: sha512-7ylw/SFiYHbcCUNCki9Hv+zdMBIieW6AmNNmqjX3Orn8CvlN/yAUxN/hy9JPpuOCOXquz6mVMDYtmWFGndwy2Q==} + peerDependencies: + stylelint: ^14.8.2 + dependencies: + '@silverhand/eslint-config': 0.14.0_j52666lpucfyl6yew5a5mxpfce + eslint-config-xo-react: 0.25.0_4sqgcfzewo5ft67t52hgdwo42a + eslint-plugin-react: 7.29.3_eslint@8.10.0 + eslint-plugin-react-hooks: 4.3.0_eslint@8.10.0 + stylelint: 14.8.2 + stylelint-config-xo-scss: 0.15.0_cazrl3eatzhkw4y7xb6glndqh4 + transitivePeerDependencies: + - eslint + - eslint-import-resolver-webpack + - postcss + - prettier + - supports-color + - typescript + dev: true + /@silverhand/eslint-config-react/0.14.0_ktbw553wmk4wfp4kioqxveutu4: resolution: {integrity: sha512-7ylw/SFiYHbcCUNCki9Hv+zdMBIieW6AmNNmqjX3Orn8CvlN/yAUxN/hy9JPpuOCOXquz6mVMDYtmWFGndwy2Q==} peerDependencies: @@ -6592,6 +6718,38 @@ packages: - typescript dev: true + /@silverhand/eslint-config/0.14.0_j52666lpucfyl6yew5a5mxpfce: + resolution: {integrity: sha512-Fiaf3FUSbHzPeYqmMncgw5sQ/48rF7MMTzKhgKQ5RhVy7ja7rmD7XaptRxqIHkxnsVcQK4NkPMGa+tjIASwRzg==} + engines: {node: '>=14.15.0'} + peerDependencies: + eslint: ^8.1.0 + prettier: ^2.3.2 + dependencies: + '@silverhand/eslint-plugin-fp': 2.5.0_eslint@8.10.0 + '@typescript-eslint/eslint-plugin': 5.14.0_flvyawr6hhxqrcvktrwkkgffgy + '@typescript-eslint/parser': 5.14.0_gy6ulhlk526fafafzkwfpebbuq + eslint: 8.10.0 + eslint-config-prettier: 8.5.0_eslint@8.10.0 + eslint-config-xo: 0.40.0_eslint@8.10.0 + eslint-config-xo-typescript: 0.50.0_vbeshzdktar4zlel6mdcrtjvl4 + eslint-import-resolver-typescript: 2.5.0_rnagsyfcubvpoxo2ynj23pim7u + eslint-plugin-consistent-default-export-name: 0.0.7 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.10.0 + eslint-plugin-import: 2.25.4_sidoke6kqbkbdht6nlmwbfnany + eslint-plugin-no-use-extend-native: 0.5.0 + eslint-plugin-node: 11.1.0_eslint@8.10.0 + eslint-plugin-prettier: 3.4.1_6pitu4b2tqihty6rv5qeiyb35m + eslint-plugin-promise: 6.0.0_eslint@8.10.0 + eslint-plugin-sql: 2.1.0_eslint@8.10.0 + eslint-plugin-unicorn: 39.0.0_eslint@8.10.0 + pkg-dir: 4.2.0 + prettier: 2.5.1 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + /@silverhand/eslint-config/0.14.0_rqoong6vegs374egqglqjbgiwm: resolution: {integrity: sha512-Fiaf3FUSbHzPeYqmMncgw5sQ/48rF7MMTzKhgKQ5RhVy7ja7rmD7XaptRxqIHkxnsVcQK4NkPMGa+tjIASwRzg==} engines: {node: '>=14.15.0'} @@ -6764,6 +6922,16 @@ packages: typescript: 4.6.2 dev: true + /@silverhand/ts-config-react/0.14.0_typescript@4.7.2: + resolution: {integrity: sha512-5LMSGFOagoYGUJ6GyawZYraUfET2hOm8qE6d4J6m/pr2C0JsamuW0lO9eTNQ6lUZSGRotvJwMgMT3gC+Ylgysw==} + engines: {node: '>=14.15.0'} + peerDependencies: + typescript: ^4.3.5 + dependencies: + '@silverhand/ts-config': 0.14.0_typescript@4.7.2 + typescript: 4.7.2 + dev: true + /@silverhand/ts-config/0.14.0_typescript@4.6.2: resolution: {integrity: sha512-ktL4EvhTejlU7KD4tlq/NcVNRiQoH/NmguaqfcFu2GbswDfHEEBTaPkbi9c6UDzpQtjLhC27dYpzgpH6KkT6LA==} engines: {node: '>=14.15.0'} @@ -6791,6 +6959,15 @@ packages: typescript: 4.6.4 dev: true + /@silverhand/ts-config/0.14.0_typescript@4.7.2: + resolution: {integrity: sha512-ktL4EvhTejlU7KD4tlq/NcVNRiQoH/NmguaqfcFu2GbswDfHEEBTaPkbi9c6UDzpQtjLhC27dYpzgpH6KkT6LA==} + engines: {node: '>=14.15.0'} + peerDependencies: + typescript: ^4.3.5 + dependencies: + typescript: 4.7.2 + dev: true + /@sindresorhus/is/0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} @@ -6972,8 +7149,10 @@ packages: - supports-color dev: true - /@swc/helpers/0.3.8: - resolution: {integrity: sha512-aWItSZvJj4+GI6FWkjZR13xPNPctq2RRakzo+O6vN7bC2yjwdg5EFpgaSAUn95b7BGSgcflvzVDPoKmJv24IOg==} + /@swc/helpers/0.3.16: + resolution: {integrity: sha512-xOhhpOruRcroQ0Nb5a5IgP94AJ0DuJnhEfXL+icJ1gn7uls5DXX2mRrlBqmrd0rAj/+/BRU8RB2VN8mA8DuFYQ==} + dependencies: + tslib: 2.4.0 dev: true /@szmarczak/http-timer/1.1.2: @@ -7621,6 +7800,33 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin/5.14.0_flvyawr6hhxqrcvktrwkkgffgy: + resolution: {integrity: sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.14.0_gy6ulhlk526fafafzkwfpebbuq + '@typescript-eslint/scope-manager': 5.14.0 + '@typescript-eslint/type-utils': 5.14.0_gy6ulhlk526fafafzkwfpebbuq + '@typescript-eslint/utils': 5.14.0_gy6ulhlk526fafafzkwfpebbuq + debug: 4.3.3 + eslint: 8.10.0 + functional-red-black-tree: 1.0.1 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.7.2 + typescript: 4.7.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/eslint-plugin/5.14.0_lyrhcatghsl22zfuax7wrzsedu: resolution: {integrity: sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7688,6 +7894,26 @@ packages: - supports-color dev: true + /@typescript-eslint/parser/5.14.0_gy6ulhlk526fafafzkwfpebbuq: + resolution: {integrity: sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.14.0 + '@typescript-eslint/types': 5.14.0 + '@typescript-eslint/typescript-estree': 5.14.0_typescript@4.7.2 + debug: 4.3.3 + eslint: 8.10.0 + typescript: 4.7.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser/5.14.0_pzezdwkd5bvjkx2hshexc25sxq: resolution: {integrity: sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7754,6 +7980,25 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils/5.14.0_gy6ulhlk526fafafzkwfpebbuq: + resolution: {integrity: sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/utils': 5.14.0_gy6ulhlk526fafafzkwfpebbuq + debug: 4.3.3 + eslint: 8.10.0 + tsutils: 3.21.0_typescript@4.7.2 + typescript: 4.7.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/type-utils/5.14.0_pzezdwkd5bvjkx2hshexc25sxq: resolution: {integrity: sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7841,6 +8086,27 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree/5.14.0_typescript@4.7.2: + resolution: {integrity: sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.14.0 + '@typescript-eslint/visitor-keys': 5.14.0 + debug: 4.3.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.7.2 + typescript: 4.7.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils/5.14.0_6ued5m2uqo2r7ksfjlk2bzosza: resolution: {integrity: sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7877,6 +8143,24 @@ packages: - typescript dev: true + /@typescript-eslint/utils/5.14.0_gy6ulhlk526fafafzkwfpebbuq: + resolution: {integrity: sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.14.0 + '@typescript-eslint/types': 5.14.0 + '@typescript-eslint/typescript-estree': 5.14.0_typescript@4.7.2 + eslint: 8.10.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.10.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/utils/5.14.0_pzezdwkd5bvjkx2hshexc25sxq: resolution: {integrity: sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10308,7 +10592,7 @@ packages: dev: true /detect-libc/1.0.3: - resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=} + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} hasBin: true dev: true @@ -10835,6 +11119,19 @@ packages: typescript: 4.6.2 dev: true + /eslint-config-xo-typescript/0.50.0_vbeshzdktar4zlel6mdcrtjvl4: + resolution: {integrity: sha512-Ru2tXB8y2w9fFHLm4v2AVfY6P81UbfEuDZuxEpeXlfV65Ezlk0xO4nBaT899ojIFkWfr60rP9Ye4CdVUUT1UYg==} + engines: {node: '>=12'} + peerDependencies: + '@typescript-eslint/eslint-plugin': '>=5.8.0' + eslint: '>=8.0.0' + typescript: '>=4.4' + dependencies: + '@typescript-eslint/eslint-plugin': 5.14.0_flvyawr6hhxqrcvktrwkkgffgy + eslint: 8.10.0 + typescript: 4.7.2 + dev: true + /eslint-config-xo/0.40.0_eslint@8.10.0: resolution: {integrity: sha512-msI1O0JGxeK2bbExg3U6EGaWKcjhOFzEjwzObywG/DC5GSNZTOyJT+b2l9MZGBeZsVdxfIGwdXTNeWXl8cN9iw==} engines: {node: '>=12'} @@ -10890,7 +11187,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.14.0_pzezdwkd5bvjkx2hshexc25sxq + '@typescript-eslint/parser': 5.14.0_fo4uz55zgcu432252zy2gvpvcu debug: 3.2.7 eslint-import-resolver-node: 0.3.6 eslint-import-resolver-typescript: 2.5.0_rnagsyfcubvpoxo2ynj23pim7u @@ -10941,7 +11238,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.14.0_pzezdwkd5bvjkx2hshexc25sxq + '@typescript-eslint/parser': 5.14.0_fo4uz55zgcu432252zy2gvpvcu array-includes: 3.1.4 array.prototype.flat: 1.2.5 debug: 2.6.9 @@ -12412,6 +12709,42 @@ packages: webpack: 5.72.1 dev: true + /htmlnano/2.0.0_postcss@8.4.14+svgo@2.8.0: + resolution: {integrity: sha512-thKQfhcp2xgtsWNE27A2bliEeqVL5xjAgGn0wajyttvFFsvFWWah1ntV9aEX61gz0T6MBQ5xK/1lXuEumhJTcg==} + peerDependencies: + cssnano: ^5.0.11 + postcss: ^8.3.11 + purgecss: ^4.0.3 + relateurl: ^0.2.7 + srcset: ^5.0.0 + svgo: ^2.8.0 + terser: ^5.10.0 + uncss: ^0.17.3 + peerDependenciesMeta: + cssnano: + optional: true + postcss: + optional: true + purgecss: + optional: true + relateurl: + optional: true + srcset: + optional: true + svgo: + optional: true + terser: + optional: true + uncss: + optional: true + dependencies: + cosmiconfig: 7.0.1 + postcss: 8.4.14 + posthtml: 0.16.6 + svgo: 2.8.0 + timsort: 0.3.0 + dev: true + /htmlnano/2.0.0_postcss@8.4.6+svgo@2.8.0: resolution: {integrity: sha512-thKQfhcp2xgtsWNE27A2bliEeqVL5xjAgGn0wajyttvFFsvFWWah1ntV9aEX61gz0T6MBQ5xK/1lXuEumhJTcg==} peerDependencies: @@ -12471,7 +12804,7 @@ packages: /htmlparser2/7.2.0: resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: - domelementtype: 2.2.0 + domelementtype: 2.3.0 domhandler: 4.3.1 domutils: 2.8.0 entities: 3.0.1 @@ -16294,6 +16627,38 @@ packages: tslib: 2.4.0 dev: true + /parcel/2.5.0_postcss@8.4.14: + resolution: {integrity: sha512-er0mj/BaMjWyzQ/jedLUi/LNAuQcFT8lCvoNqANF+jTaX9rohaBwxIvKVJVAZgyCnmyfbbldp496wPMW0R0+CA==} + engines: {node: '>= 12.0.0'} + hasBin: true + peerDependenciesMeta: + '@parcel/core': + optional: true + dependencies: + '@parcel/config-default': 2.5.0_vwouwcraw6ev7xqaxark4gsha4 + '@parcel/core': 2.5.0 + '@parcel/diagnostic': 2.5.0 + '@parcel/events': 2.5.0 + '@parcel/fs': 2.5.0_@parcel+core@2.5.0 + '@parcel/logger': 2.5.0 + '@parcel/package-manager': 2.5.0_@parcel+core@2.5.0 + '@parcel/reporter-cli': 2.5.0_@parcel+core@2.5.0 + '@parcel/reporter-dev-server': 2.5.0_@parcel+core@2.5.0 + '@parcel/utils': 2.5.0 + chalk: 4.1.2 + commander: 7.2.0 + get-port: 4.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - uncss + dev: true + /parcel/2.5.0_postcss@8.4.6: resolution: {integrity: sha512-er0mj/BaMjWyzQ/jedLUi/LNAuQcFT8lCvoNqANF+jTaX9rohaBwxIvKVJVAZgyCnmyfbbldp496wPMW0R0+CA==} engines: {node: '>= 12.0.0'} @@ -17128,6 +17493,15 @@ packages: postcss: 8.4.13 dev: true + /postcss-scss/4.0.4_postcss@8.4.14: + resolution: {integrity: sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.14 + dev: true + /postcss-scss/4.0.4_postcss@8.4.6: resolution: {integrity: sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==} engines: {node: '>=12.0'} @@ -19600,6 +19974,20 @@ packages: postcss-selector-parser: 6.0.10 dev: true + /stylelint-config-xo-scss/0.15.0_cazrl3eatzhkw4y7xb6glndqh4: + resolution: {integrity: sha512-X9WD8cDofWFWy3uaKdwwm+DjEvgI/+h7AtlaPagkhNAeOWH/GFQoeciBvNvyJ8tB1p00SoIzCn2IIOIKXCbxYA==} + engines: {node: '>=12'} + peerDependencies: + stylelint: '>=14.5.1' + dependencies: + postcss-scss: 4.0.4_postcss@8.4.14 + stylelint: 14.8.2 + stylelint-config-xo: 0.21.0_stylelint@14.8.2 + stylelint-scss: 4.2.0_stylelint@14.8.2 + transitivePeerDependencies: + - postcss + dev: true + /stylelint-config-xo-scss/0.15.0_zhymizk4kfitko2u2d4p3qwyee: resolution: {integrity: sha512-X9WD8cDofWFWy3uaKdwwm+DjEvgI/+h7AtlaPagkhNAeOWH/GFQoeciBvNvyJ8tB1p00SoIzCn2IIOIKXCbxYA==} engines: {node: '>=12'} @@ -20365,6 +20753,16 @@ packages: typescript: 4.6.4 dev: true + /tsutils/3.21.0_typescript@4.7.2: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.7.2 + dev: true + /type-check/0.3.2: resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} engines: {node: '>= 0.8.0'} @@ -20460,6 +20858,12 @@ packages: hasBin: true dev: true + /typescript/4.7.2: + resolution: {integrity: sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + /ua-parser-js/0.7.31: resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} dev: true