docs: add typedoc-based docs
This commit is contained in:
parent
e63627411d
commit
54c4279a13
|
@ -118,4 +118,6 @@ dist
|
|||
/database.js
|
||||
/database.js.map
|
||||
/picker.js
|
||||
/picker.js.map
|
||||
/picker.js.map
|
||||
|
||||
/docs-tmp
|
180
README.md
180
README.md
|
@ -154,13 +154,29 @@ const picker = new Picker();
|
|||
document.body.appendChild(picker);
|
||||
```
|
||||
|
||||
`new Picker(options)` supports a few different options:
|
||||
The `new Picker(options)` constructor supports several options:
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
| ------ | ---- | ------- | ----------- |
|
||||
| `dataSource` | String | `"https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json"` | Where to fetch the emoji data from. Note that `emoji-picker-element` requires the full `data.json`, not `compact.json`. |
|
||||
| `locale` | String | `"en"` | Locale, should map to the locales supported by `emojibase-data` |
|
||||
| `i18n` | Object | See below | Strings to use for internationalization of the Picker itself, i.e. the text and `aria-label`s. Note that `emoji-picker-element` only ships with English by default. |
|
||||
<!-- picker API start -->
|
||||
|
||||
#### constructor
|
||||
|
||||
\+ **new Picker**(`__namedParameters`: object): *Picker*
|
||||
|
||||
**Parameters:**
|
||||
|
||||
▪`Default value` **__namedParameters**: *object*= {}
|
||||
|
||||
Name | Type | Default | Description |
|
||||
------ | ------ | ------ | ------ |
|
||||
`dataSource` | string | "https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json" | URL to fetch the emojibase data from |
|
||||
`i18n` | object | - | i18n object (see below for details) |
|
||||
`locale` | string | "en" | Locale string |
|
||||
|
||||
**Returns:** *Picker*
|
||||
|
||||
|
||||
|
||||
<!-- picker API end -->
|
||||
|
||||
These values can also be set at runtime, e.g.:
|
||||
|
||||
|
@ -216,19 +232,151 @@ const database = new Database();
|
|||
await database.getEmojiBySearchPrefix('elephant'); // [{unicode: "🐘", ...}]
|
||||
```
|
||||
|
||||
`new Database()` takes similar options as the picker:
|
||||
Full API:
|
||||
|
||||
```js
|
||||
const database = new Database({
|
||||
locale: 'en',
|
||||
dataSource: 'https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json'
|
||||
});
|
||||
<!-- database API start -->
|
||||
|
||||
#### constructor
|
||||
|
||||
\+ **new Database**(`__namedParameters`: object): *Database*
|
||||
|
||||
Create a new Database.
|
||||
|
||||
Note that multiple Databases pointing to the same locale will share the
|
||||
same underlying IndexedDB connection and database.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
▪`Default value` **__namedParameters**: *object*= {}
|
||||
|
||||
Name | Type | Default | Description |
|
||||
------ | ------ | ------ | ------ |
|
||||
`dataSource` | string | "https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json" | URL to fetch the emojibase data from |
|
||||
`locale` | string | "en" | Locale string |
|
||||
|
||||
**Returns:** *Database*
|
||||
|
||||
|
||||
|
||||
#### close
|
||||
|
||||
▸ **close**(): *Promise‹void›*
|
||||
|
||||
Closes the underlying IndexedDB connection. The Database is not usable after that (or any other Databases
|
||||
with the same locale).
|
||||
|
||||
**Returns:** *Promise‹void›*
|
||||
|
||||
___
|
||||
|
||||
#### delete
|
||||
|
||||
▸ **delete**(): *Promise‹void›*
|
||||
|
||||
Deletes the underlying IndexedDB database. The Database is not usable after that (or any other Databases
|
||||
with the same locale).
|
||||
|
||||
**Returns:** *Promise‹void›*
|
||||
|
||||
___
|
||||
|
||||
#### getEmojiByGroup
|
||||
|
||||
▸ **getEmojiByGroup**(`group`: number): *Promise‹Emoji]›*
|
||||
|
||||
Returns all emoji belonging to a group, ordered by `order`.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
Name | Type | Description |
|
||||
------ | ------ | ------ |
|
||||
`group` | number | the group number |
|
||||
|
||||
**Returns:** *Promise‹[Emoji]›*
|
||||
|
||||
___
|
||||
|
||||
#### getEmojiBySearchQuery
|
||||
|
||||
▸ **getEmojiBySearchQuery**(`query`: string): *Promise‹[Emoji]›*
|
||||
|
||||
Returns all emoji matching the given search query, ordered by `order`.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
Name | Type | Description |
|
||||
------ | ------ | ------ |
|
||||
`query` | string | search query string |
|
||||
|
||||
**Returns:** *Promise‹[Emoji]›*
|
||||
|
||||
___
|
||||
|
||||
#### getEmojiByShortcode
|
||||
|
||||
▸ **getEmojiByShortcode**(`shortcode`: string): *Promise‹[Emoji | null›*
|
||||
|
||||
Return a single emoji matching the shortcode, or null if not found.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
Name | Type | Description |
|
||||
------ | ------ | ------ |
|
||||
`shortcode` | string | |
|
||||
|
||||
**Returns:** *Promise‹Emoji | null›*
|
||||
|
||||
___
|
||||
|
||||
#### getEmojiByUnicode
|
||||
|
||||
▸ **getEmojiByUnicode**(`unicode`: string): *Promise‹Emoji | null›*
|
||||
|
||||
Return a single emoji matching the unicode string, or null if not found.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
Name | Type | Description |
|
||||
------ | ------ | ------ |
|
||||
`unicode` | string | unicode string |
|
||||
|
||||
**Returns:** *Promise‹Emoji | null›*
|
||||
|
||||
___
|
||||
|
||||
#### ready
|
||||
|
||||
▸ **ready**(): *Promise‹void›*
|
||||
|
||||
Resolves when the Database is ready, or throws an error if
|
||||
the Database could not initialize.
|
||||
|
||||
Note that you don't need to do this before calling other APIs – they will
|
||||
all wait for this promise to resolve before doing anything.
|
||||
|
||||
**Returns:** *Promise‹void›*
|
||||
|
||||
|
||||
<!-- database API end -->
|
||||
|
||||
### Emoji object
|
||||
|
||||
This object is returned as the Event `detail` in the `emoji-click` event, or when querying the Database. Here is the format:
|
||||
|
||||
```ts
|
||||
interface Emoji {
|
||||
annotation: string;
|
||||
emoticon?: string;
|
||||
group: number;
|
||||
name: string;
|
||||
order: number;
|
||||
shortcodes: string[];
|
||||
tags?: string[];
|
||||
version: number;
|
||||
unicode: string;
|
||||
}
|
||||
```
|
||||
|
||||
In general, it's not a problem to create multiple `Database` objects with the same arguments. Under the hood, they will share the same IndexedDB connection.
|
||||
|
||||
<!-- TODO: Database API here -->
|
||||
|
||||
### Tree-shaking
|
||||
|
||||
If you want to import the `Database` without the `Picker`, or you want to code-split them separately, then do:
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
import fs from 'fs'
|
||||
import { promisify } from 'util'
|
||||
|
||||
export const readFile = promisify(fs.readFile)
|
||||
export const writeFile = promisify(fs.writeFile)
|
|
@ -1,9 +1,6 @@
|
|||
import sass from 'sass'
|
||||
import table from 'markdown-table'
|
||||
import fs from 'fs'
|
||||
import { promisify } from 'util'
|
||||
const readFile = promisify(fs.readFile)
|
||||
const writeFile = promisify(fs.writeFile)
|
||||
import { replaceInReadme } from './replaceInReadme.js'
|
||||
|
||||
const START_MARKER = '<!-- CSS variable options start -->'
|
||||
const END_MARKER = '<!-- CSS variable options end -->'
|
||||
|
@ -49,13 +46,7 @@ async function generateMarkdownTable (css) {
|
|||
async function main () {
|
||||
const css = sass.renderSync({ file: './src/picker/styles/variables.scss' }).css.toString('utf8')
|
||||
const markdown = await generateMarkdownTable(css)
|
||||
let readme = await readFile('./README.md', 'utf8')
|
||||
const startIndex = readme.indexOf(START_MARKER)
|
||||
const endIndex = readme.indexOf(END_MARKER) + END_MARKER.length
|
||||
readme = readme.substring(0, startIndex) +
|
||||
START_MARKER + '\n\n' + markdown + '\n\n' + END_MARKER +
|
||||
readme.substring(endIndex)
|
||||
await writeFile('./README.md', readme, 'utf8')
|
||||
await replaceInReadme(START_MARKER, END_MARKER, markdown)
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
|
|
|
@ -1,27 +1,15 @@
|
|||
import fs from 'fs'
|
||||
import { promisify } from 'util'
|
||||
const readFile = promisify(fs.readFile)
|
||||
const writeFile = promisify(fs.writeFile)
|
||||
import { readFile } from './fs.js'
|
||||
import { replaceInReadme } from './replaceInReadme.js'
|
||||
|
||||
const START_MARKER = '<!-- i18n options start -->'
|
||||
const END_MARKER = '<!-- i18n options end -->'
|
||||
|
||||
// Take the current English i18n object and inject it into the README
|
||||
async function main () {
|
||||
let readme = await readFile('./README.md', 'utf8')
|
||||
const i18n = JSON.parse(await readFile('./src/picker/i18n/en.json', 'utf8'))
|
||||
const startIndex = readme.indexOf(START_MARKER)
|
||||
const endIndex = readme.indexOf(END_MARKER) + END_MARKER.length
|
||||
|
||||
const sortedI18n = Object.fromEntries(Object.entries(i18n).sort((a, b) => a[0] < b[0] ? -1 : 1))
|
||||
|
||||
readme = readme.substring(0, startIndex) +
|
||||
START_MARKER + '\n\n```json\n' +
|
||||
JSON.stringify(sortedI18n, null, 2) +
|
||||
'\n```\n\n' + END_MARKER +
|
||||
readme.substring(endIndex)
|
||||
|
||||
await writeFile('./README.md', readme, 'utf8')
|
||||
const replacement = '```json\n' + JSON.stringify(sortedI18n, null, 2) + '\n```'
|
||||
await replaceInReadme(START_MARKER, END_MARKER, replacement)
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
import { replaceInReadme } from './replaceInReadme.js'
|
||||
import { readFile } from './fs.js'
|
||||
import replaceAll from 'string.prototype.replaceall'
|
||||
replaceAll.shim()
|
||||
|
||||
const DB_START_MARKER = '<!-- database API start -->'
|
||||
const DB_END_MARKER = '<!-- database API end -->'
|
||||
|
||||
const PICKER_START_MARKER = '<!-- picker API start -->'
|
||||
const PICKER_END_MARKER = '<!-- picker API end -->'
|
||||
|
||||
// Given the typedoc output and generated into docs-tmp, inject these into the README
|
||||
function removeLinks (str) {
|
||||
return str.replaceAll(/\[(.*?)\]\(.*?\)/sg, (_, p1) => p1)
|
||||
}
|
||||
|
||||
function incrementHeadings (str) {
|
||||
return str.replaceAll(/#{2,}/g, _ => `#${_}`) // increase indent of headings by one
|
||||
}
|
||||
|
||||
async function injectDatabaseDocs () {
|
||||
let docs = await readFile('./docs-tmp/classes/_database_.database.md', 'utf8')
|
||||
docs = docs.substring(docs.indexOf('### constructor'))
|
||||
docs = docs.replace('## Methods', '')
|
||||
docs = removeLinks(docs)
|
||||
docs = incrementHeadings(docs)
|
||||
|
||||
await replaceInReadme(DB_START_MARKER, DB_END_MARKER, docs)
|
||||
}
|
||||
|
||||
async function injectPickerDocs () {
|
||||
let docs = await readFile('./docs-tmp/classes/_picker_.picker.md', 'utf8')
|
||||
docs = docs.substring(docs.indexOf('### constructor'))
|
||||
docs = docs.replace(/## Properties.*/s, '')
|
||||
docs = removeLinks(docs)
|
||||
docs = incrementHeadings(docs)
|
||||
|
||||
await replaceInReadme(PICKER_START_MARKER, PICKER_END_MARKER, docs)
|
||||
}
|
||||
|
||||
async function main () {
|
||||
await injectDatabaseDocs()
|
||||
await injectPickerDocs()
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error(err)
|
||||
process.exit(1)
|
||||
})
|
|
@ -0,0 +1,13 @@
|
|||
import { readFile, writeFile } from './fs.js'
|
||||
|
||||
export async function replaceInReadme (startMarker, endMarker, replacement) {
|
||||
let readme = await readFile('./README.md', 'utf8')
|
||||
const startIndex = readme.indexOf(startMarker)
|
||||
const endIndex = readme.indexOf(endMarker) + endMarker.length
|
||||
readme = readme.substring(0, startIndex) +
|
||||
startMarker + '\n\n' +
|
||||
replacement +
|
||||
'\n\n' + endMarker +
|
||||
readme.substring(endIndex)
|
||||
await writeFile('./README.md', readme, 'utf8')
|
||||
}
|
|
@ -15,6 +15,7 @@
|
|||
"build:rollup": "NODE_ENV=production rollup -c",
|
||||
"build:css-docs": "node ./bin/generateCssDocs",
|
||||
"build:i18n-docs": "node ./bin/generateI18nDocs",
|
||||
"build:typedoc": "rm -fr docs-tmp && typedoc --out docs-tmp --theme markdown --excludePrivate --excludeNotExported --hideSources --hideBreadcrumbs ./src/types && node ./bin/generateTypeDocs && rm -fr docs-tmp",
|
||||
"dev": "NODE_ENV=development rollup -c -w",
|
||||
"lint": "standard && stylelint '**/*.scss'",
|
||||
"lint:fix": "standard --fix && stylelint --fix '**/*.scss'",
|
||||
|
@ -65,11 +66,15 @@
|
|||
"rollup-plugin-svelte-hot": "^0.7.0",
|
||||
"sass": "^1.26.7",
|
||||
"standard": "^14.3.3",
|
||||
"string.prototype.replaceall": "^1.0.3",
|
||||
"stylelint": "^13.5.0",
|
||||
"stylelint-config-recommended-scss": "^4.2.0",
|
||||
"stylelint-scss": "^3.17.2",
|
||||
"svelte": "^3.22.2",
|
||||
"svelte-preprocess": "^3.7.4"
|
||||
"svelte-preprocess": "^3.7.4",
|
||||
"typedoc": "^0.17.7",
|
||||
"typedoc-plugin-markdown": "^2.3.1",
|
||||
"typescript": "^3.9.5"
|
||||
},
|
||||
"standard": {
|
||||
"ignore": [
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
import { Emoji, DatabaseConstructorOptions } from "./shared";
|
||||
|
||||
export default class Database {
|
||||
|
||||
/**
|
||||
* Create a new Database.
|
||||
*
|
||||
* Note that multiple Databases pointing to the same locale will share the
|
||||
* same underlying IndexedDB connection and database.
|
||||
*
|
||||
* @param dataSource - URL to fetch the emojibase data from
|
||||
* @param locale - Locale string
|
||||
*/
|
||||
constructor({
|
||||
dataSource = 'https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json',
|
||||
locale = 'en'
|
||||
}: DatabaseConstructorOptions = {}) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves when the Database is ready, or throws an error if
|
||||
* the Database could not initialize.
|
||||
*
|
||||
* Note that you don't need to do this before calling other APIs – they will
|
||||
* all wait for this promise to resolve before doing anything.
|
||||
*/
|
||||
ready(): Promise<void> {
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all emoji belonging to a group, ordered by `order`.
|
||||
* @param group - the group number
|
||||
*/
|
||||
getEmojiByGroup(group: number): Promise<Emoji[]> {
|
||||
return Promise.resolve([])
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all emoji matching the given search query, ordered by `order`.
|
||||
* @param query - search query string
|
||||
*/
|
||||
getEmojiBySearchQuery(query: string): Promise<Emoji[]> {
|
||||
return Promise.resolve([])
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a single emoji matching the shortcode, or null if not found.
|
||||
* @param shortcode
|
||||
*/
|
||||
getEmojiByShortcode(shortcode: string): Promise<Emoji | null> {
|
||||
return Promise.resolve(null)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a single emoji matching the unicode string, or null if not found.
|
||||
* @param unicode - unicode string
|
||||
*/
|
||||
getEmojiByUnicode(unicode: string): Promise<Emoji | null> {
|
||||
return Promise.resolve(null)
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes the underlying IndexedDB connection. The Database is not usable after that (or any other Databases
|
||||
* with the same locale).
|
||||
*
|
||||
*/
|
||||
close(): Promise<void> {
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the underlying IndexedDB database. The Database is not usable after that (or any other Databases
|
||||
* with the same locale).
|
||||
*
|
||||
*/
|
||||
delete(): Promise<void> {
|
||||
return Promise.resolve()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
import {PickerConstructorOptions} from "./shared";
|
||||
|
||||
export default class Picker extends HTMLElement {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param dataSource - URL to fetch the emojibase data from
|
||||
* @param locale - Locale string
|
||||
* @param i18n - i18n object (see below for details)
|
||||
*/
|
||||
constructor({
|
||||
dataSource = 'https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json',
|
||||
locale = 'en',
|
||||
i18n = {}
|
||||
}: PickerConstructorOptions = {}) {
|
||||
super()
|
||||
}
|
||||
}
|
||||
|
||||
// see https://justinfagnani.com/2019/11/01/how-to-publish-web-components-to-npm/
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"emoji-picker": Picker,
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
export interface Emoji {
|
||||
annotation: string;
|
||||
emoticon?: string;
|
||||
group: number;
|
||||
name: string;
|
||||
order: number;
|
||||
shortcodes: string[];
|
||||
tags?: string[];
|
||||
version: number;
|
||||
unicode: string;
|
||||
}
|
||||
|
||||
export interface DatabaseConstructorOptions {
|
||||
dataSource?: string,
|
||||
locale?: string
|
||||
}
|
||||
|
||||
export interface PickerConstructorOptions {
|
||||
dataSource?: string,
|
||||
locale?: string,
|
||||
i18n?: object
|
||||
}
|
184
yarn.lock
184
yarn.lock
|
@ -1562,6 +1562,11 @@ asynckit@^0.4.0:
|
|||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
|
||||
|
||||
at-least-node@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
||||
|
||||
atob@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||
|
@ -2074,6 +2079,11 @@ commander@^5.1.0:
|
|||
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
|
||||
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
|
||||
|
||||
commander@~2.20.3:
|
||||
version "2.20.3"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||
|
||||
commondir@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
||||
|
@ -3209,6 +3219,25 @@ fresh@0.5.2:
|
|||
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
|
||||
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
|
||||
|
||||
fs-extra@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
|
||||
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-extra@^9.0.0:
|
||||
version "9.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
|
||||
integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
|
||||
dependencies:
|
||||
at-least-node "^1.0.0"
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^6.0.1"
|
||||
universalify "^1.0.0"
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
|
@ -3313,7 +3342,7 @@ glob-to-regexp@^0.4.0:
|
|||
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
|
||||
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
||||
|
||||
glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
||||
glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
|
@ -3377,7 +3406,7 @@ gonzales-pe@^4.3.0:
|
|||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4:
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
|
||||
version "4.2.4"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
|
||||
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
|
||||
|
@ -3387,6 +3416,18 @@ growly@^1.3.0:
|
|||
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
|
||||
integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
|
||||
|
||||
handlebars@^4.7.6:
|
||||
version "4.7.6"
|
||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e"
|
||||
integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==
|
||||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
neo-async "^2.6.0"
|
||||
source-map "^0.6.1"
|
||||
wordwrap "^1.0.0"
|
||||
optionalDependencies:
|
||||
uglify-js "^3.1.4"
|
||||
|
||||
har-schema@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
|
||||
|
@ -3458,6 +3499,11 @@ has@^1.0.3:
|
|||
dependencies:
|
||||
function-bind "^1.1.1"
|
||||
|
||||
highlight.js@^10.0.0:
|
||||
version "10.0.3"
|
||||
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.0.3.tgz#5effcc58420f113f279a0badb8ac50c4be06e63b"
|
||||
integrity sha512-9FG7SSzv9yOY5CGGxfI6NDm7xLYtMOjKtPBxw7Zff3t5UcRcUNTGEeS8lNjhceL34KeetLMoGMFTGoaa83HwyQ==
|
||||
|
||||
hosted-git-info@^2.1.4:
|
||||
version "2.8.8"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
|
||||
|
@ -3649,6 +3695,11 @@ inquirer@^7.0.0:
|
|||
strip-ansi "^6.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
interpret@^1.0.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
|
||||
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
|
||||
|
||||
invariant@^2.2.2, invariant@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||
|
@ -3888,6 +3939,13 @@ is-reference@^1.1.2:
|
|||
dependencies:
|
||||
"@types/estree" "0.0.39"
|
||||
|
||||
is-regex@^1.0.4:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff"
|
||||
integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==
|
||||
dependencies:
|
||||
has-symbols "^1.0.1"
|
||||
|
||||
is-regex@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
|
||||
|
@ -4511,6 +4569,22 @@ json5@^2.1.2:
|
|||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
jsonfile@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
|
||||
integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
|
||||
dependencies:
|
||||
universalify "^1.0.0"
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
jsprim@^1.2.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||
|
@ -4738,6 +4812,11 @@ loose-envify@^1.0.0, loose-envify@^1.4.0:
|
|||
dependencies:
|
||||
js-tokens "^3.0.0 || ^4.0.0"
|
||||
|
||||
lunr@^2.3.8:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072"
|
||||
integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg==
|
||||
|
||||
magic-string@^0.24.0:
|
||||
version "0.24.1"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.24.1.tgz#7e38e5f126cae9f15e71f0cf8e450818ca7d5a8f"
|
||||
|
@ -4800,6 +4879,11 @@ markdown-table@^2.0.0:
|
|||
dependencies:
|
||||
repeat-string "^1.0.0"
|
||||
|
||||
marked@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-1.0.0.tgz#d35784245a04871e5988a491e28867362e941693"
|
||||
integrity sha512-Wo+L1pWTVibfrSr+TTtMuiMfNzmZWiOPeO7rZsQUY5bgsxpHesBEcIWJloWVTFnrMXnf/TL30eTFSGJddmQAng==
|
||||
|
||||
mathml-tag-names@^2.1.3:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
|
||||
|
@ -4915,7 +4999,7 @@ min-indent@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256"
|
||||
integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=
|
||||
|
||||
minimatch@^3.0.4:
|
||||
minimatch@^3.0.0, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
|
@ -5003,6 +5087,11 @@ negotiator@0.6.2:
|
|||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
|
||||
|
||||
neo-async@^2.6.0:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
|
||||
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
|
||||
|
||||
nice-try@^1.0.4:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||
|
@ -5657,7 +5746,7 @@ process-nextick-args@~2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
|
||||
progress@^2.0.0:
|
||||
progress@^2.0.0, progress@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
||||
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
|
||||
|
@ -5860,6 +5949,13 @@ realistic-structured-clone@^2.0.1:
|
|||
typeson "^5.8.2"
|
||||
typeson-registry "^1.0.0-alpha.20"
|
||||
|
||||
rechoir@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
|
||||
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
redent@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
|
||||
|
@ -6090,7 +6186,7 @@ resolve-url@^0.2.1:
|
|||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2:
|
||||
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2:
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
|
||||
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
|
||||
|
@ -6361,6 +6457,15 @@ shell-quote@^1.6.1:
|
|||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
|
||||
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
|
||||
|
||||
shelljs@^0.8.4:
|
||||
version "0.8.4"
|
||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
|
||||
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
interpret "^1.0.0"
|
||||
rechoir "^0.6.2"
|
||||
|
||||
shellwords@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
|
||||
|
@ -6634,6 +6739,17 @@ string.prototype.padend@^3.0.0:
|
|||
define-properties "^1.1.3"
|
||||
es-abstract "^1.17.0-next.1"
|
||||
|
||||
string.prototype.replaceall@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.replaceall/-/string.prototype.replaceall-1.0.3.tgz#f7839a016a290b60769138f4d4938238cbb5a809"
|
||||
integrity sha512-GF8JS9jtHSDkIsVMsYBPR4dItwaU6xOSPsMcRGTAbBr12ZDfyKMtgxdC2HDFbsMogGel29pmwxioJoXeu9ztIg==
|
||||
dependencies:
|
||||
define-properties "^1.1.3"
|
||||
es-abstract "^1.17.0-next.1"
|
||||
function-bind "^1.1.1"
|
||||
has-symbols "^1.0.1"
|
||||
is-regex "^1.0.4"
|
||||
|
||||
string.prototype.trimend@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
|
||||
|
@ -7117,6 +7233,42 @@ typedarray-to-buffer@^3.1.5:
|
|||
dependencies:
|
||||
is-typedarray "^1.0.0"
|
||||
|
||||
typedoc-default-themes@^0.10.1:
|
||||
version "0.10.1"
|
||||
resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.10.1.tgz#eb27b7d689457c7ec843e47ec0d3e500581296a7"
|
||||
integrity sha512-SuqAQI0CkwhqSJ2kaVTgl37cWs733uy9UGUqwtcds8pkFK8oRF4rZmCq+FXTGIb9hIUOu40rf5Kojg0Ha6akeg==
|
||||
dependencies:
|
||||
lunr "^2.3.8"
|
||||
|
||||
typedoc-plugin-markdown@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-2.3.1.tgz#c4c6c3228f625b24875e87cc1622b9a259b914ce"
|
||||
integrity sha512-7rlmg1tLjddYy11uznHCAlyoOpxdWnFXqGEZ7j2mJ4KJg2avwWgEpw6SFZVofgPCGn36zklpFS51lHxYSRTLVQ==
|
||||
dependencies:
|
||||
fs-extra "^9.0.0"
|
||||
handlebars "^4.7.6"
|
||||
|
||||
typedoc@^0.17.7:
|
||||
version "0.17.7"
|
||||
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.17.7.tgz#70797401140403a5f91589ed3f4f24c03841bf7a"
|
||||
integrity sha512-PEnzjwQAGjb0O8a6VDE0lxyLAadqNujN5LltsTUhZETolRMiIJv6Ox+Toa8h0XhKHqAOh8MOmB0eBVcWz6nuAw==
|
||||
dependencies:
|
||||
fs-extra "^8.1.0"
|
||||
handlebars "^4.7.6"
|
||||
highlight.js "^10.0.0"
|
||||
lodash "^4.17.15"
|
||||
lunr "^2.3.8"
|
||||
marked "1.0.0"
|
||||
minimatch "^3.0.0"
|
||||
progress "^2.0.3"
|
||||
shelljs "^0.8.4"
|
||||
typedoc-default-themes "^0.10.1"
|
||||
|
||||
typescript@^3.9.5:
|
||||
version "3.9.5"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36"
|
||||
integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==
|
||||
|
||||
typeson-registry@^1.0.0-alpha.20:
|
||||
version "1.0.0-alpha.37"
|
||||
resolved "https://registry.yarnpkg.com/typeson-registry/-/typeson-registry-1.0.0-alpha.37.tgz#23e6bffc264b4dfc80603e2a8545bd4750102d42"
|
||||
|
@ -7131,6 +7283,13 @@ typeson@5.18.2, typeson@^5.8.2:
|
|||
resolved "https://registry.yarnpkg.com/typeson/-/typeson-5.18.2.tgz#0d217fc0e11184a66aa7ca0076d9aa7707eb7bc2"
|
||||
integrity sha512-Vetd+OGX05P4qHyHiSLdHZ5Z5GuQDrHHwSdjkqho9NSCYVSLSfRMjklD/unpHH8tXBR9Z/R05rwJSuMpMFrdsw==
|
||||
|
||||
uglify-js@^3.1.4:
|
||||
version "3.9.4"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.4.tgz#867402377e043c1fc7b102253a22b64e5862401b"
|
||||
integrity sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==
|
||||
dependencies:
|
||||
commander "~2.20.3"
|
||||
|
||||
unherit@^1.0.4:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
|
||||
|
@ -7232,6 +7391,16 @@ unist-util-visit@^2.0.0:
|
|||
unist-util-is "^4.0.0"
|
||||
unist-util-visit-parents "^3.0.0"
|
||||
|
||||
universalify@^0.1.0:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
||||
|
||||
universalify@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
|
||||
integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
|
||||
|
||||
unpipe@1.0.0, unpipe@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
||||
|
@ -7474,6 +7643,11 @@ word-wrap@~1.2.3:
|
|||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||
|
||||
wordwrap@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
||||
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
|
||||
|
||||
wrap-ansi@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
|
||||
|
|
Loading…
Reference in New Issue