0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-27 21:39:16 -05:00

chore: update eslint config (#98)

This commit is contained in:
Gao Sun 2021-08-30 11:30:54 +08:00 committed by GitHub
parent d9cbab0355
commit ea4cfd0e59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
57 changed files with 287 additions and 194 deletions

View file

@ -7,4 +7,7 @@ module.exports = {
tsconfig: 'tsconfig.test.json',
},
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
};

View file

@ -9,9 +9,9 @@
"scripts": {
"preinstall": "npx only-allow pnpm",
"precommit": "lint-staged",
"build": "rm -rf build/ && tsc",
"build": "rm -rf build/ && tsc -p tsconfig.build.json",
"lint": "eslint --ext .ts src",
"dev": "rm -rf build/ && tsc-watch --preserveWatchOutput --onSuccess \"node ./build/index.js\"",
"dev": "rm -rf build/ && tsc-watch -p tsconfig.build.json --preserveWatchOutput --onSuccess \"node ./build/index.js\"",
"start": "NODE_ENV=production node build/index.js",
"test": "jest"
},
@ -42,8 +42,8 @@
"zod": "^3.8.1"
},
"devDependencies": {
"@logto/eslint-config": "^0.1.0-rc.18",
"@logto/ts-config": "^0.1.0-rc.18",
"@logto/eslint-config": "^0.1.0-rc.24",
"@logto/ts-config": "^0.1.0-rc.24",
"@types/jest": "^27.0.1",
"@types/koa": "^2.13.3",
"@types/koa-logger": "^3.1.1",

View file

@ -1,10 +1,11 @@
import https from 'https';
import fs from 'fs/promises';
import https from 'https';
import Koa from 'koa';
import koaLogger from 'koa-logger';
import koaErrorHandler from '@/middleware/koa-error-handler';
import { port } from '@/env/consts';
import koaErrorHandler from '@/middleware/koa-error-handler';
import koaUIProxy from '@/middleware/koa-ui-proxy';
import initOidc from '@/oidc/init';
import initRouter from '@/routes/init';

View file

@ -1,7 +1,10 @@
import assert from 'assert';
import RequestError from '@/errors/RequestError';
import { SchemaLike, GeneratedSchema } from '@logto/schemas';
import { DatabasePoolType, IdentifierSqlTokenType, sql } from 'slonik';
import RequestError from '@/errors/RequestError';
import {
conditionalSql,
convertToIdentifiers,

View file

@ -1,5 +1,6 @@
import { createPool } from 'slonik';
import { createInterceptors } from 'slonik-interceptor-preset';
import { getEnv } from '@/utils/env';
const interceptors = [...createInterceptors()];

View file

@ -1,9 +1,12 @@
import assert from 'assert';
import RequestError from '@/errors/RequestError';
import { notFalsy, Truthy } from '@logto/essentials';
import { SchemaLike, GeneratedSchema } from '@logto/schemas';
import { DatabasePoolType, sql } from 'slonik';
import RequestError from '@/errors/RequestError';
import { isKeyOf } from '@/utils/schema';
import { notFalsy, Truthy } from '@logto/essentials';
import { conditionalSql, convertToIdentifiers, convertToPrimitiveOrSql } from './utils';
export type UpdateWhereData<Schema extends SchemaLike> = {

View file

@ -1,6 +1,8 @@
import dayjs from 'dayjs';
import { sql } from 'slonik';
import { SqlToken } from 'slonik/dist/src/tokens.js';
import dayjs from 'dayjs';
import { Table } from './types';
import {
excludeAutoSetFields,
autoSetFields,
@ -9,7 +11,6 @@ import {
convertToTimestamp,
conditionalSql,
} from './utils';
import { Table } from './types';
describe('conditionalSql()', () => {
it('returns empty sql when value is falsy', () => {

View file

@ -2,6 +2,7 @@ import { Falsy, notFalsy } from '@logto/essentials';
import { SchemaValuePrimitive, SchemaValue } from '@logto/schemas';
import dayjs from 'dayjs';
import { sql, SqlSqlTokenType, SqlTokenType } from 'slonik';
import { FieldIdentifiers, Table } from './types';
export const conditionalSql = <T>(

View file

@ -1,7 +1,7 @@
import pick from 'lodash.pick';
import i18next from 'i18next';
import { LogtoErrorCode, LogtoErrorI18nKey } from '@logto/phrases';
import { RequestErrorBody, RequestErrorMetadata } from '@logto/schemas';
import i18next from 'i18next';
import pick from 'lodash.pick';
export default class RequestError extends Error {
code: LogtoErrorCode;

View file

@ -1,5 +1,5 @@
import i18next from 'i18next';
import resources from '@logto/phrases';
import i18next from 'i18next';
export default async function initI18n() {
await i18next.init({

View file

@ -1,6 +1,6 @@
declare module 'koa-body' {
import { IKoaBodyOptions } from 'node_modules/koa-body';
import { MiddlewareType } from 'koa';
import { IKoaBodyOptions } from 'node_modules/koa-body';
declare function koaBody<
StateT = Record<string, unknown>,

View file

@ -2,12 +2,12 @@
import 'module-alias/register.js';
import dotenv from 'dotenv';
import Koa from 'koa';
dotenv.config();
import Koa from 'koa';
import initI18n from './i18n/init';
import initApp from './app/init';
import initI18n from './i18n/init';
const app = new Koa();

View file

@ -1,14 +1,16 @@
import assert from 'assert';
import { IncomingHttpHeaders } from 'http';
import RequestError from '@/errors/RequestError';
import { MiddlewareType, Request } from 'koa';
import { jwtVerify } from 'jose/jwt/verify';
import { publicKey, issuer, adminResource } from '@/oidc/consts';
import { IRouterParamContext } from 'koa-router';
import { UserInfo, userInfoSelectFields } from '@logto/schemas';
import { findUserById } from '@/queries/user';
import { jwtVerify } from 'jose/jwt/verify';
import { MiddlewareType, Request } from 'koa';
import { IRouterParamContext } from 'koa-router';
import pick from 'lodash.pick';
import { developmentUserId, isProduction } from '@/env/consts';
import RequestError from '@/errors/RequestError';
import { publicKey, issuer, adminResource } from '@/oidc/consts';
import { findUserById } from '@/queries/user';
export type WithAuthContext<ContextT extends IRouterParamContext = IRouterParamContext> =
ContextT & {

View file

@ -1,10 +1,11 @@
import RequestError from '@/errors/RequestError';
import { RequestErrorBody } from '@logto/schemas';
import { LogtoErrorCode } from '@logto/phrases';
import { RequestErrorBody } from '@logto/schemas';
import decamelize from 'decamelize';
import { Middleware } from 'koa';
import { errors } from 'oidc-provider';
import RequestError from '@/errors/RequestError';
export default function koaErrorHandler<StateT, ContextT>(): Middleware<
StateT,
ContextT,

View file

@ -1,10 +1,11 @@
import RequestError from '@/errors/RequestError';
import { has } from '@logto/essentials';
import { MiddlewareType } from 'koa';
import koaBody from 'koa-body';
import { IMiddleware, IRouterParamContext } from 'koa-router';
import { ZodType } from 'zod';
import RequestError from '@/errors/RequestError';
export type GuardConfig<QueryT, BodyT, ParametersT> = {
query?: ZodType<QueryT>;
body?: ZodType<BodyT>;

View file

@ -1,8 +1,10 @@
import fs from 'fs';
import { MiddlewareType } from 'koa';
import proxy from 'koa-proxies';
import serveStatic from 'koa-static';
import { IRouterParamContext } from 'koa-router';
import serveStatic from 'koa-static';
import { isProduction, mountedApps } from '@/env/consts';
const PATH_TO_UI_DIST = '../ui/build/public';

View file

@ -1,4 +1,8 @@
import { ApplicationDBEntry } from '@logto/schemas';
import dayjs from 'dayjs';
import { AdapterFactory, AllClientMetadata } from 'oidc-provider';
import { findApplicationById } from '@/queries/application';
import {
consumeInstanceById,
destoryInstanceById,
@ -7,9 +11,6 @@ import {
revokeInstanceByGrantId,
upsertInstance,
} from '@/queries/oidc-model-instance';
import { findApplicationById } from '@/queries/application';
import { ApplicationDBEntry } from '@logto/schemas';
import dayjs from 'dayjs';
export default function postgresAdapter(modelName: string): ReturnType<AdapterFactory> {
if (modelName === 'Client') {

View file

@ -1,6 +1,7 @@
import crypto from 'crypto';
import { getEnv } from '@/utils/env';
import { port } from '@/env/consts';
import { getEnv } from '@/utils/env';
export const privateKey = crypto.createPrivateKey(
Buffer.from(getEnv('OIDC_PROVIDER_PRIVATE_KEY_BASE64'), 'base64')

View file

@ -1,11 +1,12 @@
import { fromKeyLike } from 'jose/jwk/from_key_like';
import Koa from 'koa';
import mount from 'koa-mount';
import { Provider } from 'oidc-provider';
import postgresAdapter from '@/oidc/adapter';
import { fromKeyLike } from 'jose/jwk/from_key_like';
import postgresAdapter from '@/oidc/adapter';
import { findUserById } from '@/queries/user';
import { routes } from '@/routes/consts';
import { issuer, privateKey } from './consts';
export default async function initOidc(app: Koa): Promise<Provider> {

View file

@ -1,10 +1,11 @@
import { ApplicationDBEntry, Applications } from '@logto/schemas';
import { sql } from 'slonik';
import { buildInsertInto } from '@/database/insert-into';
import pool from '@/database/pool';
import { buildUpdateWhere } from '@/database/update-where';
import { convertToIdentifiers, OmitAutoSetFields } from '@/database/utils';
import RequestError from '@/errors/RequestError';
import { ApplicationDBEntry, Applications } from '@logto/schemas';
import { sql } from 'slonik';
const { table, fields } = convertToIdentifiers(Applications);

View file

@ -1,6 +1,3 @@
import { buildInsertInto } from '@/database/insert-into';
import pool from '@/database/pool';
import { convertToIdentifiers, convertToTimestamp } from '@/database/utils';
import { conditional } from '@logto/essentials';
import {
OidcModelInstanceDBEntry,
@ -9,6 +6,10 @@ import {
} from '@logto/schemas';
import { sql, ValueExpressionType } from 'slonik';
import { buildInsertInto } from '@/database/insert-into';
import pool from '@/database/pool';
import { convertToIdentifiers, convertToTimestamp } from '@/database/utils';
export type WithConsumed<T> = T & { consumed?: boolean };
export type QueryResult = Pick<OidcModelInstanceDBEntry, 'payload' | 'consumedAt'>;

View file

@ -1,8 +1,9 @@
import { UserDBEntry, Users } from '@logto/schemas';
import { sql } from 'slonik';
import { buildInsertInto } from '@/database/insert-into';
import pool from '@/database/pool';
import { convertToIdentifiers } from '@/database/utils';
import { buildInsertInto } from '@/database/insert-into';
const { table, fields } = convertToIdentifiers(Users);

View file

@ -1,14 +1,15 @@
import { Applications } from '@logto/schemas';
import Router from 'koa-router';
import { object, string } from 'zod';
import { Applications } from '@logto/schemas';
import koaGuard from '@/middleware/koa-guard';
import { generateOidcClientMetadata } from '@/oidc/utils';
import {
deleteApplicationById,
insertApplication,
updateApplicationById,
} from '@/queries/application';
import { buildIdGenerator } from '@/utils/id';
import { generateOidcClientMetadata } from '@/oidc/utils';
const applicationId = buildIdGenerator(21);

View file

@ -1,12 +1,13 @@
import Koa from 'koa';
import mount from 'koa-mount';
import Router from 'koa-router';
import { Provider } from 'oidc-provider';
import sessionRoutes from '@/routes/session';
import userRoutes from '@/routes/user';
import swaggerRoutes from '@/routes/swagger';
import mount from 'koa-mount';
import koaAuth, { WithAuthContext } from '@/middleware/koa-auth';
import applicationRoutes from '@/routes/application';
import sessionRoutes from '@/routes/session';
import swaggerRoutes from '@/routes/swagger';
import userRoutes from '@/routes/user';
const createRouters = (provider: Provider) => {
const anonymousRouter = new Router();

View file

@ -1,13 +1,15 @@
import assert from 'assert';
import Router from 'koa-router';
import { object, string } from 'zod';
import { encryptPassword } from '@/utils/password';
import { findUserByUsername } from '@/queries/user';
import { Provider } from 'oidc-provider';
import { conditional } from '@logto/essentials';
import koaGuard from '@/middleware/koa-guard';
import RequestError from '@/errors/RequestError';
import { LogtoErrorCode } from '@logto/phrases';
import Router from 'koa-router';
import { Provider } from 'oidc-provider';
import { object, string } from 'zod';
import RequestError from '@/errors/RequestError';
import koaGuard from '@/middleware/koa-guard';
import { findUserByUsername } from '@/queries/user';
import { encryptPassword } from '@/utils/password';
export default function sessionRoutes(router: Router, provider: Provider) {
router.post(

View file

@ -1,5 +1,6 @@
import Router, { IMiddleware } from 'koa-router';
import { OpenAPIV3 } from 'openapi-types';
import { isGuardMiddleware, WithGuardConfig } from '@/middleware/koa-guard';
import { toTitle } from '@/utils/string';
import { zodTypeToSwagger } from '@/utils/zod';

View file

@ -1,12 +1,13 @@
import Router from 'koa-router';
import { object, string } from 'zod';
import { encryptPassword } from '@/utils/password';
import { hasUser, hasUserWithId, insertUser } from '@/queries/user';
import { nanoid } from 'nanoid';
import { PasswordEncryptionMethod } from '@logto/schemas';
import koaGuard from '@/middleware/koa-guard';
import Router from 'koa-router';
import { nanoid } from 'nanoid';
import { object, string } from 'zod';
import RequestError from '@/errors/RequestError';
import koaGuard from '@/middleware/koa-guard';
import { hasUser, hasUserWithId, insertUser } from '@/queries/user';
import { buildIdGenerator } from '@/utils/id';
import { encryptPassword } from '@/utils/password';
const userId = buildIdGenerator(12);

View file

@ -1,4 +1,5 @@
import { AssertionError } from 'assert';
import { assertEnv, getEnv } from './env';
describe('getEnv()', () => {

View file

@ -1,7 +1,9 @@
import assert from 'assert';
import { createHash } from 'crypto';
import { PasswordEncryptionMethod } from '@logto/schemas';
import { number, string } from 'zod';
import { assertEnv } from './env';
const peppers = string()

View file

@ -1,7 +1,8 @@
import { conditional } from '@logto/essentials';
import { OpenAPIV3 } from 'openapi-types';
import { ZodArray, ZodBoolean, ZodNumber, ZodObject, ZodOptional, ZodString } from 'zod';
import RequestError from '@/errors/RequestError';
import { conditional } from '@logto/essentials';
export const zodTypeToSwagger = (config: unknown): OpenAPIV3.SchemaObject => {
if (config instanceof ZodOptional) {

View file

@ -0,0 +1,9 @@
{
"extends": "./tsconfig.base",
"include": [
"src"
],
"exclude": [
"src/**/*.test.ts"
]
}

View file

@ -2,8 +2,5 @@
"extends": "./tsconfig.base",
"include": [
"src"
],
"exclude": [
"src/**/*.test.ts"
]
}

View file

@ -24,8 +24,8 @@
"url": "https://github.com/logto-io/logto/issues"
},
"devDependencies": {
"@logto/eslint-config": "^0.1.0-rc.18",
"@logto/ts-config": "^0.1.0-rc.18",
"@logto/eslint-config": "^0.1.0-rc.24",
"@logto/ts-config": "^0.1.0-rc.24",
"eslint": "^7.31.0",
"prettier": "^2.3.2",
"typescript": "^4.3.5"

View file

@ -20,9 +20,9 @@
"node": ">=14.15.0"
},
"devDependencies": {
"@logto/eslint-config": "^0.1.0-rc.18",
"@logto/eslint-config": "^0.1.0-rc.24",
"@logto/essentials": "^1.1.0-rc.2",
"@logto/ts-config": "^0.1.0-rc.18",
"@logto/ts-config": "^0.1.0-rc.24",
"@types/lodash.uniq": "^4.5.6",
"@types/node": "14",
"@types/pluralize": "^0.0.29",

View file

@ -8,7 +8,6 @@ import {
GeneratedSchema,
Guard,
} from '../foundations';
import { ApplicationType } from './custom-types';
export type ApplicationDBEntry = {

View file

@ -3,7 +3,6 @@
import { z } from 'zod';
import { GeneratedSchema, Guard } from '../foundations';
import { PasswordEncryptionMethod } from './custom-types';
export type UserDBEntry = {

View file

@ -1,14 +1,15 @@
import assert from 'assert';
import fs from 'fs/promises';
import path from 'path';
import camelcase from 'camelcase';
import pluralize from 'pluralize';
import uniq from 'lodash.uniq';
import { conditional, conditionalString } from '@logto/essentials';
import { findFirstParentheses, getType, normalizeWhitespaces, removeParentheses } from './utils';
import { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types';
import { conditional, conditionalString } from '@logto/essentials';
import camelcase from 'camelcase';
import uniq from 'lodash.uniq';
import pluralize from 'pluralize';
import { generateSchema } from './schema';
import { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types';
import { findFirstParentheses, getType, normalizeWhitespaces, removeParentheses } from './utils';
const directory = 'tables';

View file

@ -1,6 +1,7 @@
import pluralize from 'pluralize';
import camelcase from 'camelcase';
import { conditionalString } from '@logto/essentials';
import camelcase from 'camelcase';
import pluralize from 'pluralize';
import { TableWithType } from './types';
export const generateSchema = ({ name, fields }: TableWithType) => {

View file

@ -31,10 +31,10 @@
"devDependencies": {
"@babel/core": "^7.14.6",
"@jest/types": "^27.0.6",
"@logto/eslint-config": "^0.1.0-rc.18",
"@logto/eslint-config-react": "^0.1.0-rc.18",
"@logto/ts-config": "^0.1.0-rc.18",
"@logto/ts-config-react": "^0.1.0-rc.18",
"@logto/eslint-config": "^0.1.0-rc.24",
"@logto/eslint-config-react": "^0.1.0-rc.24",
"@logto/ts-config": "^0.1.0-rc.24",
"@logto/ts-config-react": "^0.1.0-rc.24",
"@testing-library/react": "^12.0.0",
"@types/jest": "^26.0.24",
"@types/react": "^17.0.14",

View file

@ -1,6 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { render } from 'react-dom';
import { MemoryRouter } from 'react-router-dom';
import App from './App';
jest.mock('ky', () => ({}));
@ -8,7 +9,7 @@ jest.mock('ky', () => ({}));
describe('<App />', () => {
test('renders without exploding', () => {
const div = document.createElement('div');
ReactDOM.render(
render(
<MemoryRouter>
<App />
</MemoryRouter>,

View file

@ -1,11 +1,12 @@
import React from 'react';
import { Route, Switch } from 'react-router-dom';
import AppContent from './components/AppContent';
import useTheme from './hooks/use-theme';
import initI18n from './init/i18n';
import Consent from './pages/Consent';
import SignIn from './pages/SignIn';
import Register from './pages/Register';
import SignIn from './pages/SignIn';
import './scss/normalized.scss';
void initI18n();

View file

@ -1,12 +1,13 @@
/* eslint-disable unicorn/prefer-module */
import { BrowserRouter } from 'react-router-dom';
import React from 'react';
import ReactDOM from 'react-dom';
import { render, hydrate } from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
const render = module.hot ? ReactDOM.render : ReactDOM.hydrate;
const renderFunction = module.hot ? render : hydrate;
render(
renderFunction(
<BrowserRouter>
<App />
</BrowserRouter>,

View file

@ -1,5 +1,6 @@
import classNames from 'classnames';
import React, { ReactNode } from 'react';
import styles from './index.module.scss';
export type Theme = 'dark' | 'light';

View file

@ -1,5 +1,6 @@
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import styles from './index.module.scss';
export type Props = {

View file

@ -1,5 +1,6 @@
import classNames from 'classnames';
import React from 'react';
import styles from './index.module.scss';
export type Props = {

View file

@ -1,5 +1,6 @@
import classNames from 'classnames';
import React, { ReactNode } from 'react';
import styles from './index.module.scss';
export type Props = {

View file

@ -1,5 +1,6 @@
import React, { ReactChild } from 'react';
import classNames from 'classnames';
import React, { ReactChild } from 'react';
import styles from './index.module.scss';
export type Props = {

View file

@ -1,6 +1,6 @@
import { useState } from 'react';
import { HTTPError } from 'ky';
import { RequestErrorBody } from '@logto/schemas';
import { HTTPError } from 'ky';
import { useState } from 'react';
type UseApi<T extends any[], U> = {
result?: U;

View file

@ -1,4 +1,5 @@
import { useState, useEffect } from 'react';
import { Theme } from '@/components/AppContent';
const darkThemeWatchMedia = window.matchMedia('(prefers-color-scheme: dark)');

View file

@ -1,10 +1,10 @@
import i18n from 'i18next';
import resources from '@logto/phrases';
import i18next from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import { initReactI18next } from 'react-i18next';
import resources from '@logto/phrases';
const initI18n = async () =>
i18n
i18next
.use(initReactI18next)
.use(LanguageDetector)
.init({

View file

@ -1,7 +1,8 @@
import React, { useEffect } from 'react';
import { consent } from '@/apis/consent';
import { useTranslation } from 'react-i18next';
import { consent } from '@/apis/consent';
const Consent = () => {
const { t } = useTranslation();

View file

@ -1,7 +1,8 @@
import React from 'react';
import { render, fireEvent, waitFor } from '@testing-library/react';
import Register from '@/pages/Register';
import React from 'react';
import { register } from '@/apis/register';
import Register from '@/pages/Register';
jest.mock('@/apis/register', () => ({ register: jest.fn(async () => Promise.resolve()) }));

View file

@ -1,7 +1,7 @@
import { LogtoErrorI18nKey } from '@logto/phrases';
import classNames from 'classnames';
import React, { FC, FormEventHandler, useState, useCallback, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import classNames from 'classnames';
import { LogtoErrorI18nKey } from '@logto/phrases';
import { register } from '@/apis/register';
import Button from '@/components/Button';

View file

@ -1,7 +1,8 @@
import React from 'react';
import { render, fireEvent, waitFor } from '@testing-library/react';
import SignIn from '@/pages/SignIn';
import React from 'react';
import { signInBasic } from '@/apis/sign-in';
import SignIn from '@/pages/SignIn';
jest.mock('@/apis/sign-in', () => ({ signInBasic: jest.fn(async () => Promise.resolve()) }));

View file

@ -1,7 +1,7 @@
import { LogtoErrorI18nKey } from '@logto/phrases';
import classNames from 'classnames';
import React, { FC, FormEventHandler, useState, useCallback, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import classNames from 'classnames';
import { LogtoErrorI18nKey } from '@logto/phrases';
import { signInBasic } from '@/apis/sign-in';
import Button from '@/components/Button';

View file

@ -1,9 +1,10 @@
{
"extends": "@logto/ts-config-react/tsconfig.base",
"compilerOptions": {
"baseUrl": "src",
"paths": {
"@/*": [
"./src/*"
"./*"
]
}
},

219
pnpm-lock.yaml generated
View file

@ -20,11 +20,11 @@ importers:
packages/core:
specifiers:
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
'@logto/essentials': ^1.1.0-rc.2
'@logto/phrases': ^0.1.0
'@logto/schemas': ^0.1.0
'@logto/ts-config': ^0.1.0-rc.18
'@logto/ts-config': ^0.1.0-rc.24
'@types/jest': ^27.0.1
'@types/koa': ^2.13.3
'@types/koa-logger': ^3.1.1
@ -89,8 +89,8 @@ importers:
slonik-interceptor-preset: 1.2.10
zod: 3.8.1
devDependencies:
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/ts-config': 0.1.0-rc.18_54a571252e94826a463f89cda755e2f0
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/ts-config': 0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c
'@types/jest': 27.0.1
'@types/koa': 2.13.4
'@types/koa-logger': 3.1.1
@ -111,24 +111,24 @@ importers:
packages/phrases:
specifiers:
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/ts-config': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
'@logto/ts-config': ^0.1.0-rc.24
eslint: ^7.31.0
prettier: ^2.3.2
typescript: ^4.3.5
devDependencies:
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/ts-config': 0.1.0-rc.18_54a571252e94826a463f89cda755e2f0
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/ts-config': 0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c
eslint: 7.31.0
prettier: 2.3.2
typescript: 4.3.5
packages/schemas:
specifiers:
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
'@logto/essentials': ^1.1.0-rc.2
'@logto/phrases': ^0.1.0
'@logto/ts-config': ^0.1.0-rc.18
'@logto/ts-config': ^0.1.0-rc.24
'@types/lodash.uniq': ^4.5.6
'@types/node': '14'
'@types/pluralize': ^0.0.29
@ -143,9 +143,9 @@ importers:
dependencies:
'@logto/phrases': link:../phrases
devDependencies:
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/essentials': 1.1.0-rc.2
'@logto/ts-config': 0.1.0-rc.18_54a571252e94826a463f89cda755e2f0
'@logto/ts-config': 0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c
'@types/lodash.uniq': 4.5.6
'@types/node': 14.17.6
'@types/pluralize': 0.0.29
@ -162,12 +162,12 @@ importers:
specifiers:
'@babel/core': ^7.14.6
'@jest/types': ^27.0.6
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/eslint-config-react': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
'@logto/eslint-config-react': ^0.1.0-rc.24
'@logto/phrases': ^0.1.0
'@logto/schemas': ^0.1.0
'@logto/ts-config': ^0.1.0-rc.18
'@logto/ts-config-react': ^0.1.0-rc.18
'@logto/ts-config': ^0.1.0-rc.24
'@logto/ts-config-react': ^0.1.0-rc.24
'@testing-library/react': ^12.0.0
'@types/jest': ^26.0.24
'@types/react': ^17.0.14
@ -212,10 +212,10 @@ importers:
devDependencies:
'@babel/core': 7.14.8
'@jest/types': 27.0.6
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/eslint-config-react': 0.1.0-rc.18_8a23604bf110df38aac3ebd7ead305e2
'@logto/ts-config': 0.1.0-rc.18_54a571252e94826a463f89cda755e2f0
'@logto/ts-config-react': 0.1.0-rc.18_1457f2a7d92889c1b1eaca634f64e592
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/eslint-config-react': 0.1.0-rc.24_3d86d47bd84fdbb75de6533b28633e70
'@logto/ts-config': 0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c
'@logto/ts-config-react': 0.1.0-rc.24_56e7b91bb27f2374270546bf6b655d4d
'@testing-library/react': 12.0.0_react-dom@17.0.2+react@17.0.2
'@types/jest': 26.0.24
'@types/react': 17.0.15
@ -2786,15 +2786,15 @@ packages:
write-file-atomic: 3.0.3
dev: true
/@logto/eslint-config-react/0.1.0-rc.18_8a23604bf110df38aac3ebd7ead305e2:
resolution: {integrity: sha512-fUfUCwujf11Xr7i8P380V+7qRPAo+JUEn+GYx80OU9aoFpaUhGhpwNfbHl37MBDCdg6A650Sqnx3X4YfxDdxLQ==}
/@logto/eslint-config-react/0.1.0-rc.24_3d86d47bd84fdbb75de6533b28633e70:
resolution: {integrity: sha512-0telwVjuHOpfbTMFJ6xwRPwhDgpEFPOThM/pvKhh9Yy8sqS76ITC7S+0N3jyQjnRUId/ut0q9EYiTqtKrJ/W+g==}
peerDependencies:
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
stylelint: ^13.13.1
dependencies:
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
eslint-config-xo-react: 0.25.0_d9ce695d054fb5a322f2803e7ac84389
eslint-plugin-react: 7.24.0_eslint@7.31.0
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
eslint-config-xo-react: 0.25.0_5f704e3662965de4cfb2bcc40a24fdc0
eslint-plugin-react: 7.25.0_eslint@7.31.0
eslint-plugin-react-hooks: 4.2.0_eslint@7.31.0
stylelint: 13.13.1
stylelint-config-xo-scss: 0.14.0_stylelint@13.13.1
@ -2802,25 +2802,26 @@ packages:
- eslint
dev: true
/@logto/eslint-config/0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab:
resolution: {integrity: sha512-GMf+FP6NYzKUCHDpZ+19LPmmUT+btmBCTv04wokoHjynjbPZfVxn26+WK/0BGar9rrr2Cr+QT65LvjztpHhiQg==}
/@logto/eslint-config/0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab:
resolution: {integrity: sha512-dmIg0AwhFczqhq54OikElhNlcyS3iXnTIpPxdhkZfql8LpydDYizpDwE5gl/tcEGiI152ZfwWw+8lYcyQatfUA==}
engines: {node: '>=14.15.0'}
peerDependencies:
eslint: ^7.30.0
prettier: ^2.3.2
typescript: ^4.3.5
dependencies:
'@typescript-eslint/eslint-plugin': 4.28.5_514553717ff968e20f6d1c6e521f8616
'@typescript-eslint/parser': 4.28.5_eslint@7.31.0+typescript@4.3.5
'@typescript-eslint/eslint-plugin': 4.29.3_2bd6bd57372f0c556f3cf56680206192
'@typescript-eslint/parser': 4.29.3_eslint@7.31.0+typescript@4.3.5
eslint: 7.31.0
eslint-config-prettier: 8.3.0_eslint@7.31.0
eslint-config-xo: 0.37.0_eslint@7.31.0
eslint-config-xo-typescript: 0.43.0_6fd5a9364a943d2d4e6f2a7372de0670
eslint-config-xo-typescript: 0.43.0_5e94fa9d17795ac650ba73b69f3de816
eslint-import-resolver-typescript: 2.4.0_ad16af91e8fab94a7e22e925abb31583
eslint-plugin-eslint-comments: 3.2.0_eslint@7.31.0
eslint-plugin-import: 2.23.4_eslint@7.31.0
eslint-plugin-import: 2.24.2_eslint@7.31.0
eslint-plugin-no-use-extend-native: 0.5.0
eslint-plugin-node: 11.1.0_eslint@7.31.0
eslint-plugin-prettier: 3.4.0_19f511d6aa08b367b6cb59e8f50291ca
eslint-plugin-prettier: 3.4.1_19f511d6aa08b367b6cb59e8f50291ca
eslint-plugin-promise: 5.1.0_eslint@7.31.0
eslint-plugin-unicorn: 34.0.1_eslint@7.31.0
prettier: 2.3.2
@ -2836,27 +2837,27 @@ packages:
lodash.orderby: 4.6.0
lodash.pick: 4.4.0
/@logto/ts-config-react/0.1.0-rc.18_1457f2a7d92889c1b1eaca634f64e592:
resolution: {integrity: sha512-CNnwTMzpdt8EdrE0EvlqVrBB9GPdFpq6vD+4c2J6pxNS2UWqarh792TfSEDHxTPsmXWV+rz9CIaWB5/TbswsDA==}
/@logto/ts-config-react/0.1.0-rc.24_56e7b91bb27f2374270546bf6b655d4d:
resolution: {integrity: sha512-nwbNoI3XXARR7qg3qCYmeLU3yD4V4BSogXAk6Ge6CIIb0aPoj/27wCknq1edjwaInxPR3J6ZXmicQqHokdZ30g==}
engines: {node: '>=14.15.0'}
peerDependencies:
'@logto/eslint-config-react': ^0.1.0-rc.18
'@logto/ts-config': ^0.1.0-rc.18
'@logto/eslint-config-react': ^0.1.0-rc.24
'@logto/ts-config': ^0.1.0-rc.24
typescript: ^4.3.5
dependencies:
'@logto/eslint-config-react': 0.1.0-rc.18_8a23604bf110df38aac3ebd7ead305e2
'@logto/ts-config': 0.1.0-rc.18_54a571252e94826a463f89cda755e2f0
'@logto/eslint-config-react': 0.1.0-rc.24_3d86d47bd84fdbb75de6533b28633e70
'@logto/ts-config': 0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c
typescript: 4.3.5
dev: true
/@logto/ts-config/0.1.0-rc.18_54a571252e94826a463f89cda755e2f0:
resolution: {integrity: sha512-VskpTMXoUGXaJ8rTdKd/KnmvxujcoT2d5qpQ4NGSJY8ytPIlGM0VRexBh0Bsh1rN2+bklav0D2LvIiaRedvF9A==}
/@logto/ts-config/0.1.0-rc.24_43787dd55a198a22e6c455f148105a9c:
resolution: {integrity: sha512-cjL0oStG1BYJzbT80MgR/XECaoUUyQ44IJavRNETZ8ngmg375HRoM2DQlmlNXwIlGmlbWR21VIohIhd89FANDQ==}
engines: {node: '>=14.15.0'}
peerDependencies:
'@logto/eslint-config': ^0.1.0-rc.18
'@logto/eslint-config': ^0.1.0-rc.24
typescript: ^4.3.5
dependencies:
'@logto/eslint-config': 0.1.0-rc.18_2055f56ab8dafa07df5c7ad406c8a4ab
'@logto/eslint-config': 0.1.0-rc.24_2055f56ab8dafa07df5c7ad406c8a4ab
typescript: 4.3.5
dev: true
@ -3345,6 +3346,10 @@ packages:
resolution: {integrity: sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==}
dev: true
/@types/json5/0.0.29:
resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=}
dev: true
/@types/keygrip/1.0.2:
resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==}
dev: true
@ -3594,8 +3599,8 @@ packages:
'@types/yargs-parser': 20.2.1
dev: true
/@typescript-eslint/eslint-plugin/4.28.5_514553717ff968e20f6d1c6e521f8616:
resolution: {integrity: sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==}
/@typescript-eslint/eslint-plugin/4.29.3_2bd6bd57372f0c556f3cf56680206192:
resolution: {integrity: sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
'@typescript-eslint/parser': ^4.0.0
@ -3605,9 +3610,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/experimental-utils': 4.28.5_eslint@7.31.0+typescript@4.3.5
'@typescript-eslint/parser': 4.28.5_eslint@7.31.0+typescript@4.3.5
'@typescript-eslint/scope-manager': 4.28.5
'@typescript-eslint/experimental-utils': 4.29.3_eslint@7.31.0+typescript@4.3.5
'@typescript-eslint/parser': 4.29.3_eslint@7.31.0+typescript@4.3.5
'@typescript-eslint/scope-manager': 4.29.3
debug: 4.3.2
eslint: 7.31.0
functional-red-black-tree: 1.0.1
@ -3619,16 +3624,16 @@ packages:
- supports-color
dev: true
/@typescript-eslint/experimental-utils/4.28.5_eslint@7.31.0+typescript@4.3.5:
resolution: {integrity: sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==}
/@typescript-eslint/experimental-utils/4.29.3_eslint@7.31.0+typescript@4.3.5:
resolution: {integrity: sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
eslint: '*'
dependencies:
'@types/json-schema': 7.0.8
'@typescript-eslint/scope-manager': 4.28.5
'@typescript-eslint/types': 4.28.5
'@typescript-eslint/typescript-estree': 4.28.5_typescript@4.3.5
'@typescript-eslint/scope-manager': 4.29.3
'@typescript-eslint/types': 4.29.3
'@typescript-eslint/typescript-estree': 4.29.3_typescript@4.3.5
eslint: 7.31.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@7.31.0
@ -3637,8 +3642,8 @@ packages:
- typescript
dev: true
/@typescript-eslint/parser/4.28.5_eslint@7.31.0+typescript@4.3.5:
resolution: {integrity: sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==}
/@typescript-eslint/parser/4.29.3_eslint@7.31.0+typescript@4.3.5:
resolution: {integrity: sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
@ -3647,9 +3652,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 4.28.5
'@typescript-eslint/types': 4.28.5
'@typescript-eslint/typescript-estree': 4.28.5_typescript@4.3.5
'@typescript-eslint/scope-manager': 4.29.3
'@typescript-eslint/types': 4.29.3
'@typescript-eslint/typescript-estree': 4.29.3_typescript@4.3.5
debug: 4.3.2
eslint: 7.31.0
typescript: 4.3.5
@ -3657,21 +3662,21 @@ packages:
- supports-color
dev: true
/@typescript-eslint/scope-manager/4.28.5:
resolution: {integrity: sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==}
/@typescript-eslint/scope-manager/4.29.3:
resolution: {integrity: sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==}
engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
dependencies:
'@typescript-eslint/types': 4.28.5
'@typescript-eslint/visitor-keys': 4.28.5
'@typescript-eslint/types': 4.29.3
'@typescript-eslint/visitor-keys': 4.29.3
dev: true
/@typescript-eslint/types/4.28.5:
resolution: {integrity: sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==}
/@typescript-eslint/types/4.29.3:
resolution: {integrity: sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==}
engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
dev: true
/@typescript-eslint/typescript-estree/4.28.5_typescript@4.3.5:
resolution: {integrity: sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==}
/@typescript-eslint/typescript-estree/4.29.3_typescript@4.3.5:
resolution: {integrity: sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
typescript: '*'
@ -3679,8 +3684,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 4.28.5
'@typescript-eslint/visitor-keys': 4.28.5
'@typescript-eslint/types': 4.29.3
'@typescript-eslint/visitor-keys': 4.29.3
debug: 4.3.2
globby: 11.0.4
is-glob: 4.0.1
@ -3691,11 +3696,11 @@ packages:
- supports-color
dev: true
/@typescript-eslint/visitor-keys/4.28.5:
resolution: {integrity: sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==}
/@typescript-eslint/visitor-keys/4.29.3:
resolution: {integrity: sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==}
engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
dependencies:
'@typescript-eslint/types': 4.28.5
'@typescript-eslint/types': 4.29.3
eslint-visitor-keys: 2.1.0
dev: true
@ -6680,7 +6685,7 @@ packages:
eslint: 7.31.0
dev: true
/eslint-config-xo-react/0.25.0_d9ce695d054fb5a322f2803e7ac84389:
/eslint-config-xo-react/0.25.0_5f704e3662965de4cfb2bcc40a24fdc0:
resolution: {integrity: sha512-YpABFxnoATAYtxsZQChZEbOkWqzCtcQDRdiUqHhLgG7hzbAEzPDmsRUWnTP8oTVLVFWrbgdf913b8kQJaR1cBA==}
engines: {node: '>=10'}
peerDependencies:
@ -6689,18 +6694,18 @@ packages:
eslint-plugin-react-hooks: '>=4.2.0'
dependencies:
eslint: 7.31.0
eslint-plugin-react: 7.24.0_eslint@7.31.0
eslint-plugin-react: 7.25.0_eslint@7.31.0
eslint-plugin-react-hooks: 4.2.0_eslint@7.31.0
dev: true
/eslint-config-xo-typescript/0.43.0_6fd5a9364a943d2d4e6f2a7372de0670:
/eslint-config-xo-typescript/0.43.0_5e94fa9d17795ac650ba73b69f3de816:
resolution: {integrity: sha512-8T4O7Dy4c5/TeOPxBOTw7DI8fgS+u5ni0xA6alcJDyiMCuBq7O+FUMsOkz2vAOQ3C3HMkYmkpAXA/gZFX4QUrg==}
engines: {node: '>=12'}
peerDependencies:
'@typescript-eslint/eslint-plugin': '>=4.28.1'
eslint: '>=7.30.0'
dependencies:
'@typescript-eslint/eslint-plugin': 4.28.5_514553717ff968e20f6d1c6e521f8616
'@typescript-eslint/eslint-plugin': 4.29.3_2bd6bd57372f0c556f3cf56680206192
eslint: 7.31.0
typescript: 4.3.5
dev: true
@ -6715,15 +6720,33 @@ packages:
eslint: 7.31.0
dev: true
/eslint-import-resolver-node/0.3.4:
resolution: {integrity: sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==}
/eslint-import-resolver-node/0.3.6:
resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
dependencies:
debug: 2.6.9
debug: 3.2.7
resolve: 1.20.0
dev: true
/eslint-module-utils/2.6.1:
resolution: {integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==}
/eslint-import-resolver-typescript/2.4.0_ad16af91e8fab94a7e22e925abb31583:
resolution: {integrity: sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==}
engines: {node: '>=4'}
peerDependencies:
eslint: '*'
eslint-plugin-import: '*'
dependencies:
debug: 4.3.2
eslint: 7.31.0
eslint-plugin-import: 2.24.2_eslint@7.31.0
glob: 7.1.7
is-glob: 4.0.1
resolve: 1.20.0
tsconfig-paths: 3.10.1
transitivePeerDependencies:
- supports-color
dev: true
/eslint-module-utils/2.6.2:
resolution: {integrity: sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==}
engines: {node: '>=4'}
dependencies:
debug: 3.2.7
@ -6752,8 +6775,8 @@ packages:
ignore: 5.1.8
dev: true
/eslint-plugin-import/2.23.4_eslint@7.31.0:
resolution: {integrity: sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==}
/eslint-plugin-import/2.24.2_eslint@7.31.0:
resolution: {integrity: sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0
@ -6763,17 +6786,17 @@ packages:
debug: 2.6.9
doctrine: 2.1.0
eslint: 7.31.0
eslint-import-resolver-node: 0.3.4
eslint-module-utils: 2.6.1
eslint-import-resolver-node: 0.3.6
eslint-module-utils: 2.6.2
find-up: 2.1.0
has: 1.0.3
is-core-module: 2.5.0
is-core-module: 2.6.0
minimatch: 3.0.4
object.values: 1.1.4
pkg-up: 2.0.0
read-pkg-up: 3.0.0
resolve: 1.20.0
tsconfig-paths: 3.10.1
tsconfig-paths: 3.11.0
dev: true
/eslint-plugin-no-use-extend-native/0.5.0:
@ -6801,8 +6824,8 @@ packages:
semver: 6.3.0
dev: true
/eslint-plugin-prettier/3.4.0_19f511d6aa08b367b6cb59e8f50291ca:
resolution: {integrity: sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==}
/eslint-plugin-prettier/3.4.1_19f511d6aa08b367b6cb59e8f50291ca:
resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==}
engines: {node: '>=6.0.0'}
peerDependencies:
eslint: '>=5.0.0'
@ -6836,8 +6859,8 @@ packages:
eslint: 7.31.0
dev: true
/eslint-plugin-react/7.24.0_eslint@7.31.0:
resolution: {integrity: sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==}
/eslint-plugin-react/7.25.0_eslint@7.31.0:
resolution: {integrity: sha512-bZL+HeB+Qaimb4ryOc+OYYOX0XnOr6FX30ZXkzL8iSJA3tATTtZ1YgYyjK3jGvVDcZMejfUaeS/5wKDfTgyfVw==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7
@ -6846,6 +6869,7 @@ packages:
array.prototype.flatmap: 1.2.4
doctrine: 2.1.0
eslint: 7.31.0
estraverse: 5.2.0
has: 1.0.3
jsx-ast-utils: 3.2.0
minimatch: 3.0.4
@ -8734,6 +8758,12 @@ packages:
dependencies:
has: 1.0.3
/is-core-module/2.6.0:
resolution: {integrity: sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==}
dependencies:
has: 1.0.3
dev: true
/is-data-descriptor/0.1.4:
resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=}
engines: {node: '>=0.10.0'}
@ -15670,6 +15700,15 @@ packages:
strip-bom: 3.0.0
dev: true
/tsconfig-paths/3.11.0:
resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==}
dependencies:
'@types/json5': 0.0.29
json5: 1.0.1
minimist: 1.2.5
strip-bom: 3.0.0
dev: true
/tslib/1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true