├── .eslintrc.js
├── .gitignore
├── .npmrc
├── .prettierrc
├── README.md
├── example
├── package.json
├── src
│ └── index.ts
└── tsconfig.json
├── package.json
├── packages
├── @notionx
│ └── client
│ │ ├── package.json
│ │ ├── src
│ │ ├── classes
│ │ │ ├── contants.ts
│ │ │ ├── database-property.ts
│ │ │ ├── database.ts
│ │ │ ├── page.ts
│ │ │ └── properties
│ │ │ │ ├── boolean.ts
│ │ │ │ ├── date.ts
│ │ │ │ ├── file.ts
│ │ │ │ ├── multi-select.ts
│ │ │ │ ├── number.ts
│ │ │ │ ├── people.ts
│ │ │ │ ├── relation.ts
│ │ │ │ ├── rich-text.ts
│ │ │ │ ├── select.ts
│ │ │ │ └── timestamp.ts
│ │ ├── client.ts
│ │ ├── helpers
│ │ │ ├── normalize-database-schema.ts
│ │ │ ├── normalize-filters.ts
│ │ │ ├── normalize-sorts.ts
│ │ │ └── serialize.ts
│ │ ├── index.ts
│ │ └── types
│ │ │ ├── database.ts
│ │ │ ├── filters.ts
│ │ │ ├── page.ts
│ │ │ ├── properties.ts
│ │ │ └── sort.ts
│ │ └── tsconfig.json
├── eslint
│ ├── index.js
│ └── package.json
└── tsconfig
│ ├── base.json
│ ├── nextjs.json
│ ├── package.json
│ └── react-library.json
├── turbo.json
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: ["notionx"],
4 | };
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | node_modules
5 | .pnp
6 | .pnp.js
7 |
8 | # testing
9 | coverage
10 |
11 | # next.js
12 | .next/
13 | out/
14 | build
15 |
16 | # misc
17 | .DS_Store
18 | *.pem
19 |
20 | # debug
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | # local env files
26 | .env
27 | .env.local
28 | .env.development.local
29 | .env.test.local
30 | .env.production.local
31 |
32 | # turbo
33 | .turbo
34 |
35 | # vercel
36 | .vercel
37 |
38 | dist
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | auto-install-peers = true
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 80,
3 | "tabWidth": 2,
4 | "useTabs": false,
5 | "semi": true,
6 | "singleQuote": true,
7 | "trailingComma": "es5",
8 | "bracketSpacing": true,
9 | "jsxSingleQuote": false,
10 | "arrowParens": "always",
11 | "proseWrap": "never",
12 | "htmlWhitespaceSensitivity": "strict",
13 | "endOfLine": "lf"
14 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | ### A type-safe and powerful [Notion](https://notion.so) client.
9 |
10 |
11 |
12 |
13 |
14 |
15 | [](https://makeapullrequest.com) [](http://commitizen.github.io/cz-cli/) [](LICENCE)
16 |
17 | [](https://www.npmjs.com/package/@notionx/client) [](https://www.npmjs.com/package/@syneki/notion-renderer)
18 |
19 | [](https://syneki.com) [](https://nx.dev/)
20 |
21 | [🚀 Get started](#🚀-getting-started) • [🔧 Configure](#🔧-configure) • [🔍 Query](#🔍-query) • [🏗 Extend](#🏗-extend)
22 |
23 | [Contribute](#contributing) • [License](#license)
24 |
25 |
26 |
27 | # ⚠ Pre-release
28 |
29 | This project is currently in pre-release, you can use it but some features are lacking and few things will have to change in a near future.
30 |
31 | Do not hesitate to open an issue to provide your feedback, report bugs and to propose new features.
32 |
33 | # 🚀 Getting started
34 |
35 | ## Install libraries
36 |
37 | ```shell
38 | $ npm install @notionx/client @notionx/renderer
39 | $ yarn add @notionx/client @notionx/renderer
40 | ```
41 |
42 | > ⚠ We highly recommend to use a **Static Website Generator** to use `@notionx/client`. The Notion API is extremely slow, avoid querying it on each visit.
43 |
44 | ## Create a database
45 |
46 | 
47 |
48 | ## Query your database
49 |
50 | ```typescript
51 | import { Client, DatabaseSchema } from '@notionx/client';
52 |
53 | const client = new Client({
54 | auth: process.env.NOTION_TOKEN,
55 | });
56 |
57 | const schema: DatabaseSchema = {
58 | slug: {
59 | name: 'Slug',
60 | type: 'right_text',
61 | },
62 | status: {
63 | name: 'Status',
64 | type: 'select',
65 | },
66 | };
67 |
68 | // Query a database
69 | const pages = await client.queryDatabase(
70 | '',
71 | schema
72 | {
73 | filter: [
74 | {
75 | status: {
76 | equals: 'Published',
77 | },
78 | },
79 | ],
80 | sorts: {
81 | slug: 'ascending',
82 | },
83 | }
84 | );
85 |
86 | const page = await client.page(schema, ' :warning: Make sure that you are giving the correct permissions. If the token is directly accessible from your Frontend it can be a real problem!
101 |
102 | 
103 |
104 | ## Add the integration to your databases
105 |
106 | On each databases you want to query click on the `•••` in the top right corner.
107 |
108 | Click on **Add connection** and select your Integration. Your token should now have access to your database.
109 |
110 | # 🔧 Configure
111 |
112 | ## `NotionCMS`
113 |
114 | `NotionCMS` is used to interact with a Notion Account.
115 |
116 | ```typescript
117 | import { Client } from '@notionx/client';
118 |
119 | const cms = new Client({
120 | auth: '', // Your Notion Internal Integration Token
121 | renderer: notionRenderer, // A NotionRenderer instance
122 | parser: notionParser, // A NotionParser instance
123 | });
124 | ```
125 |
126 | ## `NotionDatabase`
127 |
128 | The `NotionDatabase` is used to interact with a specific Notion database.
129 |
130 | ```typescript
131 | import { NotionDatabse } from '@notionx/client';
132 |
133 | const database = new NotionDatabase({
134 | cms: notionCMS, // Your NotionCMS instance
135 | databaseId: '', // The ID of the Notion Database
136 | mapping: {
137 | title: {
138 | // The property key of the final object
139 | name: 'Title', // The name of the page Property
140 | id: 'title', // The id of the page Property
141 | },
142 | shortDescription: {
143 | name: 'Short description',
144 | },
145 | },
146 | });
147 | ```
148 |
149 | The mapping is optionnal, if you do not specify it, the keys will be taken from the properties name.
150 |
151 | Read more on [how to query your pages](#query).
152 |
153 | > ℹ You can find the Database ID from the URL on the page.
154 |
155 | ## `NotionRenderer`
156 |
157 | The `NotionRenderer` instance is used to transform properties and content into HTML. It accepts custom Blocks.
158 |
159 | Read more on [how to extend](#extend).
160 |
161 | ```typescript
162 | import { NotionRenderer } from '@syneki/notion-renderer';
163 |
164 | const renderer = new NotionRenderer(ParagraphBlock, TaskBlock);
165 | ```
166 |
167 | # 🔍 Query
168 |
169 | ## List pages of a database
170 |
171 | ```typescript
172 | import { NotionDatabase } from '@notionx/client';
173 |
174 | const database = new NotionDatabse({ ... })
175 |
176 | const posts = await database.list()
177 |
178 | const posts = await database.list({
179 | // Filtering
180 | filter: {
181 | property: 'Status', // The property name
182 | type: 'status', // The property type
183 | status: {
184 | equals: 'Published' // What status you want to query
185 | }
186 | },
187 |
188 | // Pagination
189 | pageSize: 2, // The number of pages to query
190 | cursor: '', // At what page the list starts
191 |
192 | // Sorting [WIP]
193 | })
194 | ```
195 |
196 | ## Query a single page by ID
197 |
198 | ```typescript
199 | import { NotionDatabase } from '@notionx/client';
200 |
201 | const database = new NotionDatabse({ ... })
202 |
203 | const post = await database.get('');
204 | ```
205 |
206 | ## Query a single page by property
207 |
208 | ```typescript
209 | import { NotionDatabase } from '@notionx/client';
210 |
211 | const database = new NotionDatabse({ ... })
212 |
213 | const post = await database.findFirst({
214 | property: 'Slug',
215 | rich_text: {
216 | equals: 'my-super-post'
217 | }
218 | })
219 | ```
220 |
221 | ## Get the content of a page
222 |
223 | When querying pages, you will only get the properties. You must query the content with the `getContent` method.
224 |
225 | The content is automatically rendered into HTML.
226 |
227 | ```typescript
228 | import { NotionDatabase } from '@notionx/client';
229 |
230 | const database = new NotionDatabse({ ... })
231 |
232 | const post = await database.findFirst({
233 | property: 'Slug',
234 | rich_text: {
235 | equals: 'my-super-post'
236 | }
237 | })
238 |
239 | const content = await database.getContent(post.id);
240 | ```
241 |
242 | # 🏗 Extend
243 |
244 | ## Parsers
245 |
246 | Parsers transform page properties sent by the Notion API.
247 |
248 | For example, a `date` property in Notion results in a `string` but we parse it to transform it into a `Date` and make it directly accessible into the final object.
249 |
250 | In the following examples we replace the first part of each email with fake data.
251 |
252 | ```typescript
253 | import { faker } from '@faker-js/faker';
254 | import { NotionParser, NotionCMS, PropertyParser } from '@notionx/client';
255 |
256 | const fakeEmailParser: PropertyParser = (data) => {
257 | const domain = data.email.split('@').at(-1);
258 | return `${faker.internet.userName()}@${domain}`;
259 | };
260 |
261 | // Add it through the constructor
262 | const parser = new NotionParser({
263 | propertyParsers: {
264 | email: fakeEmailParser,
265 | },
266 | });
267 |
268 | // Or with the method addParser
269 | parser.addParser('email', fakeEmailParser);
270 |
271 | // Use it in NotionCMS
272 | const cms = new NotionCMS({ parser });
273 | ```
274 |
275 | ## Renderers
276 |
277 | Notion does not transform the rich content into HTML. It returns a JSON object with the configuration of each block.
278 |
279 | You can add custom renderer to override the current Renderers or to handle more blocks.
280 |
281 | ```typescript
282 | import { createBlockRenderer, NotionRenderer } from '@syneki/notion-renderer';
283 |
284 | const customParagraphRenderer = createBlockRenderer(
285 | 'paragraph',
286 | (data, renderer) => {
287 | return `${renderer.render(
288 | ...data.paragraph.rich_text
289 | )}
`;
290 | }
291 | );
292 |
293 | // Add it through the constructor
294 | const renderer = new NotionRenderer(customParagraphRenderer);
295 | // Or with the method addBlockRenderer
296 | renderer.addBlockRenderer(customParagraphRenderer);
297 |
298 | // Use it in NotionCMS
299 | const cms = new NotionCMS({ renderer });
300 | ```
301 |
302 | As you can see we can render Blocks into blocks. In this case a Code Block contains Rich text, we call the `renderer.render` method to render it with the `RichTextRenderer`.
303 |
304 | # Contributing
305 |
306 | # Licence
307 |
308 | Copyright © 2022 Syneki
309 |
310 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
311 |
312 | ```
313 | http://www.apache.org/licenses/LICENSE-2.0
314 | ```
315 |
316 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
317 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "version": "0.0.1",
4 | "scripts": {
5 | "start": "node dist/index.js",
6 | "dev": "yarn build --watch",
7 | "build": "tsc --build",
8 | "lint": "eslint src/**/*.ts",
9 | "lint:fix": "yarn lint --fix"
10 | },
11 | "devDependencies": {
12 | "@types/lodash": "^4.14.194",
13 | "eslint": "^8.39.0",
14 | "tsconfig": "*",
15 | "typescript": "^5.0.4"
16 | },
17 | "dependencies": {
18 | "@notionx/client": "*"
19 | }
20 | }
--------------------------------------------------------------------------------
/example/src/index.ts:
--------------------------------------------------------------------------------
1 | import { Client } from '@notionx/client';
2 |
3 | const client = new Client({
4 | auth: process.env.NOTION_TOKEN!,
5 | });
6 |
7 | async function main() {
8 | const pages = await client.queryDatabase(
9 | '25bc244c88b3467ba01a35b4b18b4426',
10 | {
11 | Description: 'rich_text',
12 | blockType: {
13 | name: 'Block type',
14 | type: 'rich_text',
15 | },
16 | requireClient: {
17 | name: 'Require client',
18 | type: 'checkbox',
19 | },
20 | name: {
21 | name: 'Name',
22 | type: 'title',
23 | },
24 | },
25 | {
26 | sorts: {
27 | name: 'descending',
28 | },
29 | }
30 | );
31 |
32 | for (const page of pages) {
33 | console.log(page.name);
34 | }
35 | }
36 |
37 | main();
38 |
--------------------------------------------------------------------------------
/example/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "tsconfig/base.json",
3 | "compilerOptions": {
4 | "composite": true,
5 | "module": "CommonJS",
6 | "rootDir": "./src",
7 | "outDir": "./dist",
8 | "incremental": true,
9 | "tsBuildInfoFile": "./dist/.tsbuildinfo.json",
10 | "strictPropertyInitialization": false,
11 | "experimentalDecorators": true,
12 | "emitDecoratorMetadata": true
13 | },
14 | "references": [
15 | {
16 | "path": "../packages/@notionx/client"
17 | }
18 | ],
19 | "include": ["./src"]
20 | }
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "build": "turbo run build",
5 | "dev": "turbo run dev",
6 | "lint": "turbo run lint",
7 | "lint:fix": "turbo run lint:fix",
8 | "test": "turbo run test",
9 | "format": "prettier --write \"**/*.{ts,tsx,md}\""
10 | },
11 | "devDependencies": {
12 | "eslint": "^7.32.0",
13 | "eslint-config-notionx": "*",
14 | "prettier": "^2.5.1",
15 | "turbo": "^1.9.3"
16 | },
17 | "name": "notionx",
18 | "packageManager": "yarn@3.5.1",
19 | "workspaces": [
20 | "packages/**",
21 | "example"
22 | ]
23 | }
--------------------------------------------------------------------------------
/packages/@notionx/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@notionx/client",
3 | "version": "0.0.1",
4 | "main": "./dist/index.js",
5 | "types": "./dist/index.d.ts",
6 | "scripts": {
7 | "dev": "yarn build --watch",
8 | "build": "tsc --build",
9 | "lint": "eslint src/**/*.ts",
10 | "lint:fix": "yarn lint --fix"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/kerwanp/notionx",
15 | "directory": "packages/@notionx/client"
16 | },
17 | "publishConfig": {
18 | "access": "public"
19 | },
20 | "devDependencies": {
21 | "@types/lodash": "^4.14.194",
22 | "eslint": "^8.39.0",
23 | "tsconfig": "*",
24 | "type-fest": "^3.10.0",
25 | "typescript": "^5.0.4"
26 | },
27 | "dependencies": {
28 | "class-transformer": "^0.5.1",
29 | "lodash": "^4.17.21",
30 | "p-queue": "^6.6.2",
31 | "p-retry": "^4.6.2",
32 | "reflect-metadata": "^0.1.13",
33 | "sanitize-html": "^2.10.0"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/contants.ts:
--------------------------------------------------------------------------------
1 | import { BooleanFilter } from './properties/boolean';
2 | import { DateFilter } from './properties/date';
3 | import { FileFilter } from './properties/file';
4 | import { MultiSelectFilter } from './properties/multi-select';
5 | import { NumberFilter } from './properties/number';
6 | import { PeopleFilter } from './properties/people';
7 | import { RichTextFilter } from './properties/rich-text';
8 | import { SelectFilter } from './properties/select';
9 | export const FILTER_CLASSES_MAPPING = {
10 | checkbox: BooleanFilter,
11 | rich_text: RichTextFilter,
12 | email: RichTextFilter,
13 | number: NumberFilter,
14 | created_by: PeopleFilter,
15 | created_time: DateFilter,
16 | date: DateFilter,
17 | files: FileFilter,
18 | formula: RichTextFilter, // TODO
19 | last_edited_by: PeopleFilter,
20 | last_edited_time: DateFilter,
21 | multi_select: MultiSelectFilter,
22 | people: PeopleFilter,
23 | phone_number: RichTextFilter,
24 | relation: RichTextFilter,
25 | rollup: RichTextFilter, // TODO
26 | select: SelectFilter,
27 | status: SelectFilter,
28 | title: RichTextFilter,
29 | };
30 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/database-property.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | import { PropertyType } from '../types/properties';
4 |
5 | export class DatabaseProperty {
6 | /**
7 | * An identifier for the property, usually a short string of random letters and symbols.
8 | *
9 | * @example "fy:{"
10 | */
11 | @Expose()
12 | id: string;
13 |
14 | /**
15 | * The name of the property as it appears in Notion.
16 | *
17 | * @example "Status"
18 | */
19 | @Expose()
20 | name: string;
21 |
22 | /**
23 | * The type that controls the behavior of the property.
24 | *
25 | * @example "rich_text"
26 | */
27 | @Expose()
28 | type: PropertyType;
29 | }
30 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/database.ts:
--------------------------------------------------------------------------------
1 | import { Expose, Type } from 'class-transformer';
2 |
3 | export class Database {
4 | /**
5 | * Unique identifier for the database.
6 | *
7 | * @example "2f26ee68-df30-4251-aad4-8ddc420cba3d"
8 | */
9 | @Expose()
10 | id: string;
11 |
12 | /**
13 | * The URL of the Notion database.
14 | */
15 | @Expose()
16 | url: string;
17 |
18 | /**
19 | * Information about the database's parent
20 | */
21 | @Expose()
22 | parent: any; // TODO
23 |
24 | /**
25 | * Name of the database as it appears in Notion.
26 | */
27 | @Expose()
28 | title: any; // TODO
29 |
30 | /**
31 | * Description of the database as it appears in Notion.
32 | */
33 | @Expose()
34 | description: any; // TODO
35 |
36 | /**
37 | * Page icon.
38 | */
39 | @Expose()
40 | icon: any; // TODO
41 |
42 | /**
43 | * Page cover image.
44 | */
45 | @Expose()
46 | cover: any; // TODO
47 |
48 | /**
49 | * The archived status of the database.
50 | *
51 | * @example false
52 | */
53 | @Expose()
54 | archived: boolean;
55 |
56 | /**
57 | * Has the value `true` if the database appears in the page as an inline block.
58 | * Otherwise has the value `false` if the database appears as a child page.
59 | *
60 | * @example false
61 | */
62 | @Expose({ name: 'is_inline' })
63 | isInline: boolean;
64 |
65 | /**
66 | * User who last edited the database.
67 | */
68 | @Expose({ name: 'last_edited_by' })
69 | lastEditedBy: any;
70 |
71 | /**
72 | * Date and time when this database was updated.
73 | *
74 | * @example "2020-03-17T21:49:37.913Z"
75 | */
76 | @Type(() => Date)
77 | @Expose({ name: 'last_edited_time' })
78 | lastEditedTime: Date;
79 |
80 | /**
81 | * User who created the database.
82 | */
83 | @Expose({ name: 'created_by' })
84 | createdBy: any;
85 |
86 | /**
87 | * Date and time when this database was created.
88 | *
89 | * @example "2020-03-17T19:10:04.968Z"
90 | */
91 | @Type(() => Date)
92 | @Expose({ name: 'created_time' })
93 | createdTime: Date;
94 | }
95 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/page.ts:
--------------------------------------------------------------------------------
1 | import { Expose, Type } from 'class-transformer';
2 |
3 | import { Client } from '../client';
4 |
5 | export class Page {
6 | client: Client;
7 |
8 | /**
9 | * Unique identifier of the page.
10 | * @example "45ee8d13-687b-47ce-a5ca-6e2e45548c4b"
11 | */
12 | @Expose()
13 | id: string;
14 |
15 | /**
16 | * The URL of the Notion page.
17 | *
18 | * @example "https://www.notion.so/Avocado-d093f1d200464ce78b36e58a3f0d8043"
19 | */
20 | @Expose()
21 | url: string;
22 |
23 | /**
24 | * Information about the page's parent.
25 | *
26 | * @example TODO
27 | */
28 | @Expose()
29 | parent: any; // TODO
30 |
31 | /**
32 | * Page icon.
33 | *
34 | * @example TODO
35 | */
36 | @Expose()
37 | icon: any; // TODO
38 |
39 | /**
40 | * Page cover image.
41 | *
42 | * @example TODO
43 | */
44 | @Expose()
45 | cover: any; // TODO
46 |
47 | /**
48 | * The archived status of the page.
49 | *
50 | * @example false
51 | */
52 | @Expose()
53 | archived: boolean;
54 |
55 | /**
56 | * User who last edited the page.
57 | */
58 | @Expose({ name: 'last_edited_by' })
59 | lastEditedBy: any; // TODO
60 |
61 | /**
62 | * Date and time when this page was updated.
63 | *
64 | * @example 2023-03-08T18:25:00.000Z
65 | */
66 | @Type(() => Date)
67 | @Expose({ name: 'last_edited_time' })
68 | lastEditedTime: Date;
69 |
70 | /**
71 | * User who created the page.
72 | */
73 | @Expose({ name: 'created_by' })
74 | createdBy: any; // TODO
75 |
76 | /**
77 | * Date and time when this page was created.
78 | *
79 | * @example 2023-03-08T18:25:00.000Z
80 | */
81 | @Type(() => Date)
82 | @Expose({ name: 'created_time' })
83 | createdTime: Date;
84 |
85 | content() {
86 | return this.client.request(`/blocks/${this.id}/children`);
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/boolean.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | export class BooleanFilter {
4 | /**
5 | * Returns or excludes all database entries with an exact value match.
6 | *
7 | * @example false
8 | */
9 | @Expose()
10 | equals: boolean;
11 |
12 | /**
13 | * Returns or excludes all database entries with a difference in values.
14 | *
15 | * @example true
16 | */
17 | @Expose({ name: 'does_not_equal' })
18 | doesNotEqual: boolean;
19 | }
20 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/date.ts:
--------------------------------------------------------------------------------
1 | import { Expose, Transform, Type } from 'class-transformer';
2 |
3 | export class DateFilter {
4 | /**
5 | * Returns database entries where the date property value is after the provided date.
6 | *
7 | * @example "2021-05-10" "2021-05-10T12:00:00" "2021-10-15T12:00:00-07:00"
8 | */
9 | @Expose()
10 | @Type(() => Date)
11 | after: string;
12 |
13 | /**
14 | * Returns database entries where the date property value is before the provided date.
15 | *
16 | * @example "2021-05-10" "2021-05-10T12:00:00" "2021-10-15T12:00:00-07:00"
17 | */
18 | @Expose()
19 | @Type(() => Date)
20 | before: string;
21 |
22 | /**
23 | * Returns database entries where the date property value is the provided date.
24 | *
25 | * @example "2021-05-10" "2021-05-10T12:00:00" "2021-10-15T12:00:00-07:00"
26 | */
27 | @Expose()
28 | equals: string;
29 |
30 | /**
31 | * Returns database entries where the date property value contains no data.
32 | */
33 | @Expose({ name: 'is_empty' })
34 | isEmpty: true;
35 |
36 | /**
37 | * Returns database entries where the date property value is not empty.
38 | */
39 | @Expose({ name: 'is_not_empty' })
40 | isNotEmpty: true;
41 |
42 | /**
43 | * A filter that limits the results to database entries where the date property value is within the next month.
44 | */
45 | @Expose({ name: 'next_month' })
46 | @Transform(() => ({}), { toPlainOnly: true })
47 | nextMonth: true;
48 |
49 | /**
50 | * A filter that limits the results to database entries where the date property value is within the next week.
51 | */
52 | @Expose({ name: 'next_week' })
53 | @Transform(() => ({}), { toPlainOnly: true })
54 | nextWeek: true;
55 |
56 | /**
57 | * A filter that limits the results to database entries where the date property value is within the next year.
58 | */
59 | @Expose({ name: 'next_year' })
60 | @Transform(() => ({}), { toPlainOnly: true })
61 | nextYear: true;
62 |
63 | /**
64 | * A filter that limits the results to database entries where the date property value is within the next week.
65 | *
66 | * @example "2021-05-10" "2021-05-10T12:00:00" "2021-10-15T12:00:00-07:00"
67 | */
68 | @Expose({ name: 'on_or_after' })
69 | onOrAfter: string;
70 |
71 | /**
72 | * A filter that limits the results to database entries where the date property value is within the past month.
73 | */
74 | @Expose({ name: 'past_month' })
75 | @Transform(() => ({}), { toPlainOnly: true })
76 | pastMonth: true;
77 |
78 | /**
79 | * A filter that limits the results to database entries where the date property value is within the past week.
80 | */
81 | @Expose({ name: 'past_week' })
82 | @Transform(() => ({}), { toPlainOnly: true })
83 | pastWeek: true;
84 |
85 | /**
86 | * A filter that limits the results to database entries where the date property value is within the past year.
87 | */
88 | @Expose({ name: 'past_year' })
89 | @Transform(() => ({}), { toPlainOnly: true })
90 | pastYear: true;
91 |
92 | /**
93 | * A filter that limits the results to database entries where the date property value is this week.
94 | */
95 | @Expose({ name: 'this_week' })
96 | @Transform(() => ({}), { toPlainOnly: true })
97 | thisWeek: true;
98 | }
99 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/file.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | export class FileFilter {
4 | /**
5 | * Returns all database entries with an empty files property value.
6 | */
7 | @Expose({ name: 'is_empty' })
8 | isEmpty: true;
9 |
10 | /**
11 | * Returns all entries with a populated files property value.
12 | */
13 | @Expose({ name: 'is_not_empty' })
14 | isNotEmpty: true;
15 | }
16 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/multi-select.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | // TODO: Use unions
4 | export class MultiSelectFilter {
5 | /**
6 | * Returns database entries where the multi-select value contains the provided string.
7 | *
8 | * @example "Marketing"
9 | */
10 | @Expose()
11 | contains: string;
12 |
13 | /**
14 | * Returns database entries where the multi-select value does not contain the provided string.
15 | *
16 | * @example "Engineering"
17 | */
18 | @Expose({ name: 'does_not_contain' })
19 | doesNotContain: string;
20 |
21 | /**
22 | * Returns database entries where the multi-select value does not contain any data.
23 | */
24 | @Expose({ name: 'is_empty' })
25 | isEmpty: true;
26 |
27 | /**
28 | * Returns database entries where the multi-select value does contains data.
29 | */
30 | @Expose({ name: 'is_not_empty' })
31 | isNotEmpty: true;
32 | }
33 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/number.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | export class NumberFilter {
4 | /**
5 | * Returns database entries where the number property value differs from the provided number.
6 | */
7 | @Expose({ name: 'does_not_equal' })
8 | doesNotEqual: number;
9 |
10 | /**
11 | * Returns database entries where the number property value is the same as the provided number.
12 | */
13 | @Expose()
14 | equals: number;
15 |
16 | /**
17 | * Returns database entries where the number property value exceeds the provided number.
18 | */
19 | @Expose({ name: 'greater_than' })
20 | greaterThan: number;
21 |
22 | /**
23 | * Returns database entries where the number property value is equal to or exceeds the provided number.
24 | */
25 | @Expose({ name: 'greater_than_or_equal_to' })
26 | greaterThanOrEqualTo: number;
27 |
28 | /**
29 | * Returns database entries where the number property value does not contain any data.
30 | */
31 | @Expose({ name: 'is_empty' })
32 | isEmpty: true;
33 |
34 | /**
35 | * Returns database entries where the number property value contains data.
36 | */
37 | @Expose({ name: 'is_not_empty' })
38 | isNotEmpty: true;
39 |
40 | /**
41 | * Returns database entries where the page property value is less than the provided number.
42 | */
43 | @Expose({ name: 'less_than' })
44 | lessThan: number;
45 |
46 | /**
47 | * Returns database entries where the page property value is equal to or is less than the provided number.
48 | */
49 | @Expose({ name: 'less_than_or_equal_to' })
50 | lessThanOrEqualTo: number;
51 | }
52 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/people.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | export class PeopleFilter {
4 | /**
5 | * Returns database entries where the people property value contains the provided string.
6 | *
7 | * @example "6c574cee-ca68-41c8-86e0-1b9e992689fb"
8 | */
9 | @Expose()
10 | contains: string;
11 |
12 | /**
13 | * Returns database entries where the people property value does not contain the provided string.
14 | *
15 | * @example "6c574cee-ca68-41c8-86e0-1b9e992689fb"
16 | */
17 | @Expose()
18 | doesNotContain: string;
19 |
20 | /**
21 | * Returns database entries where the people property value does not contain any data.
22 | */
23 | @Expose({ name: 'is_empty' })
24 | isEmpty: true;
25 |
26 | /**
27 | * Returns database entries where the people property value is not empty.
28 | */
29 | @Expose({ name: 'is_not_empty' })
30 | isNotEmpty: true;
31 | }
32 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/relation.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | // TODO: Relation system
4 | export class RelationFilter {
5 | /**
6 | * Returns database entries where the relation property value contains the provided string.
7 | *
8 | * @example "6c574cee-ca68-41c8-86e0-1b9e992689fb"
9 | */
10 | @Expose()
11 | contains: string;
12 |
13 | /**
14 | * Returns entries where the relation property value does not contain the provided string.
15 | *
16 | * @example "6c574cee-ca68-41c8-86e0-1b9e992689fb"
17 | */
18 | @Expose({ name: 'does_not_contain' })
19 | doesNotContain: string;
20 |
21 | /**
22 | * Returns database entries where the relation property value does not contain any data.
23 | */
24 | @Expose({ name: 'is_empty' })
25 | isEmpty: true;
26 |
27 | /**
28 | * Returns database entries where the property value is not empty.
29 | */
30 | @Expose({ name: 'is_not_empty' })
31 | isNotEmpty: true;
32 | }
33 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/rich-text.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | export class RichTextFilter {
4 | /**
5 | * Returns database entries with a text property value that includes the provided string.
6 | *
7 | * @example "Move to Q2"
8 | */
9 | @Expose()
10 | contains: string;
11 |
12 | /**
13 | * Returns database entries with a text property value that does not include the provided string.
14 | *
15 | * @example "Move to Q2"
16 | */
17 | @Expose({ name: 'does_not_contain ' })
18 | doesNotContain: string;
19 |
20 | /**
21 | * Returns database entries with a text property value that does not match the provided string.
22 | *
23 | * @example "Move to Q2"
24 | */
25 | @Expose({ name: 'does_not_equal' })
26 | doesNotEqual: string;
27 |
28 | /**
29 | * Returns database entries with a text property value that ends with the provided string.
30 | *
31 | * @example "Move to Q2"
32 | */
33 | @Expose({ name: 'ends_with' })
34 | endsWith: string;
35 |
36 | /**
37 | * Returns database entries with a text property value that matches the provided string.
38 | *
39 | * @example "Move to Q2"
40 | */
41 | @Expose()
42 | equals: string;
43 |
44 | /**
45 | * Returns database entries with a text property value that is empty.
46 | */
47 | @Expose({ name: 'is_empty' })
48 | isEmpty: true;
49 |
50 | /**
51 | * Returns database entries with a text property value that contains data.
52 | */
53 | @Expose({ name: 'is_not_empty' })
54 | isNotEmpty: true;
55 |
56 | /**
57 | * Returns database entries with a text property value that starts with the provided string.
58 | *
59 | * @example "Move to Q2"
60 | */
61 | @Expose({ name: 'starts_with' })
62 | startsWith: string;
63 | }
64 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/select.ts:
--------------------------------------------------------------------------------
1 | import { Expose } from 'class-transformer';
2 |
3 | // TODO: Use unions
4 | export class SelectFilter {
5 | /**
6 | * Returns database entries where the select property value matches the provided string.
7 | *
8 | * @examplee "This week"
9 | */
10 | @Expose()
11 | equals: string;
12 |
13 | /**
14 | * Returns database entries where the select property value does not match the provided string.
15 | *
16 | * @example "Backlog"
17 | */
18 | @Expose({ name: 'does_not_equal' })
19 | doesNotEqual: string;
20 |
21 | /**
22 | * Returns database entries where the select property value is empty.
23 | */
24 | @Expose({ name: 'is_empty' })
25 | isEmpty: true;
26 |
27 | /**
28 | * Returns database entries where the select property value is not empty.
29 | */
30 | @Expose({ name: 'is_not_empty' })
31 | isNotEmpty: true;
32 | }
33 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/classes/properties/timestamp.ts:
--------------------------------------------------------------------------------
1 | // TODO: https://developers.notion.com/reference/post-database-query-filter#timestamp
2 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/client.ts:
--------------------------------------------------------------------------------
1 | import { plainToInstance } from 'class-transformer';
2 | import PQueue from 'p-queue';
3 | import pRetry, { AbortError } from 'p-retry';
4 |
5 | import { Database } from './classes/database';
6 | import { normalizeDatabaseSchema } from './helpers/normalize-database-schema';
7 | import { normalizeFilters } from './helpers/normalize-filters';
8 | import { normalizeSorts } from './helpers/normalize-sorts';
9 | import { deserializePage } from './helpers/serialize';
10 | import { DatabaseSchema, QueryOptions } from './types/database';
11 | import { PageWithProperties } from './types/page';
12 |
13 | export type ClientOptions = {
14 | /**
15 | * Authentication token.
16 | * Can be an Internal Integration Token, Public Integration Token or Access Token.
17 | *
18 | * @example "secret_DiLCPjimH8oFAF5KcMFYC3Memobo3RxByoiYPqdEimH"
19 | */
20 | auth: string;
21 |
22 | /**
23 | * Notion API Url.
24 | *
25 | * @default https://api.notion.com
26 | */
27 | apiUrl?: string;
28 |
29 | /**
30 | * Notion API Version.
31 | *
32 | * @default v1
33 | */
34 | apiVersion?: 'v1';
35 |
36 | /**
37 | * Notion version.
38 | *
39 | * @example 2022-06-28
40 | */
41 | notionVersion?: '2022-06-28';
42 | };
43 |
44 | export class Client {
45 | queue: PQueue;
46 |
47 | constructor(private options: ClientOptions) {
48 | this.queue = new PQueue({ interval: 100, intervalCap: 4 });
49 | }
50 |
51 | async database(id: string): Promise {
52 | const response = await this.request(`/databases/${id}`);
53 | return plainToInstance(Database, response, {
54 | excludeExtraneousValues: true,
55 | });
56 | }
57 |
58 | async queryDatabase(
59 | databaseId: string,
60 | schema: S,
61 | options?: QueryOptions
62 | ): Promise[]> {
63 | const normalizedShema = normalizeDatabaseSchema(schema);
64 | const normalizedFilters = normalizeFilters(
65 | normalizedShema,
66 | options?.filter
67 | );
68 | const normalizedSorts = normalizeSorts(normalizedShema, options?.sorts);
69 |
70 | const { results } = await this.request(`/databases/${databaseId}/query`, {
71 | method: 'POST',
72 | body: JSON.stringify({
73 | filter: normalizedFilters,
74 | sorts: normalizedSorts,
75 | }),
76 | });
77 |
78 | return results.map((result: any) =>
79 | deserializePage(this, normalizedShema, result)
80 | );
81 | }
82 |
83 | async page(
84 | pageId: string,
85 | schema: S
86 | ): Promise> {
87 | const normalizedSchema = normalizeDatabaseSchema(schema);
88 | const result = await this.request(`/pages/${pageId}`);
89 | return deserializePage(this, normalizedSchema, result);
90 | }
91 |
92 | /**
93 | * Request the Notion API.
94 | * Include a queuing and retrying system to respect Rate Limiting.
95 | */
96 | request(path: string, init?: RequestInit) {
97 | return this.queue.add(() =>
98 | pRetry(
99 | async () => {
100 | const response = await fetch(
101 | `${this.options.apiUrl ?? 'https://api.notion.com'}/${
102 | this.options.apiVersion ?? 'v1'
103 | }${path}`,
104 | {
105 | ...init,
106 | headers: {
107 | 'Content-Type': 'application/json',
108 | Authorization: `Bearer ${this.options.auth}`,
109 | 'Notion-Version': this.options.notionVersion ?? '2022-06-28',
110 | },
111 | }
112 | );
113 |
114 | if (!response.ok) {
115 | /**
116 | * TODO: Add retryable errors
117 | */
118 | if ([0].includes(response.status)) {
119 | throw new Error('TODO');
120 | }
121 |
122 | throw new AbortError(await response.text());
123 | }
124 |
125 | return response.json();
126 | },
127 | {
128 | retries: 5,
129 | onFailedAttempt: async () =>
130 | new Promise((res) => setTimeout(res, 1000)),
131 | }
132 | )
133 | ) as Promise;
134 | }
135 | }
136 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/helpers/normalize-database-schema.ts:
--------------------------------------------------------------------------------
1 | import { mapValues } from 'lodash';
2 |
3 | import { DatabaseSchema, NormalizeDatabaseSchema } from '../types/database';
4 |
5 | export function normalizeDatabaseSchema(
6 | schema: S
7 | ): NormalizeDatabaseSchema {
8 | return mapValues(schema, (v, key) =>
9 | typeof v === 'string' ? { name: key, type: v } : v
10 | ) as NormalizeDatabaseSchema;
11 | }
12 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/helpers/normalize-filters.ts:
--------------------------------------------------------------------------------
1 | import { instanceToPlain } from 'class-transformer';
2 | import { entries } from 'lodash';
3 |
4 | import { DatabaseSchema, NormalizeDatabaseSchema } from '../types/database';
5 | import { Filter } from '../types/filters';
6 |
7 | export function normalizeFilters(
8 | schema: NormalizeDatabaseSchema,
9 | filters: Filter[] = [],
10 | root = true
11 | ): Record {
12 | if (!filters) return [];
13 |
14 | const output: any[] = [];
15 |
16 | for (const f of filters) {
17 | for (const [key, filter] of entries(f)) {
18 | if (!filter) continue; // TODO: Check why type says it can be undefined
19 |
20 | if (['or', 'and'].includes(key)) {
21 | output.push({
22 | [key]: normalizeFilters(
23 | schema,
24 | filter as unknown as Filter[],
25 | false
26 | ), // TODO: Check why typing is wrong
27 | });
28 | } else {
29 | const property = schema[key];
30 | output.push({
31 | property: 'name' in property ? property.name : property.id,
32 | [property.type]: instanceToPlain(filter),
33 | });
34 | }
35 | }
36 | }
37 |
38 | if (root) {
39 | return output.length > 1 ? { and: output } : output[0];
40 | }
41 |
42 | return output;
43 | }
44 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/helpers/normalize-sorts.ts:
--------------------------------------------------------------------------------
1 | import { entries } from 'lodash';
2 |
3 | import { DatabaseSchema, NormalizeDatabaseSchema } from '../types/database';
4 | import { SortDirection, Sorts } from '../types/sort';
5 |
6 | export function normalizeSorts(
7 | schema: NormalizeDatabaseSchema,
8 | sorts?: Sorts
9 | ): { property: string; direction: SortDirection }[] {
10 | return sorts
11 | ? entries(sorts).map(([key, direction]) => {
12 | const property = schema[key];
13 | return {
14 | property: 'id' in property ? property.id : property.name,
15 | direction: direction!,
16 | };
17 | })
18 | : [];
19 | }
20 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/helpers/serialize.ts:
--------------------------------------------------------------------------------
1 | import { ClassConstructor, plainToInstance } from 'class-transformer';
2 | import { entries } from 'lodash';
3 |
4 | import { Page } from '../classes/page';
5 | import { Client } from '../client';
6 | import { DatabaseSchema, NormalizeDatabaseSchema } from '../types/database';
7 | import { PageWithProperties } from '../types/page';
8 |
9 | export function deserialize(
10 | client: Client,
11 | cls: ClassConstructor,
12 | plain: V[]
13 | ): T[];
14 | export function deserialize(
15 | client: Client,
16 | cls: ClassConstructor,
17 | plain: V
18 | ): T {
19 | const instance = plainToInstance(cls, plain);
20 | instance.client = client;
21 | return instance;
22 | }
23 |
24 | export function deserializePage(
25 | client: Client,
26 | schema: NormalizeDatabaseSchema,
27 | data: any
28 | ): PageWithProperties {
29 | const page = deserialize(client, Page, data) as any;
30 |
31 | for (const [key, config] of entries(schema)) {
32 | let property;
33 | if ('name' in config) {
34 | property = data.properties[config.name];
35 | } else {
36 | property = Object.values(data.properties).find(
37 | (p: any) => p.id === config.id
38 | ) as any;
39 | }
40 |
41 | if (!property)
42 | throw new Error(`Property "${key}" does not exist in the database"`);
43 |
44 | page[key] = property[config.type];
45 | }
46 |
47 | return page;
48 | }
49 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/index.ts:
--------------------------------------------------------------------------------
1 | import 'reflect-metadata';
2 |
3 | export * from './client';
4 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/types/database.ts:
--------------------------------------------------------------------------------
1 | import { Filter } from './filters';
2 | import { PropertyType } from './properties';
3 | import { Sorts } from './sort';
4 |
5 | export type DatabasePropertiesSchema = {
6 | [name: string]: PropertyType;
7 | };
8 |
9 | export type PropertyConfig =
10 | | (
11 | | {
12 | name: string;
13 | }
14 | | { id: string }
15 | ) & { type: PropertyType };
16 |
17 | export type DatabaseSchema = {
18 | [name: string]: PropertyType | PropertyConfig;
19 | };
20 |
21 | export type NormalizeDatabaseSchema = {
22 | [key in keyof S]: S[key] extends PropertyConfig
23 | ? S[key]
24 | : S[key] extends PropertyType
25 | ? { name: key; type: S[key] }
26 | : never;
27 | };
28 |
29 | export type ExtractPropertyConfigType =
30 | T extends PropertyType ? T : T extends PropertyConfig ? T['type'] : never;
31 |
32 | export type QueryOptions = {
33 | filter?: Filter[];
34 | sorts?: Sorts;
35 | };
36 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/types/filters.ts:
--------------------------------------------------------------------------------
1 | import { Jsonify, RequireExactlyOne } from 'type-fest';
2 |
3 | import { FILTER_CLASSES_MAPPING } from '../classes/contants';
4 | import { DatabaseSchema, NormalizeDatabaseSchema } from './database';
5 | import { PropertyType } from './properties';
6 |
7 | export type PropertyFilter =
8 | T extends keyof typeof FILTER_CLASSES_MAPPING
9 | ? (typeof FILTER_CLASSES_MAPPING)[T]['prototype']
10 | : never;
11 |
12 | export type Filter = RequireExactlyOne<
13 | { or: Filter[]; and: Filter[] } & {
14 | [key in keyof NormalizeDatabaseSchema]: RequireExactlyOne<
15 | Jsonify[key]['type']>>
16 | >;
17 | }
18 | >;
19 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/types/page.ts:
--------------------------------------------------------------------------------
1 | import { Page } from '../classes/page';
2 | import { DatabaseSchema, ExtractPropertyConfigType } from './database';
3 | import { PropertyValue } from './properties';
4 |
5 | export type PageWithProperties = Page & {
6 | [key in keyof T]: PropertyValue>;
7 | };
8 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/types/properties.ts:
--------------------------------------------------------------------------------
1 | export type PropertyType =
2 | | 'checkbox'
3 | | 'created_by'
4 | | 'created_time'
5 | | 'date'
6 | | 'email'
7 | | 'files'
8 | | 'formula'
9 | | 'last_edited_by'
10 | | 'last_edited_time'
11 | | 'multi_select'
12 | | 'number'
13 | | 'people'
14 | | 'phone_number'
15 | | 'relation'
16 | | 'rollup'
17 | | 'rich_text'
18 | | 'select'
19 | | 'status'
20 | | 'title';
21 |
22 | export type PropertyValueMapping = {
23 | checkbox: boolean;
24 | };
25 |
26 | export type PropertyValue =
27 | T extends keyof PropertyValueMapping ? PropertyValueMapping[T] : never;
28 |
--------------------------------------------------------------------------------
/packages/@notionx/client/src/types/sort.ts:
--------------------------------------------------------------------------------
1 | import { DatabaseSchema, NormalizeDatabaseSchema } from './database';
2 |
3 | export type SortDirection = 'ascending' | 'descending';
4 |
5 | export type Sorts = {
6 | [key in keyof NormalizeDatabaseSchema]?: SortDirection;
7 | };
8 |
--------------------------------------------------------------------------------
/packages/@notionx/client/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "tsconfig/base.json",
3 | "compilerOptions": {
4 | "module": "CommonJS",
5 | "rootDir": "./src",
6 | "outDir": "./dist",
7 | "sourceMap": true,
8 | "incremental": true,
9 | "composite": true,
10 | "tsBuildInfoFile": "./dist/.tsbuildinfo.json",
11 | "strictPropertyInitialization": false,
12 | "experimentalDecorators": true,
13 | "emitDecoratorMetadata": true
14 | },
15 | "include": ["./src"]
16 | }
17 |
--------------------------------------------------------------------------------
/packages/eslint/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: [
3 | 'turbo',
4 | 'eslint:recommended',
5 | 'plugin:@typescript-eslint/recommended',
6 | ],
7 | parser: '@typescript-eslint/parser',
8 | plugins: [
9 | '@typescript-eslint',
10 | 'prettier',
11 | 'import',
12 | 'simple-import-sort',
13 | 'unused-imports',
14 | ],
15 | rules: {
16 | 'prettier/prettier': 'error',
17 | 'simple-import-sort/imports': 'error',
18 | 'simple-import-sort/exports': 'error',
19 | 'import/no-extraneous-dependencies': 'error',
20 | 'unused-imports/no-unused-imports': 'error',
21 | },
22 | };
23 |
--------------------------------------------------------------------------------
/packages/eslint/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "eslint-config-notionx",
3 | "version": "0.0.0",
4 | "main": "index.js",
5 | "license": "MIT",
6 | "dependencies": {
7 | "@typescript-eslint/eslint-plugin": "^5.59.5",
8 | "@typescript-eslint/parser": "^5.59.5",
9 | "eslint": "^8.40.0",
10 | "eslint-config-turbo": "^1.9.3",
11 | "eslint-plugin-import": "^2.27.5",
12 | "eslint-plugin-prettier": "^4.2.1",
13 | "eslint-plugin-simple-import-sort": "^10.0.0",
14 | "eslint-plugin-turbo": "^1.9.4",
15 | "eslint-plugin-unused-imports": "^2.0.0",
16 | "typescript": "^5.0.4"
17 | },
18 | "publishConfig": {
19 | "access": "public"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tsconfig/base.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "display": "Default",
4 | "compilerOptions": {
5 | "composite": false,
6 | "declaration": true,
7 | "declarationMap": true,
8 | "esModuleInterop": true,
9 | "forceConsistentCasingInFileNames": true,
10 | "inlineSources": false,
11 | "isolatedModules": true,
12 | "moduleResolution": "node",
13 | "noUnusedLocals": false,
14 | "noUnusedParameters": false,
15 | "preserveWatchOutput": true,
16 | "skipLibCheck": true,
17 | "strict": true
18 | },
19 | "exclude": [
20 | "node_modules"
21 | ]
22 | }
--------------------------------------------------------------------------------
/packages/tsconfig/nextjs.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "display": "Next.js",
4 | "extends": "./base.json",
5 | "compilerOptions": {
6 | "plugins": [{ "name": "next" }],
7 | "allowJs": true,
8 | "declaration": false,
9 | "declarationMap": false,
10 | "incremental": true,
11 | "jsx": "preserve",
12 | "lib": ["dom", "dom.iterable", "esnext"],
13 | "module": "esnext",
14 | "noEmit": true,
15 | "resolveJsonModule": true,
16 | "strict": false,
17 | "target": "es5"
18 | },
19 | "include": ["src", "next-env.d.ts"],
20 | "exclude": ["node_modules"]
21 | }
22 |
--------------------------------------------------------------------------------
/packages/tsconfig/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tsconfig",
3 | "version": "0.0.0",
4 | "private": true,
5 | "license": "MIT",
6 | "publishConfig": {
7 | "access": "public"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/packages/tsconfig/react-library.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "display": "React Library",
4 | "extends": "./base.json",
5 | "compilerOptions": {
6 | "jsx": "react-jsx",
7 | "lib": ["ES2015", "DOM"],
8 | "module": "ESNext",
9 | "target": "es6"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/turbo.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://turbo.build/schema.json",
3 | "globalDependencies": [
4 | "**/.env.*local"
5 | ],
6 | "globalEnv": [
7 | "NOTION_TOKEN"
8 | ],
9 | "pipeline": {
10 | "build": {
11 | "dependsOn": [
12 | "^build"
13 | ],
14 | "outputs": [
15 | "dist/**"
16 | ]
17 | },
18 | "lint": {},
19 | "lint:fix": {},
20 | "test": {},
21 | "dev": {
22 | "cache": false,
23 | "persistent": true
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.12.11":
6 | version "7.12.11"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
9 | dependencies:
10 | "@babel/highlight" "^7.10.4"
11 |
12 | "@babel/helper-validator-identifier@^7.18.6":
13 | version "7.19.1"
14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
15 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
16 |
17 | "@babel/highlight@^7.10.4":
18 | version "7.18.6"
19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
20 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
21 | dependencies:
22 | "@babel/helper-validator-identifier" "^7.18.6"
23 | chalk "^2.0.0"
24 | js-tokens "^4.0.0"
25 |
26 | "@eslint-community/eslint-utils@^4.2.0":
27 | version "4.4.0"
28 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
29 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
30 | dependencies:
31 | eslint-visitor-keys "^3.3.0"
32 |
33 | "@eslint-community/regexpp@^4.4.0":
34 | version "4.5.1"
35 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
36 | integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
37 |
38 | "@eslint/eslintrc@^0.4.3":
39 | version "0.4.3"
40 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
41 | integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
42 | dependencies:
43 | ajv "^6.12.4"
44 | debug "^4.1.1"
45 | espree "^7.3.0"
46 | globals "^13.9.0"
47 | ignore "^4.0.6"
48 | import-fresh "^3.2.1"
49 | js-yaml "^3.13.1"
50 | minimatch "^3.0.4"
51 | strip-json-comments "^3.1.1"
52 |
53 | "@eslint/eslintrc@^2.0.3":
54 | version "2.0.3"
55 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
56 | integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
57 | dependencies:
58 | ajv "^6.12.4"
59 | debug "^4.3.2"
60 | espree "^9.5.2"
61 | globals "^13.19.0"
62 | ignore "^5.2.0"
63 | import-fresh "^3.2.1"
64 | js-yaml "^4.1.0"
65 | minimatch "^3.1.2"
66 | strip-json-comments "^3.1.1"
67 |
68 | "@eslint/js@8.40.0":
69 | version "8.40.0"
70 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec"
71 | integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==
72 |
73 | "@humanwhocodes/config-array@^0.11.8":
74 | version "0.11.8"
75 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
76 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
77 | dependencies:
78 | "@humanwhocodes/object-schema" "^1.2.1"
79 | debug "^4.1.1"
80 | minimatch "^3.0.5"
81 |
82 | "@humanwhocodes/config-array@^0.5.0":
83 | version "0.5.0"
84 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
85 | integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
86 | dependencies:
87 | "@humanwhocodes/object-schema" "^1.2.0"
88 | debug "^4.1.1"
89 | minimatch "^3.0.4"
90 |
91 | "@humanwhocodes/module-importer@^1.0.1":
92 | version "1.0.1"
93 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
94 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
95 |
96 | "@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1":
97 | version "1.2.1"
98 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
99 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
100 |
101 | "@nodelib/fs.scandir@2.1.5":
102 | version "2.1.5"
103 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
104 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
105 | dependencies:
106 | "@nodelib/fs.stat" "2.0.5"
107 | run-parallel "^1.1.9"
108 |
109 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
110 | version "2.0.5"
111 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
112 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
113 |
114 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
115 | version "1.2.8"
116 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
117 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
118 | dependencies:
119 | "@nodelib/fs.scandir" "2.1.5"
120 | fastq "^1.6.0"
121 |
122 | "@types/json-schema@^7.0.9":
123 | version "7.0.11"
124 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
125 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
126 |
127 | "@types/json5@^0.0.29":
128 | version "0.0.29"
129 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
130 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
131 |
132 | "@types/lodash@^4.14.194":
133 | version "4.14.194"
134 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76"
135 | integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==
136 |
137 | "@types/retry@0.12.0":
138 | version "0.12.0"
139 | resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d"
140 | integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==
141 |
142 | "@types/semver@^7.3.12":
143 | version "7.5.0"
144 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
145 | integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
146 |
147 | "@typescript-eslint/eslint-plugin@^5.59.5":
148 | version "5.59.5"
149 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz#f156827610a3f8cefc56baeaa93cd4a5f32966b4"
150 | integrity sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==
151 | dependencies:
152 | "@eslint-community/regexpp" "^4.4.0"
153 | "@typescript-eslint/scope-manager" "5.59.5"
154 | "@typescript-eslint/type-utils" "5.59.5"
155 | "@typescript-eslint/utils" "5.59.5"
156 | debug "^4.3.4"
157 | grapheme-splitter "^1.0.4"
158 | ignore "^5.2.0"
159 | natural-compare-lite "^1.4.0"
160 | semver "^7.3.7"
161 | tsutils "^3.21.0"
162 |
163 | "@typescript-eslint/parser@^5.59.5":
164 | version "5.59.5"
165 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.5.tgz#63064f5eafbdbfb5f9dfbf5c4503cdf949852981"
166 | integrity sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw==
167 | dependencies:
168 | "@typescript-eslint/scope-manager" "5.59.5"
169 | "@typescript-eslint/types" "5.59.5"
170 | "@typescript-eslint/typescript-estree" "5.59.5"
171 | debug "^4.3.4"
172 |
173 | "@typescript-eslint/scope-manager@5.59.5":
174 | version "5.59.5"
175 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz#33ffc7e8663f42cfaac873de65ebf65d2bce674d"
176 | integrity sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==
177 | dependencies:
178 | "@typescript-eslint/types" "5.59.5"
179 | "@typescript-eslint/visitor-keys" "5.59.5"
180 |
181 | "@typescript-eslint/type-utils@5.59.5":
182 | version "5.59.5"
183 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz#485b0e2c5b923460bc2ea6b338c595343f06fc9b"
184 | integrity sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg==
185 | dependencies:
186 | "@typescript-eslint/typescript-estree" "5.59.5"
187 | "@typescript-eslint/utils" "5.59.5"
188 | debug "^4.3.4"
189 | tsutils "^3.21.0"
190 |
191 | "@typescript-eslint/types@5.59.5":
192 | version "5.59.5"
193 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.5.tgz#e63c5952532306d97c6ea432cee0981f6d2258c7"
194 | integrity sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==
195 |
196 | "@typescript-eslint/typescript-estree@5.59.5":
197 | version "5.59.5"
198 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz#9b252ce55dd765e972a7a2f99233c439c5101e42"
199 | integrity sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==
200 | dependencies:
201 | "@typescript-eslint/types" "5.59.5"
202 | "@typescript-eslint/visitor-keys" "5.59.5"
203 | debug "^4.3.4"
204 | globby "^11.1.0"
205 | is-glob "^4.0.3"
206 | semver "^7.3.7"
207 | tsutils "^3.21.0"
208 |
209 | "@typescript-eslint/utils@5.59.5":
210 | version "5.59.5"
211 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.5.tgz#15b3eb619bb223302e60413adb0accd29c32bcae"
212 | integrity sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==
213 | dependencies:
214 | "@eslint-community/eslint-utils" "^4.2.0"
215 | "@types/json-schema" "^7.0.9"
216 | "@types/semver" "^7.3.12"
217 | "@typescript-eslint/scope-manager" "5.59.5"
218 | "@typescript-eslint/types" "5.59.5"
219 | "@typescript-eslint/typescript-estree" "5.59.5"
220 | eslint-scope "^5.1.1"
221 | semver "^7.3.7"
222 |
223 | "@typescript-eslint/visitor-keys@5.59.5":
224 | version "5.59.5"
225 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz#ba5b8d6791a13cf9fea6716af1e7626434b29b9b"
226 | integrity sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==
227 | dependencies:
228 | "@typescript-eslint/types" "5.59.5"
229 | eslint-visitor-keys "^3.3.0"
230 |
231 | acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
232 | version "5.3.2"
233 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
234 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
235 |
236 | acorn@^7.4.0:
237 | version "7.4.1"
238 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
239 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
240 |
241 | acorn@^8.8.0:
242 | version "8.8.2"
243 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
244 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
245 |
246 | ajv@^6.10.0, ajv@^6.12.4:
247 | version "6.12.6"
248 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
249 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
250 | dependencies:
251 | fast-deep-equal "^3.1.1"
252 | fast-json-stable-stringify "^2.0.0"
253 | json-schema-traverse "^0.4.1"
254 | uri-js "^4.2.2"
255 |
256 | ajv@^8.0.1:
257 | version "8.12.0"
258 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
259 | integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
260 | dependencies:
261 | fast-deep-equal "^3.1.1"
262 | json-schema-traverse "^1.0.0"
263 | require-from-string "^2.0.2"
264 | uri-js "^4.2.2"
265 |
266 | ansi-colors@^4.1.1:
267 | version "4.1.3"
268 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
269 | integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==
270 |
271 | ansi-regex@^5.0.1:
272 | version "5.0.1"
273 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
274 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
275 |
276 | ansi-styles@^3.2.1:
277 | version "3.2.1"
278 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
279 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
280 | dependencies:
281 | color-convert "^1.9.0"
282 |
283 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
284 | version "4.3.0"
285 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
286 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
287 | dependencies:
288 | color-convert "^2.0.1"
289 |
290 | argparse@^1.0.7:
291 | version "1.0.10"
292 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
293 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
294 | dependencies:
295 | sprintf-js "~1.0.2"
296 |
297 | argparse@^2.0.1:
298 | version "2.0.1"
299 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
300 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
301 |
302 | array-buffer-byte-length@^1.0.0:
303 | version "1.0.0"
304 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
305 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
306 | dependencies:
307 | call-bind "^1.0.2"
308 | is-array-buffer "^3.0.1"
309 |
310 | array-includes@^3.1.6:
311 | version "3.1.6"
312 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
313 | integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
314 | dependencies:
315 | call-bind "^1.0.2"
316 | define-properties "^1.1.4"
317 | es-abstract "^1.20.4"
318 | get-intrinsic "^1.1.3"
319 | is-string "^1.0.7"
320 |
321 | array-union@^2.1.0:
322 | version "2.1.0"
323 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
324 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
325 |
326 | array.prototype.flat@^1.3.1:
327 | version "1.3.1"
328 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
329 | integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==
330 | dependencies:
331 | call-bind "^1.0.2"
332 | define-properties "^1.1.4"
333 | es-abstract "^1.20.4"
334 | es-shim-unscopables "^1.0.0"
335 |
336 | array.prototype.flatmap@^1.3.1:
337 | version "1.3.1"
338 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
339 | integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
340 | dependencies:
341 | call-bind "^1.0.2"
342 | define-properties "^1.1.4"
343 | es-abstract "^1.20.4"
344 | es-shim-unscopables "^1.0.0"
345 |
346 | astral-regex@^2.0.0:
347 | version "2.0.0"
348 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
349 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
350 |
351 | available-typed-arrays@^1.0.5:
352 | version "1.0.5"
353 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
354 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
355 |
356 | balanced-match@^1.0.0:
357 | version "1.0.2"
358 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
359 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
360 |
361 | brace-expansion@^1.1.7:
362 | version "1.1.11"
363 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
364 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
365 | dependencies:
366 | balanced-match "^1.0.0"
367 | concat-map "0.0.1"
368 |
369 | braces@^3.0.2:
370 | version "3.0.2"
371 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
372 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
373 | dependencies:
374 | fill-range "^7.0.1"
375 |
376 | call-bind@^1.0.0, call-bind@^1.0.2:
377 | version "1.0.2"
378 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
379 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
380 | dependencies:
381 | function-bind "^1.1.1"
382 | get-intrinsic "^1.0.2"
383 |
384 | callsites@^3.0.0:
385 | version "3.1.0"
386 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
387 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
388 |
389 | chalk@^2.0.0:
390 | version "2.4.2"
391 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
392 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
393 | dependencies:
394 | ansi-styles "^3.2.1"
395 | escape-string-regexp "^1.0.5"
396 | supports-color "^5.3.0"
397 |
398 | chalk@^4.0.0:
399 | version "4.1.2"
400 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
401 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
402 | dependencies:
403 | ansi-styles "^4.1.0"
404 | supports-color "^7.1.0"
405 |
406 | class-transformer@^0.5.1:
407 | version "0.5.1"
408 | resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336"
409 | integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==
410 |
411 | color-convert@^1.9.0:
412 | version "1.9.3"
413 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
414 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
415 | dependencies:
416 | color-name "1.1.3"
417 |
418 | color-convert@^2.0.1:
419 | version "2.0.1"
420 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
421 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
422 | dependencies:
423 | color-name "~1.1.4"
424 |
425 | color-name@1.1.3:
426 | version "1.1.3"
427 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
428 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
429 |
430 | color-name@~1.1.4:
431 | version "1.1.4"
432 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
433 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
434 |
435 | concat-map@0.0.1:
436 | version "0.0.1"
437 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
438 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
439 |
440 | cross-spawn@^7.0.2:
441 | version "7.0.3"
442 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
443 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
444 | dependencies:
445 | path-key "^3.1.0"
446 | shebang-command "^2.0.0"
447 | which "^2.0.1"
448 |
449 | debug@^3.2.7:
450 | version "3.2.7"
451 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
452 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
453 | dependencies:
454 | ms "^2.1.1"
455 |
456 | debug@^4.0.1, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
457 | version "4.3.4"
458 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
459 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
460 | dependencies:
461 | ms "2.1.2"
462 |
463 | deep-is@^0.1.3:
464 | version "0.1.4"
465 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
466 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
467 |
468 | deepmerge@^4.2.2:
469 | version "4.3.1"
470 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
471 | integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
472 |
473 | define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
474 | version "1.2.0"
475 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
476 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
477 | dependencies:
478 | has-property-descriptors "^1.0.0"
479 | object-keys "^1.1.1"
480 |
481 | dir-glob@^3.0.1:
482 | version "3.0.1"
483 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
484 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
485 | dependencies:
486 | path-type "^4.0.0"
487 |
488 | doctrine@^2.1.0:
489 | version "2.1.0"
490 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
491 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
492 | dependencies:
493 | esutils "^2.0.2"
494 |
495 | doctrine@^3.0.0:
496 | version "3.0.0"
497 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
498 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
499 | dependencies:
500 | esutils "^2.0.2"
501 |
502 | dom-serializer@^2.0.0:
503 | version "2.0.0"
504 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
505 | integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
506 | dependencies:
507 | domelementtype "^2.3.0"
508 | domhandler "^5.0.2"
509 | entities "^4.2.0"
510 |
511 | domelementtype@^2.3.0:
512 | version "2.3.0"
513 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
514 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
515 |
516 | domhandler@^5.0.2, domhandler@^5.0.3:
517 | version "5.0.3"
518 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
519 | integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
520 | dependencies:
521 | domelementtype "^2.3.0"
522 |
523 | domutils@^3.0.1:
524 | version "3.1.0"
525 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e"
526 | integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
527 | dependencies:
528 | dom-serializer "^2.0.0"
529 | domelementtype "^2.3.0"
530 | domhandler "^5.0.3"
531 |
532 | emoji-regex@^8.0.0:
533 | version "8.0.0"
534 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
535 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
536 |
537 | enquirer@^2.3.5:
538 | version "2.3.6"
539 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
540 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
541 | dependencies:
542 | ansi-colors "^4.1.1"
543 |
544 | entities@^4.2.0, entities@^4.4.0:
545 | version "4.5.0"
546 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
547 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
548 |
549 | es-abstract@^1.19.0, es-abstract@^1.20.4:
550 | version "1.21.2"
551 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff"
552 | integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==
553 | dependencies:
554 | array-buffer-byte-length "^1.0.0"
555 | available-typed-arrays "^1.0.5"
556 | call-bind "^1.0.2"
557 | es-set-tostringtag "^2.0.1"
558 | es-to-primitive "^1.2.1"
559 | function.prototype.name "^1.1.5"
560 | get-intrinsic "^1.2.0"
561 | get-symbol-description "^1.0.0"
562 | globalthis "^1.0.3"
563 | gopd "^1.0.1"
564 | has "^1.0.3"
565 | has-property-descriptors "^1.0.0"
566 | has-proto "^1.0.1"
567 | has-symbols "^1.0.3"
568 | internal-slot "^1.0.5"
569 | is-array-buffer "^3.0.2"
570 | is-callable "^1.2.7"
571 | is-negative-zero "^2.0.2"
572 | is-regex "^1.1.4"
573 | is-shared-array-buffer "^1.0.2"
574 | is-string "^1.0.7"
575 | is-typed-array "^1.1.10"
576 | is-weakref "^1.0.2"
577 | object-inspect "^1.12.3"
578 | object-keys "^1.1.1"
579 | object.assign "^4.1.4"
580 | regexp.prototype.flags "^1.4.3"
581 | safe-regex-test "^1.0.0"
582 | string.prototype.trim "^1.2.7"
583 | string.prototype.trimend "^1.0.6"
584 | string.prototype.trimstart "^1.0.6"
585 | typed-array-length "^1.0.4"
586 | unbox-primitive "^1.0.2"
587 | which-typed-array "^1.1.9"
588 |
589 | es-set-tostringtag@^2.0.1:
590 | version "2.0.1"
591 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
592 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
593 | dependencies:
594 | get-intrinsic "^1.1.3"
595 | has "^1.0.3"
596 | has-tostringtag "^1.0.0"
597 |
598 | es-shim-unscopables@^1.0.0:
599 | version "1.0.0"
600 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
601 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
602 | dependencies:
603 | has "^1.0.3"
604 |
605 | es-to-primitive@^1.2.1:
606 | version "1.2.1"
607 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
608 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
609 | dependencies:
610 | is-callable "^1.1.4"
611 | is-date-object "^1.0.1"
612 | is-symbol "^1.0.2"
613 |
614 | escape-string-regexp@^1.0.5:
615 | version "1.0.5"
616 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
617 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
618 |
619 | escape-string-regexp@^4.0.0:
620 | version "4.0.0"
621 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
622 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
623 |
624 | eslint-config-turbo@^1.9.3:
625 | version "1.9.4"
626 | resolved "https://registry.yarnpkg.com/eslint-config-turbo/-/eslint-config-turbo-1.9.4.tgz#7395c57b8219e536836e1b6b67e64648f7a0f642"
627 | integrity sha512-pB9Jg1Zn0Qo25LLxmvcMgjBmw8sEt6rwJO8oTKjO4DEQVUAMoNHcR7bdQCdIszHV3c1tYUjbJgm0L1B9qU81nw==
628 | dependencies:
629 | eslint-plugin-turbo "1.9.4"
630 |
631 | eslint-import-resolver-node@^0.3.7:
632 | version "0.3.7"
633 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7"
634 | integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==
635 | dependencies:
636 | debug "^3.2.7"
637 | is-core-module "^2.11.0"
638 | resolve "^1.22.1"
639 |
640 | eslint-module-utils@^2.7.4:
641 | version "2.8.0"
642 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
643 | integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
644 | dependencies:
645 | debug "^3.2.7"
646 |
647 | eslint-plugin-import@^2.27.5:
648 | version "2.27.5"
649 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
650 | integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
651 | dependencies:
652 | array-includes "^3.1.6"
653 | array.prototype.flat "^1.3.1"
654 | array.prototype.flatmap "^1.3.1"
655 | debug "^3.2.7"
656 | doctrine "^2.1.0"
657 | eslint-import-resolver-node "^0.3.7"
658 | eslint-module-utils "^2.7.4"
659 | has "^1.0.3"
660 | is-core-module "^2.11.0"
661 | is-glob "^4.0.3"
662 | minimatch "^3.1.2"
663 | object.values "^1.1.6"
664 | resolve "^1.22.1"
665 | semver "^6.3.0"
666 | tsconfig-paths "^3.14.1"
667 |
668 | eslint-plugin-prettier@^4.2.1:
669 | version "4.2.1"
670 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b"
671 | integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==
672 | dependencies:
673 | prettier-linter-helpers "^1.0.0"
674 |
675 | eslint-plugin-simple-import-sort@^10.0.0:
676 | version "10.0.0"
677 | resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz#cc4ceaa81ba73252427062705b64321946f61351"
678 | integrity sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==
679 |
680 | eslint-plugin-turbo@1.9.4, eslint-plugin-turbo@^1.9.4:
681 | version "1.9.4"
682 | resolved "https://registry.yarnpkg.com/eslint-plugin-turbo/-/eslint-plugin-turbo-1.9.4.tgz#24e4d97879ea38ae8611fe837ddae58f40269dd6"
683 | integrity sha512-ySDJl63nIWa+j9WOAnblBWKDyaCTfGCYhSNSMCe0N5Jk01YWMEowFr2bGw31Zg0dOijioYo9ewwfLLKbJYOUmQ==
684 |
685 | eslint-plugin-unused-imports@^2.0.0:
686 | version "2.0.0"
687 | resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520"
688 | integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==
689 | dependencies:
690 | eslint-rule-composer "^0.3.0"
691 |
692 | eslint-rule-composer@^0.3.0:
693 | version "0.3.0"
694 | resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
695 | integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
696 |
697 | eslint-scope@^5.1.1:
698 | version "5.1.1"
699 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
700 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
701 | dependencies:
702 | esrecurse "^4.3.0"
703 | estraverse "^4.1.1"
704 |
705 | eslint-scope@^7.2.0:
706 | version "7.2.0"
707 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
708 | integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
709 | dependencies:
710 | esrecurse "^4.3.0"
711 | estraverse "^5.2.0"
712 |
713 | eslint-utils@^2.1.0:
714 | version "2.1.0"
715 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
716 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
717 | dependencies:
718 | eslint-visitor-keys "^1.1.0"
719 |
720 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
721 | version "1.3.0"
722 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
723 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
724 |
725 | eslint-visitor-keys@^2.0.0:
726 | version "2.1.0"
727 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
728 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
729 |
730 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
731 | version "3.4.1"
732 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
733 | integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
734 |
735 | eslint@^7.32.0:
736 | version "7.32.0"
737 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
738 | integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
739 | dependencies:
740 | "@babel/code-frame" "7.12.11"
741 | "@eslint/eslintrc" "^0.4.3"
742 | "@humanwhocodes/config-array" "^0.5.0"
743 | ajv "^6.10.0"
744 | chalk "^4.0.0"
745 | cross-spawn "^7.0.2"
746 | debug "^4.0.1"
747 | doctrine "^3.0.0"
748 | enquirer "^2.3.5"
749 | escape-string-regexp "^4.0.0"
750 | eslint-scope "^5.1.1"
751 | eslint-utils "^2.1.0"
752 | eslint-visitor-keys "^2.0.0"
753 | espree "^7.3.1"
754 | esquery "^1.4.0"
755 | esutils "^2.0.2"
756 | fast-deep-equal "^3.1.3"
757 | file-entry-cache "^6.0.1"
758 | functional-red-black-tree "^1.0.1"
759 | glob-parent "^5.1.2"
760 | globals "^13.6.0"
761 | ignore "^4.0.6"
762 | import-fresh "^3.0.0"
763 | imurmurhash "^0.1.4"
764 | is-glob "^4.0.0"
765 | js-yaml "^3.13.1"
766 | json-stable-stringify-without-jsonify "^1.0.1"
767 | levn "^0.4.1"
768 | lodash.merge "^4.6.2"
769 | minimatch "^3.0.4"
770 | natural-compare "^1.4.0"
771 | optionator "^0.9.1"
772 | progress "^2.0.0"
773 | regexpp "^3.1.0"
774 | semver "^7.2.1"
775 | strip-ansi "^6.0.0"
776 | strip-json-comments "^3.1.0"
777 | table "^6.0.9"
778 | text-table "^0.2.0"
779 | v8-compile-cache "^2.0.3"
780 |
781 | eslint@^8.39.0, eslint@^8.40.0:
782 | version "8.40.0"
783 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4"
784 | integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==
785 | dependencies:
786 | "@eslint-community/eslint-utils" "^4.2.0"
787 | "@eslint-community/regexpp" "^4.4.0"
788 | "@eslint/eslintrc" "^2.0.3"
789 | "@eslint/js" "8.40.0"
790 | "@humanwhocodes/config-array" "^0.11.8"
791 | "@humanwhocodes/module-importer" "^1.0.1"
792 | "@nodelib/fs.walk" "^1.2.8"
793 | ajv "^6.10.0"
794 | chalk "^4.0.0"
795 | cross-spawn "^7.0.2"
796 | debug "^4.3.2"
797 | doctrine "^3.0.0"
798 | escape-string-regexp "^4.0.0"
799 | eslint-scope "^7.2.0"
800 | eslint-visitor-keys "^3.4.1"
801 | espree "^9.5.2"
802 | esquery "^1.4.2"
803 | esutils "^2.0.2"
804 | fast-deep-equal "^3.1.3"
805 | file-entry-cache "^6.0.1"
806 | find-up "^5.0.0"
807 | glob-parent "^6.0.2"
808 | globals "^13.19.0"
809 | grapheme-splitter "^1.0.4"
810 | ignore "^5.2.0"
811 | import-fresh "^3.0.0"
812 | imurmurhash "^0.1.4"
813 | is-glob "^4.0.0"
814 | is-path-inside "^3.0.3"
815 | js-sdsl "^4.1.4"
816 | js-yaml "^4.1.0"
817 | json-stable-stringify-without-jsonify "^1.0.1"
818 | levn "^0.4.1"
819 | lodash.merge "^4.6.2"
820 | minimatch "^3.1.2"
821 | natural-compare "^1.4.0"
822 | optionator "^0.9.1"
823 | strip-ansi "^6.0.1"
824 | strip-json-comments "^3.1.0"
825 | text-table "^0.2.0"
826 |
827 | espree@^7.3.0, espree@^7.3.1:
828 | version "7.3.1"
829 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
830 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
831 | dependencies:
832 | acorn "^7.4.0"
833 | acorn-jsx "^5.3.1"
834 | eslint-visitor-keys "^1.3.0"
835 |
836 | espree@^9.5.2:
837 | version "9.5.2"
838 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
839 | integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
840 | dependencies:
841 | acorn "^8.8.0"
842 | acorn-jsx "^5.3.2"
843 | eslint-visitor-keys "^3.4.1"
844 |
845 | esprima@^4.0.0:
846 | version "4.0.1"
847 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
848 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
849 |
850 | esquery@^1.4.0, esquery@^1.4.2:
851 | version "1.5.0"
852 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
853 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
854 | dependencies:
855 | estraverse "^5.1.0"
856 |
857 | esrecurse@^4.3.0:
858 | version "4.3.0"
859 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
860 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
861 | dependencies:
862 | estraverse "^5.2.0"
863 |
864 | estraverse@^4.1.1:
865 | version "4.3.0"
866 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
867 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
868 |
869 | estraverse@^5.1.0, estraverse@^5.2.0:
870 | version "5.3.0"
871 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
872 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
873 |
874 | esutils@^2.0.2:
875 | version "2.0.3"
876 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
877 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
878 |
879 | eventemitter3@^4.0.4:
880 | version "4.0.7"
881 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
882 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
883 |
884 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
885 | version "3.1.3"
886 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
887 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
888 |
889 | fast-diff@^1.1.2:
890 | version "1.2.0"
891 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
892 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
893 |
894 | fast-glob@^3.2.9:
895 | version "3.2.12"
896 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
897 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
898 | dependencies:
899 | "@nodelib/fs.stat" "^2.0.2"
900 | "@nodelib/fs.walk" "^1.2.3"
901 | glob-parent "^5.1.2"
902 | merge2 "^1.3.0"
903 | micromatch "^4.0.4"
904 |
905 | fast-json-stable-stringify@^2.0.0:
906 | version "2.1.0"
907 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
908 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
909 |
910 | fast-levenshtein@^2.0.6:
911 | version "2.0.6"
912 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
913 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
914 |
915 | fastq@^1.6.0:
916 | version "1.15.0"
917 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
918 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
919 | dependencies:
920 | reusify "^1.0.4"
921 |
922 | file-entry-cache@^6.0.1:
923 | version "6.0.1"
924 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
925 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
926 | dependencies:
927 | flat-cache "^3.0.4"
928 |
929 | fill-range@^7.0.1:
930 | version "7.0.1"
931 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
932 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
933 | dependencies:
934 | to-regex-range "^5.0.1"
935 |
936 | find-up@^5.0.0:
937 | version "5.0.0"
938 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
939 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
940 | dependencies:
941 | locate-path "^6.0.0"
942 | path-exists "^4.0.0"
943 |
944 | flat-cache@^3.0.4:
945 | version "3.0.4"
946 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
947 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
948 | dependencies:
949 | flatted "^3.1.0"
950 | rimraf "^3.0.2"
951 |
952 | flatted@^3.1.0:
953 | version "3.2.7"
954 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
955 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
956 |
957 | for-each@^0.3.3:
958 | version "0.3.3"
959 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
960 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
961 | dependencies:
962 | is-callable "^1.1.3"
963 |
964 | fs.realpath@^1.0.0:
965 | version "1.0.0"
966 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
967 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
968 |
969 | function-bind@^1.1.1:
970 | version "1.1.1"
971 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
972 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
973 |
974 | function.prototype.name@^1.1.5:
975 | version "1.1.5"
976 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
977 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
978 | dependencies:
979 | call-bind "^1.0.2"
980 | define-properties "^1.1.3"
981 | es-abstract "^1.19.0"
982 | functions-have-names "^1.2.2"
983 |
984 | functional-red-black-tree@^1.0.1:
985 | version "1.0.1"
986 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
987 | integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
988 |
989 | functions-have-names@^1.2.2, functions-have-names@^1.2.3:
990 | version "1.2.3"
991 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
992 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
993 |
994 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
995 | version "1.2.1"
996 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
997 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
998 | dependencies:
999 | function-bind "^1.1.1"
1000 | has "^1.0.3"
1001 | has-proto "^1.0.1"
1002 | has-symbols "^1.0.3"
1003 |
1004 | get-symbol-description@^1.0.0:
1005 | version "1.0.0"
1006 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
1007 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
1008 | dependencies:
1009 | call-bind "^1.0.2"
1010 | get-intrinsic "^1.1.1"
1011 |
1012 | glob-parent@^5.1.2:
1013 | version "5.1.2"
1014 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1015 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1016 | dependencies:
1017 | is-glob "^4.0.1"
1018 |
1019 | glob-parent@^6.0.2:
1020 | version "6.0.2"
1021 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1022 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1023 | dependencies:
1024 | is-glob "^4.0.3"
1025 |
1026 | glob@^7.1.3:
1027 | version "7.2.3"
1028 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1029 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1030 | dependencies:
1031 | fs.realpath "^1.0.0"
1032 | inflight "^1.0.4"
1033 | inherits "2"
1034 | minimatch "^3.1.1"
1035 | once "^1.3.0"
1036 | path-is-absolute "^1.0.0"
1037 |
1038 | globals@^13.19.0, globals@^13.6.0, globals@^13.9.0:
1039 | version "13.20.0"
1040 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1041 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1042 | dependencies:
1043 | type-fest "^0.20.2"
1044 |
1045 | globalthis@^1.0.3:
1046 | version "1.0.3"
1047 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
1048 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
1049 | dependencies:
1050 | define-properties "^1.1.3"
1051 |
1052 | globby@^11.1.0:
1053 | version "11.1.0"
1054 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
1055 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
1056 | dependencies:
1057 | array-union "^2.1.0"
1058 | dir-glob "^3.0.1"
1059 | fast-glob "^3.2.9"
1060 | ignore "^5.2.0"
1061 | merge2 "^1.4.1"
1062 | slash "^3.0.0"
1063 |
1064 | gopd@^1.0.1:
1065 | version "1.0.1"
1066 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
1067 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
1068 | dependencies:
1069 | get-intrinsic "^1.1.3"
1070 |
1071 | grapheme-splitter@^1.0.4:
1072 | version "1.0.4"
1073 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
1074 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
1075 |
1076 | has-bigints@^1.0.1, has-bigints@^1.0.2:
1077 | version "1.0.2"
1078 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
1079 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
1080 |
1081 | has-flag@^3.0.0:
1082 | version "3.0.0"
1083 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1084 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1085 |
1086 | has-flag@^4.0.0:
1087 | version "4.0.0"
1088 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1089 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1090 |
1091 | has-property-descriptors@^1.0.0:
1092 | version "1.0.0"
1093 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
1094 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
1095 | dependencies:
1096 | get-intrinsic "^1.1.1"
1097 |
1098 | has-proto@^1.0.1:
1099 | version "1.0.1"
1100 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
1101 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
1102 |
1103 | has-symbols@^1.0.2, has-symbols@^1.0.3:
1104 | version "1.0.3"
1105 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
1106 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
1107 |
1108 | has-tostringtag@^1.0.0:
1109 | version "1.0.0"
1110 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
1111 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
1112 | dependencies:
1113 | has-symbols "^1.0.2"
1114 |
1115 | has@^1.0.3:
1116 | version "1.0.3"
1117 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1118 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1119 | dependencies:
1120 | function-bind "^1.1.1"
1121 |
1122 | htmlparser2@^8.0.0:
1123 | version "8.0.2"
1124 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21"
1125 | integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
1126 | dependencies:
1127 | domelementtype "^2.3.0"
1128 | domhandler "^5.0.3"
1129 | domutils "^3.0.1"
1130 | entities "^4.4.0"
1131 |
1132 | ignore@^4.0.6:
1133 | version "4.0.6"
1134 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
1135 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
1136 |
1137 | ignore@^5.2.0:
1138 | version "5.2.4"
1139 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1140 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1141 |
1142 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1143 | version "3.3.0"
1144 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1145 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1146 | dependencies:
1147 | parent-module "^1.0.0"
1148 | resolve-from "^4.0.0"
1149 |
1150 | imurmurhash@^0.1.4:
1151 | version "0.1.4"
1152 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1153 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1154 |
1155 | inflight@^1.0.4:
1156 | version "1.0.6"
1157 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1158 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1159 | dependencies:
1160 | once "^1.3.0"
1161 | wrappy "1"
1162 |
1163 | inherits@2:
1164 | version "2.0.4"
1165 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1166 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1167 |
1168 | internal-slot@^1.0.5:
1169 | version "1.0.5"
1170 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
1171 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
1172 | dependencies:
1173 | get-intrinsic "^1.2.0"
1174 | has "^1.0.3"
1175 | side-channel "^1.0.4"
1176 |
1177 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
1178 | version "3.0.2"
1179 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
1180 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
1181 | dependencies:
1182 | call-bind "^1.0.2"
1183 | get-intrinsic "^1.2.0"
1184 | is-typed-array "^1.1.10"
1185 |
1186 | is-bigint@^1.0.1:
1187 | version "1.0.4"
1188 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
1189 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
1190 | dependencies:
1191 | has-bigints "^1.0.1"
1192 |
1193 | is-boolean-object@^1.1.0:
1194 | version "1.1.2"
1195 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
1196 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
1197 | dependencies:
1198 | call-bind "^1.0.2"
1199 | has-tostringtag "^1.0.0"
1200 |
1201 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
1202 | version "1.2.7"
1203 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
1204 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
1205 |
1206 | is-core-module@^2.11.0:
1207 | version "2.12.0"
1208 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
1209 | integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
1210 | dependencies:
1211 | has "^1.0.3"
1212 |
1213 | is-date-object@^1.0.1:
1214 | version "1.0.5"
1215 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
1216 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
1217 | dependencies:
1218 | has-tostringtag "^1.0.0"
1219 |
1220 | is-extglob@^2.1.1:
1221 | version "2.1.1"
1222 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1223 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1224 |
1225 | is-fullwidth-code-point@^3.0.0:
1226 | version "3.0.0"
1227 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1228 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1229 |
1230 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
1231 | version "4.0.3"
1232 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1233 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1234 | dependencies:
1235 | is-extglob "^2.1.1"
1236 |
1237 | is-negative-zero@^2.0.2:
1238 | version "2.0.2"
1239 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
1240 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
1241 |
1242 | is-number-object@^1.0.4:
1243 | version "1.0.7"
1244 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
1245 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
1246 | dependencies:
1247 | has-tostringtag "^1.0.0"
1248 |
1249 | is-number@^7.0.0:
1250 | version "7.0.0"
1251 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1252 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1253 |
1254 | is-path-inside@^3.0.3:
1255 | version "3.0.3"
1256 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1257 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1258 |
1259 | is-plain-object@^5.0.0:
1260 | version "5.0.0"
1261 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
1262 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
1263 |
1264 | is-regex@^1.1.4:
1265 | version "1.1.4"
1266 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
1267 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
1268 | dependencies:
1269 | call-bind "^1.0.2"
1270 | has-tostringtag "^1.0.0"
1271 |
1272 | is-shared-array-buffer@^1.0.2:
1273 | version "1.0.2"
1274 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
1275 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
1276 | dependencies:
1277 | call-bind "^1.0.2"
1278 |
1279 | is-string@^1.0.5, is-string@^1.0.7:
1280 | version "1.0.7"
1281 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
1282 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
1283 | dependencies:
1284 | has-tostringtag "^1.0.0"
1285 |
1286 | is-symbol@^1.0.2, is-symbol@^1.0.3:
1287 | version "1.0.4"
1288 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
1289 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
1290 | dependencies:
1291 | has-symbols "^1.0.2"
1292 |
1293 | is-typed-array@^1.1.10, is-typed-array@^1.1.9:
1294 | version "1.1.10"
1295 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
1296 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
1297 | dependencies:
1298 | available-typed-arrays "^1.0.5"
1299 | call-bind "^1.0.2"
1300 | for-each "^0.3.3"
1301 | gopd "^1.0.1"
1302 | has-tostringtag "^1.0.0"
1303 |
1304 | is-weakref@^1.0.2:
1305 | version "1.0.2"
1306 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
1307 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
1308 | dependencies:
1309 | call-bind "^1.0.2"
1310 |
1311 | isexe@^2.0.0:
1312 | version "2.0.0"
1313 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1314 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1315 |
1316 | js-sdsl@^4.1.4:
1317 | version "4.4.0"
1318 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430"
1319 | integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==
1320 |
1321 | js-tokens@^4.0.0:
1322 | version "4.0.0"
1323 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1324 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1325 |
1326 | js-yaml@^3.13.1:
1327 | version "3.14.1"
1328 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
1329 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
1330 | dependencies:
1331 | argparse "^1.0.7"
1332 | esprima "^4.0.0"
1333 |
1334 | js-yaml@^4.1.0:
1335 | version "4.1.0"
1336 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1337 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1338 | dependencies:
1339 | argparse "^2.0.1"
1340 |
1341 | json-schema-traverse@^0.4.1:
1342 | version "0.4.1"
1343 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1344 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1345 |
1346 | json-schema-traverse@^1.0.0:
1347 | version "1.0.0"
1348 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1349 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1350 |
1351 | json-stable-stringify-without-jsonify@^1.0.1:
1352 | version "1.0.1"
1353 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1354 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1355 |
1356 | json5@^1.0.2:
1357 | version "1.0.2"
1358 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
1359 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
1360 | dependencies:
1361 | minimist "^1.2.0"
1362 |
1363 | levn@^0.4.1:
1364 | version "0.4.1"
1365 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1366 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1367 | dependencies:
1368 | prelude-ls "^1.2.1"
1369 | type-check "~0.4.0"
1370 |
1371 | locate-path@^6.0.0:
1372 | version "6.0.0"
1373 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1374 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1375 | dependencies:
1376 | p-locate "^5.0.0"
1377 |
1378 | lodash.merge@^4.6.2:
1379 | version "4.6.2"
1380 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1381 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1382 |
1383 | lodash.truncate@^4.4.2:
1384 | version "4.4.2"
1385 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
1386 | integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
1387 |
1388 | lodash@^4.17.21:
1389 | version "4.17.21"
1390 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1391 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1392 |
1393 | lru-cache@^6.0.0:
1394 | version "6.0.0"
1395 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1396 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1397 | dependencies:
1398 | yallist "^4.0.0"
1399 |
1400 | merge2@^1.3.0, merge2@^1.4.1:
1401 | version "1.4.1"
1402 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1403 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1404 |
1405 | micromatch@^4.0.4:
1406 | version "4.0.5"
1407 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1408 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1409 | dependencies:
1410 | braces "^3.0.2"
1411 | picomatch "^2.3.1"
1412 |
1413 | minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
1414 | version "3.1.2"
1415 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1416 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1417 | dependencies:
1418 | brace-expansion "^1.1.7"
1419 |
1420 | minimist@^1.2.0, minimist@^1.2.6:
1421 | version "1.2.8"
1422 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
1423 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
1424 |
1425 | ms@2.1.2:
1426 | version "2.1.2"
1427 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1428 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1429 |
1430 | ms@^2.1.1:
1431 | version "2.1.3"
1432 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1433 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1434 |
1435 | nanoid@^3.3.6:
1436 | version "3.3.6"
1437 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
1438 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
1439 |
1440 | natural-compare-lite@^1.4.0:
1441 | version "1.4.0"
1442 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
1443 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
1444 |
1445 | natural-compare@^1.4.0:
1446 | version "1.4.0"
1447 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1448 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1449 |
1450 | object-inspect@^1.12.3, object-inspect@^1.9.0:
1451 | version "1.12.3"
1452 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1453 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1454 |
1455 | object-keys@^1.1.1:
1456 | version "1.1.1"
1457 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1458 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1459 |
1460 | object.assign@^4.1.4:
1461 | version "4.1.4"
1462 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
1463 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
1464 | dependencies:
1465 | call-bind "^1.0.2"
1466 | define-properties "^1.1.4"
1467 | has-symbols "^1.0.3"
1468 | object-keys "^1.1.1"
1469 |
1470 | object.values@^1.1.6:
1471 | version "1.1.6"
1472 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
1473 | integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
1474 | dependencies:
1475 | call-bind "^1.0.2"
1476 | define-properties "^1.1.4"
1477 | es-abstract "^1.20.4"
1478 |
1479 | once@^1.3.0:
1480 | version "1.4.0"
1481 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1482 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1483 | dependencies:
1484 | wrappy "1"
1485 |
1486 | optionator@^0.9.1:
1487 | version "0.9.1"
1488 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1489 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1490 | dependencies:
1491 | deep-is "^0.1.3"
1492 | fast-levenshtein "^2.0.6"
1493 | levn "^0.4.1"
1494 | prelude-ls "^1.2.1"
1495 | type-check "^0.4.0"
1496 | word-wrap "^1.2.3"
1497 |
1498 | p-finally@^1.0.0:
1499 | version "1.0.0"
1500 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
1501 | integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
1502 |
1503 | p-limit@^3.0.2:
1504 | version "3.1.0"
1505 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1506 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1507 | dependencies:
1508 | yocto-queue "^0.1.0"
1509 |
1510 | p-locate@^5.0.0:
1511 | version "5.0.0"
1512 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1513 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1514 | dependencies:
1515 | p-limit "^3.0.2"
1516 |
1517 | p-queue@^6.6.2:
1518 | version "6.6.2"
1519 | resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
1520 | integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
1521 | dependencies:
1522 | eventemitter3 "^4.0.4"
1523 | p-timeout "^3.2.0"
1524 |
1525 | p-retry@^4.6.2:
1526 | version "4.6.2"
1527 | resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16"
1528 | integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==
1529 | dependencies:
1530 | "@types/retry" "0.12.0"
1531 | retry "^0.13.1"
1532 |
1533 | p-timeout@^3.2.0:
1534 | version "3.2.0"
1535 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
1536 | integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
1537 | dependencies:
1538 | p-finally "^1.0.0"
1539 |
1540 | parent-module@^1.0.0:
1541 | version "1.0.1"
1542 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1543 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1544 | dependencies:
1545 | callsites "^3.0.0"
1546 |
1547 | parse-srcset@^1.0.2:
1548 | version "1.0.2"
1549 | resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1"
1550 | integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==
1551 |
1552 | path-exists@^4.0.0:
1553 | version "4.0.0"
1554 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1555 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1556 |
1557 | path-is-absolute@^1.0.0:
1558 | version "1.0.1"
1559 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1560 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
1561 |
1562 | path-key@^3.1.0:
1563 | version "3.1.1"
1564 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1565 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1566 |
1567 | path-parse@^1.0.7:
1568 | version "1.0.7"
1569 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1570 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1571 |
1572 | path-type@^4.0.0:
1573 | version "4.0.0"
1574 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1575 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1576 |
1577 | picocolors@^1.0.0:
1578 | version "1.0.0"
1579 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1580 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1581 |
1582 | picomatch@^2.3.1:
1583 | version "2.3.1"
1584 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1585 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1586 |
1587 | postcss@^8.3.11:
1588 | version "8.4.23"
1589 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab"
1590 | integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==
1591 | dependencies:
1592 | nanoid "^3.3.6"
1593 | picocolors "^1.0.0"
1594 | source-map-js "^1.0.2"
1595 |
1596 | prelude-ls@^1.2.1:
1597 | version "1.2.1"
1598 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1599 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1600 |
1601 | prettier-linter-helpers@^1.0.0:
1602 | version "1.0.0"
1603 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
1604 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
1605 | dependencies:
1606 | fast-diff "^1.1.2"
1607 |
1608 | prettier@^2.5.1:
1609 | version "2.8.8"
1610 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
1611 | integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
1612 |
1613 | progress@^2.0.0:
1614 | version "2.0.3"
1615 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1616 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
1617 |
1618 | punycode@^2.1.0:
1619 | version "2.3.0"
1620 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
1621 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1622 |
1623 | queue-microtask@^1.2.2:
1624 | version "1.2.3"
1625 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1626 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1627 |
1628 | reflect-metadata@^0.1.13:
1629 | version "0.1.13"
1630 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
1631 | integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
1632 |
1633 | regexp.prototype.flags@^1.4.3:
1634 | version "1.5.0"
1635 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
1636 | integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
1637 | dependencies:
1638 | call-bind "^1.0.2"
1639 | define-properties "^1.2.0"
1640 | functions-have-names "^1.2.3"
1641 |
1642 | regexpp@^3.1.0:
1643 | version "3.2.0"
1644 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
1645 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
1646 |
1647 | require-from-string@^2.0.2:
1648 | version "2.0.2"
1649 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1650 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1651 |
1652 | resolve-from@^4.0.0:
1653 | version "4.0.0"
1654 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1655 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1656 |
1657 | resolve@^1.22.1:
1658 | version "1.22.2"
1659 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
1660 | integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
1661 | dependencies:
1662 | is-core-module "^2.11.0"
1663 | path-parse "^1.0.7"
1664 | supports-preserve-symlinks-flag "^1.0.0"
1665 |
1666 | retry@^0.13.1:
1667 | version "0.13.1"
1668 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
1669 | integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
1670 |
1671 | reusify@^1.0.4:
1672 | version "1.0.4"
1673 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1674 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1675 |
1676 | rimraf@^3.0.2:
1677 | version "3.0.2"
1678 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1679 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1680 | dependencies:
1681 | glob "^7.1.3"
1682 |
1683 | run-parallel@^1.1.9:
1684 | version "1.2.0"
1685 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1686 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1687 | dependencies:
1688 | queue-microtask "^1.2.2"
1689 |
1690 | safe-regex-test@^1.0.0:
1691 | version "1.0.0"
1692 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
1693 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
1694 | dependencies:
1695 | call-bind "^1.0.2"
1696 | get-intrinsic "^1.1.3"
1697 | is-regex "^1.1.4"
1698 |
1699 | sanitize-html@^2.10.0:
1700 | version "2.10.0"
1701 | resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.10.0.tgz#74d28848dfcf72c39693139131895c78900ab452"
1702 | integrity sha512-JqdovUd81dG4k87vZt6uA6YhDfWkUGruUu/aPmXLxXi45gZExnt9Bnw/qeQU8oGf82vPyaE0vO4aH0PbobB9JQ==
1703 | dependencies:
1704 | deepmerge "^4.2.2"
1705 | escape-string-regexp "^4.0.0"
1706 | htmlparser2 "^8.0.0"
1707 | is-plain-object "^5.0.0"
1708 | parse-srcset "^1.0.2"
1709 | postcss "^8.3.11"
1710 |
1711 | semver@^6.3.0:
1712 | version "6.3.0"
1713 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1714 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1715 |
1716 | semver@^7.2.1, semver@^7.3.7:
1717 | version "7.5.1"
1718 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec"
1719 | integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==
1720 | dependencies:
1721 | lru-cache "^6.0.0"
1722 |
1723 | shebang-command@^2.0.0:
1724 | version "2.0.0"
1725 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1726 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1727 | dependencies:
1728 | shebang-regex "^3.0.0"
1729 |
1730 | shebang-regex@^3.0.0:
1731 | version "3.0.0"
1732 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1733 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1734 |
1735 | side-channel@^1.0.4:
1736 | version "1.0.4"
1737 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1738 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1739 | dependencies:
1740 | call-bind "^1.0.0"
1741 | get-intrinsic "^1.0.2"
1742 | object-inspect "^1.9.0"
1743 |
1744 | slash@^3.0.0:
1745 | version "3.0.0"
1746 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1747 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1748 |
1749 | slice-ansi@^4.0.0:
1750 | version "4.0.0"
1751 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
1752 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
1753 | dependencies:
1754 | ansi-styles "^4.0.0"
1755 | astral-regex "^2.0.0"
1756 | is-fullwidth-code-point "^3.0.0"
1757 |
1758 | source-map-js@^1.0.2:
1759 | version "1.0.2"
1760 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1761 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1762 |
1763 | sprintf-js@~1.0.2:
1764 | version "1.0.3"
1765 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1766 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
1767 |
1768 | string-width@^4.2.3:
1769 | version "4.2.3"
1770 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1771 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1772 | dependencies:
1773 | emoji-regex "^8.0.0"
1774 | is-fullwidth-code-point "^3.0.0"
1775 | strip-ansi "^6.0.1"
1776 |
1777 | string.prototype.trim@^1.2.7:
1778 | version "1.2.7"
1779 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
1780 | integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
1781 | dependencies:
1782 | call-bind "^1.0.2"
1783 | define-properties "^1.1.4"
1784 | es-abstract "^1.20.4"
1785 |
1786 | string.prototype.trimend@^1.0.6:
1787 | version "1.0.6"
1788 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
1789 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
1790 | dependencies:
1791 | call-bind "^1.0.2"
1792 | define-properties "^1.1.4"
1793 | es-abstract "^1.20.4"
1794 |
1795 | string.prototype.trimstart@^1.0.6:
1796 | version "1.0.6"
1797 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
1798 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
1799 | dependencies:
1800 | call-bind "^1.0.2"
1801 | define-properties "^1.1.4"
1802 | es-abstract "^1.20.4"
1803 |
1804 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1805 | version "6.0.1"
1806 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1807 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1808 | dependencies:
1809 | ansi-regex "^5.0.1"
1810 |
1811 | strip-bom@^3.0.0:
1812 | version "3.0.0"
1813 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
1814 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
1815 |
1816 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1817 | version "3.1.1"
1818 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1819 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1820 |
1821 | supports-color@^5.3.0:
1822 | version "5.5.0"
1823 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1824 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1825 | dependencies:
1826 | has-flag "^3.0.0"
1827 |
1828 | supports-color@^7.1.0:
1829 | version "7.2.0"
1830 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1831 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1832 | dependencies:
1833 | has-flag "^4.0.0"
1834 |
1835 | supports-preserve-symlinks-flag@^1.0.0:
1836 | version "1.0.0"
1837 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1838 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1839 |
1840 | table@^6.0.9:
1841 | version "6.8.1"
1842 | resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
1843 | integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
1844 | dependencies:
1845 | ajv "^8.0.1"
1846 | lodash.truncate "^4.4.2"
1847 | slice-ansi "^4.0.0"
1848 | string-width "^4.2.3"
1849 | strip-ansi "^6.0.1"
1850 |
1851 | text-table@^0.2.0:
1852 | version "0.2.0"
1853 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1854 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
1855 |
1856 | to-regex-range@^5.0.1:
1857 | version "5.0.1"
1858 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1859 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1860 | dependencies:
1861 | is-number "^7.0.0"
1862 |
1863 | tsconfig-paths@^3.14.1:
1864 | version "3.14.2"
1865 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
1866 | integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==
1867 | dependencies:
1868 | "@types/json5" "^0.0.29"
1869 | json5 "^1.0.2"
1870 | minimist "^1.2.6"
1871 | strip-bom "^3.0.0"
1872 |
1873 | tslib@^1.8.1:
1874 | version "1.14.1"
1875 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1876 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
1877 |
1878 | tsutils@^3.21.0:
1879 | version "3.21.0"
1880 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
1881 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
1882 | dependencies:
1883 | tslib "^1.8.1"
1884 |
1885 | turbo-darwin-64@1.9.4:
1886 | version "1.9.4"
1887 | resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.9.4.tgz#3f40cba2dcc13011f4c51101ba03f4c1aa511daf"
1888 | integrity sha512-kCmDmxyUWWI+BstTZQKNM87UbNx40C0ZHUTFqs9tmeH7d5+gA2QhqrSoBuwQYw7YYNLpbkqu1ObbppsUlIFPdQ==
1889 |
1890 | turbo-darwin-arm64@1.9.4:
1891 | version "1.9.4"
1892 | resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.9.4.tgz#257e67438033d1bfb75650b5ca8664d0a00e0ccb"
1893 | integrity sha512-Of64jMEaDDHx0dzU7RwdOuh1lP021vtQun9wmEHhT0Hk/TQF+kDCywoHcY7R5nlSRcssFjysVyhCeZW6CkWrrA==
1894 |
1895 | turbo-linux-64@1.9.4:
1896 | version "1.9.4"
1897 | resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.9.4.tgz#a4d7a06b8b786144d3c967a8f647561a71d8057a"
1898 | integrity sha512-kajvUnXlUNtgVzLW3Y/RoHrC64G+G0Ky/o1F+oP6QK/T85H8NwNHXq2F6hyIrZPNGbKpPgpetuQ1waIibxJ0rA==
1899 |
1900 | turbo-linux-arm64@1.9.4:
1901 | version "1.9.4"
1902 | resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.9.4.tgz#5426bd72ef2a80cad390ecf4220779824faab41f"
1903 | integrity sha512-11P9Y8MoimqUzib3SU3md4g1loLF0FRHpYCbPzUTWPT3beOcdM2nop2u/yFHyBnbSxz1rTWczRJPnNoAki0B/Q==
1904 |
1905 | turbo-windows-64@1.9.4:
1906 | version "1.9.4"
1907 | resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.9.4.tgz#b6458e3f715f0b0ab0b1bf1ded3ed6f2a8e0f1f9"
1908 | integrity sha512-2tFcFhuqs1c1DGFAk2wjU0TXrOXKoPdma9vxrTVdwvtz5Nc8XPF8RNW+1jbmRjpumGUkXou6Pe973GSvPjvD5w==
1909 |
1910 | turbo-windows-arm64@1.9.4:
1911 | version "1.9.4"
1912 | resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.9.4.tgz#d4959a8b81dc5c3561b8e22355ab74b05d47f803"
1913 | integrity sha512-wJfEwUyWXxn6VKD2Vbycke6cm99gJ0llkr9gUnbR06eaRu1TiLY24FcFqN95/wftp0n5nne7b6K7Wz1TLh1fJQ==
1914 |
1915 | turbo@^1.9.3:
1916 | version "1.9.4"
1917 | resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.9.4.tgz#d9a3e350767dc894a5f5b427144d20d435c22032"
1918 | integrity sha512-PqhlMCmu6sOqcVswt1tYL0TV/O0uQ8kUZWfmlEl0EHPusc2R3nzg7KVXrZbXTHXzQH5HE2oJm9iUI0mYz31i7Q==
1919 | optionalDependencies:
1920 | turbo-darwin-64 "1.9.4"
1921 | turbo-darwin-arm64 "1.9.4"
1922 | turbo-linux-64 "1.9.4"
1923 | turbo-linux-arm64 "1.9.4"
1924 | turbo-windows-64 "1.9.4"
1925 | turbo-windows-arm64 "1.9.4"
1926 |
1927 | type-check@^0.4.0, type-check@~0.4.0:
1928 | version "0.4.0"
1929 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1930 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1931 | dependencies:
1932 | prelude-ls "^1.2.1"
1933 |
1934 | type-fest@^0.20.2:
1935 | version "0.20.2"
1936 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1937 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1938 |
1939 | type-fest@^3.10.0:
1940 | version "3.10.0"
1941 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.10.0.tgz#d75f17a22be8816aea6315ab2739fe1c0c211863"
1942 | integrity sha512-hmAPf1datm+gt3c2mvu0sJyhFy6lTkIGf0GzyaZWxRLnabQfPUqg6tF95RPg6sLxKI7nFLGdFxBcf2/7+GXI+A==
1943 |
1944 | typed-array-length@^1.0.4:
1945 | version "1.0.4"
1946 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
1947 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
1948 | dependencies:
1949 | call-bind "^1.0.2"
1950 | for-each "^0.3.3"
1951 | is-typed-array "^1.1.9"
1952 |
1953 | typescript@^5.0.4:
1954 | version "5.0.4"
1955 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
1956 | integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
1957 |
1958 | unbox-primitive@^1.0.2:
1959 | version "1.0.2"
1960 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
1961 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
1962 | dependencies:
1963 | call-bind "^1.0.2"
1964 | has-bigints "^1.0.2"
1965 | has-symbols "^1.0.3"
1966 | which-boxed-primitive "^1.0.2"
1967 |
1968 | uri-js@^4.2.2:
1969 | version "4.4.1"
1970 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1971 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1972 | dependencies:
1973 | punycode "^2.1.0"
1974 |
1975 | v8-compile-cache@^2.0.3:
1976 | version "2.3.0"
1977 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
1978 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
1979 |
1980 | which-boxed-primitive@^1.0.2:
1981 | version "1.0.2"
1982 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
1983 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
1984 | dependencies:
1985 | is-bigint "^1.0.1"
1986 | is-boolean-object "^1.1.0"
1987 | is-number-object "^1.0.4"
1988 | is-string "^1.0.5"
1989 | is-symbol "^1.0.3"
1990 |
1991 | which-typed-array@^1.1.9:
1992 | version "1.1.9"
1993 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
1994 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
1995 | dependencies:
1996 | available-typed-arrays "^1.0.5"
1997 | call-bind "^1.0.2"
1998 | for-each "^0.3.3"
1999 | gopd "^1.0.1"
2000 | has-tostringtag "^1.0.0"
2001 | is-typed-array "^1.1.10"
2002 |
2003 | which@^2.0.1:
2004 | version "2.0.2"
2005 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2006 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2007 | dependencies:
2008 | isexe "^2.0.0"
2009 |
2010 | word-wrap@^1.2.3:
2011 | version "1.2.3"
2012 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
2013 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
2014 |
2015 | wrappy@1:
2016 | version "1.0.2"
2017 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2018 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
2019 |
2020 | yallist@^4.0.0:
2021 | version "4.0.0"
2022 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2023 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2024 |
2025 | yocto-queue@^0.1.0:
2026 | version "0.1.0"
2027 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2028 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2029 |
--------------------------------------------------------------------------------