0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-30 20:33:54 -05:00

feat(demo-app): init (#979)

This commit is contained in:
Gao Sun 2022-05-29 21:11:58 +08:00 committed by GitHub
parent 658d78193c
commit ad0aa8e0c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 724 additions and 42 deletions

View file

@ -0,0 +1,62 @@
{
"name": "@logto/demo-app",
"version": "0.1.0",
"description": "Logto demo app.",
"author": "Silverhand Inc. <contact@silverhand.io>",
"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"
}

View file

@ -0,0 +1,9 @@
import React from 'react';
import '@/scss/normalized.scss';
const App = () => {
return <div>App</div>;
};
export default App;

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Logto Demo App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="app"></div>
<script type="module" src="index.tsx"></script>
</body>
</html>

View file

@ -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 />, app);

View file

@ -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;
}

View file

@ -0,0 +1,12 @@
{
"extends": "@silverhand/ts-config-react/tsconfig.base",
"compilerOptions": {
"outDir": "build",
"baseUrl": ".",
"paths": {
"@/*": [
"src/*"
]
}
}
}

View file

@ -0,0 +1,6 @@
{
"extends": "./tsconfig.base",
"include": [
"src",
]
}

77
packages/shared/declaration/dom.d.ts vendored Normal file
View file

@ -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<T>(): Promise<T>;
}

View file

@ -0,0 +1,4 @@
/* eslint-disable import/no-unassigned-import */
import './react-app.d';
import './dom.d';
/* eslint-enable import/no-unassigned-import */

View file

@ -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<SVGSVGElement> & { title?: string }
>;
const source: string;
export default source;
}
declare module '*.module.css' {
const classes: Readonly<Record<string, string>>;
export default classes;
export = classes;
}
declare module '*.module.scss' {
const classes: Readonly<Record<string, string>>;
export default classes;
export = classes;
}
declare module '*.module.sass' {
const classes: Readonly<Record<string, string>>;
export default classes;
export = classes;
}

View file

@ -5,7 +5,8 @@
"author": "Silverhand Inc. <contact@silverhand.io>",
"license": "MPL-2.0",
"files": [
"lib"
"lib",
"scss"
],
"private": true,
"scripts": {

View file

@ -7,5 +7,5 @@
"@/*": ["src/*"]
}
},
"include": ["src"]
"include": ["src", "declaration"]
}

View file

@ -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