aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinigami <[email protected]>2022-08-07 04:54:28 +0800
committerGitHub <[email protected]>2022-08-06 20:54:28 +0000
commit51a88634092dbe17985e434572385af4e99d1022 (patch)
tree197d605ffabbd765336de45b610a35437bf35c77
parent0668cfe393368f59feffbb0e96540603bc2d8755 (diff)
downloadfaker-51a88634092dbe17985e434572385af4e99d1022.tar.xz
faker-51a88634092dbe17985e434572385af4e99d1022.zip
docs: use vitepress v1 (#993)
-rw-r--r--docs/.vitepress/config.ts204
-rw-r--r--docs/about/team.md4
-rw-r--r--docs/about/team/TeamMember.ts7
-rw-r--r--docs/about/team/TeamMember.vue76
-rw-r--r--docs/about/team/TeamPage.vue89
-rw-r--r--docs/about/team/members.json132
-rw-r--r--docs/guide/migration-guide-v5.md (renamed from docs/migration-guide-v5/index.md)0
-rw-r--r--docs/index.md45
-rw-r--r--package.json4
-rw-r--r--pnpm-lock.yaml340
-rw-r--r--scripts/apidoc.ts3
-rw-r--r--scripts/apidoc/signature.ts63
-rw-r--r--test/scripts/apidoc/signature.expected.json28
-rw-r--r--test/scripts/apidoc/signature.spec.ts11
14 files changed, 524 insertions, 482 deletions
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index 91e7fd2f..9b013d2e 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -1,93 +1,7 @@
-import type { DefaultTheme } from 'vitepress';
import { defineConfig } from 'vitepress';
import { apiPages } from './api-pages';
import { currentVersion, oldVersions } from './versions';
-const nav: DefaultTheme.NavItem[] = [
- { text: 'Guide', link: '/guide/' },
- // { text: 'Playground', link: '/playground/' },
- {
- text: 'Ecosystem',
- items: [
- { text: 'Discord ', link: 'https://chat.fakerjs.dev' },
- { text: 'StackBlitz ', link: 'https://fakerjs.dev/new' },
- { text: 'Twitter ', link: 'https://twitter.com/faker_js' },
- ],
- },
- {
- text: 'About',
- items: [
- {
- text: 'Announcements',
- link: '/about/announcements',
- },
- {
- text: 'Team',
- link: '/about/team',
- },
- ],
- },
- {
- text: currentVersion,
- items: [
- {
- text: 'Release Notes',
- link: 'https://github.com/faker-js/faker/releases',
- },
- ...oldVersions.map(({ version, link }) => ({
- text: version,
- link,
- })),
- ],
- },
-];
-
-const sidebar: DefaultTheme.MultiSideBarConfig = {
- '/about': [
- {
- text: 'About',
- children: [
- {
- text: 'Announcements',
- link: '/about/announcements',
- children: [
- { text: '2022-01-14', link: '/about/announcements/2022-01-14' },
- ],
- },
- {
- text: 'Team',
- link: '/about/team',
- },
- ],
- },
- ],
- '/': [
- {
- text: 'Guide',
- children: [
- {
- text: 'Getting Started',
- link: '/guide/',
- },
- ],
- },
- {
- text: 'API',
- children: apiPages,
- },
- {
- text: 'Migrating from Faker v5',
- link: '/migration-guide-v5/',
- },
- ],
-};
-
-const algolia: DefaultTheme.AlgoliaSearchOptions = {
- apiKey: process.env.API_KEY,
- appId: process.env.APP_ID,
- indexName: 'fakerjs',
-};
-
const description =
'Generate massive amounts of fake (but reasonable) data for testing and development.';
const image = 'https://fakerjs.dev/social-image.png';
@@ -95,6 +9,7 @@ const image = 'https://fakerjs.dev/social-image.png';
export default defineConfig({
title: 'Faker',
description,
+
head: [
['link', { rel: 'icon', href: '/logo.svg' }],
['meta', { name: 'theme-color', content: '#40af7c' }],
@@ -141,15 +56,116 @@ export default defineConfig({
},
],
],
+
themeConfig: {
- repo: 'faker-js/faker',
logo: '/logo.svg',
- docsDir: 'docs',
- docsBranch: 'main',
- editLinks: true,
- editLinkText: 'Suggest changes to this page',
- nav,
- sidebar,
- algolia,
+
+ editLink: {
+ pattern: 'https://github.com/faker-js/faker/edit/main/docs/:path',
+ text: 'Suggest changes to this page',
+ },
+
+ socialLinks: [
+ { icon: 'twitter', link: 'https://twitter.com/faker_js' },
+ { icon: 'discord', link: 'https://chat.fakerjs.dev' },
+ { icon: 'github', link: 'https://github.com/faker-js/faker' },
+ ],
+
+ algolia: {
+ apiKey: process.env.API_KEY,
+ appId: process.env.APP_ID,
+ indexName: 'fakerjs',
+ },
+
+ footer: {
+ message: 'Released under the MIT License.',
+ copyright: 'Copyright ยฉ 2022-present Faker.',
+ },
+
+ nav: [
+ { text: 'Guide', link: '/guide/' },
+ // { text: 'Playground', link: '/playground/' },
+ {
+ text: 'Ecosystem',
+ items: [{ text: 'StackBlitz ', link: 'https://fakerjs.dev/new' }],
+ },
+ {
+ text: 'About',
+ items: [
+ {
+ text: 'Announcements',
+ link: '/about/announcements',
+ },
+ {
+ text: 'Team',
+ link: '/about/team',
+ },
+ ],
+ },
+ {
+ text: currentVersion,
+ items: [
+ {
+ text: 'Release Notes',
+ link: 'https://github.com/faker-js/faker/releases',
+ },
+ ...oldVersions.map(({ version, link }) => ({
+ text: version,
+ link,
+ })),
+ ],
+ },
+ ],
+
+ sidebar: {
+ '/guide/': [
+ {
+ text: 'Guide',
+ items: [
+ {
+ text: 'Getting Started',
+ link: '/guide/',
+ },
+ ],
+ },
+ {
+ text: 'API',
+ items: apiPages,
+ },
+ {
+ text: 'Migrations',
+ items: [
+ {
+ text: 'Migrating from Faker v5',
+ link: '/guide/migration-guide-v5',
+ },
+ ],
+ },
+ ],
+ '/api/': [
+ {
+ text: 'API',
+ items: apiPages,
+ },
+ ],
+ '/about/': [
+ {
+ text: 'About',
+ items: [
+ {
+ text: 'Announcements',
+ link: '/about/announcements',
+ // children: [
+ // { text: '2022-01-14', link: '/about/announcements/2022-01-14' },
+ // ],
+ },
+ {
+ text: 'Team',
+ link: '/about/team',
+ },
+ ],
+ },
+ ],
+ },
},
});
diff --git a/docs/about/team.md b/docs/about/team.md
index 9013ee90..a3502b76 100644
--- a/docs/about/team.md
+++ b/docs/about/team.md
@@ -1,9 +1,11 @@
---
+layout: page
title: Team
+description: The development of Faker is guided by an international team.
---
<script setup>
- import TeamPage from './team/TeamPage.vue'
+import TeamPage from './team/TeamPage.vue'
</script>
<TeamPage />
diff --git a/docs/about/team/TeamMember.ts b/docs/about/team/TeamMember.ts
deleted file mode 100644
index 01fe3771..00000000
--- a/docs/about/team/TeamMember.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export interface Member {
- readonly name: string;
- readonly github: string;
- readonly gitlab?: string;
- readonly twitter?: string;
- readonly roles: readonly string[];
-}
diff --git a/docs/about/team/TeamMember.vue b/docs/about/team/TeamMember.vue
deleted file mode 100644
index 03514a1f..00000000
--- a/docs/about/team/TeamMember.vue
+++ /dev/null
@@ -1,76 +0,0 @@
-<script lang="ts" setup>
-import type { Member } from './TeamMember';
-
-defineProps<{ member: Member }>();
-</script>
-
-<template>
- <div class="TeamMember">
- <div class="avatar">
- <img :src="'https://github.com/' + member.github + '.png'" width="120" />
- </div>
- <div class="info">
- <div class="name">
- <b>{{ member.name }}</b>
- </div>
- <div class="socials">
- <a :href="'https://github.com/' + member.github">
- <img
- src="https://img.icons8.com/ios-glyphs/344/github.png"
- alt="GitHub"
- title="GitHub"
- width="32"
- />
- </a>
- <a v-if="member.gitlab" :href="'https://gitlab.com/' + member.gitlab">
- <img
- src="https://img.icons8.com/color/344/gitlab.png"
- alt="GitLab"
- title="GitLab"
- width="32"
- />
- </a>
- <a
- v-if="member.twitter"
- :href="'https://twitter.com/' + member.twitter"
- >
- <img
- src="https://img.icons8.com/color/344/twitter.png"
- alt="Twitter"
- title="Twitter"
- width="32"
- />
- </a>
- </div>
- <div v-if="member.roles?.length" class="roles">
- <span>Roles: </span>
- <template v-for="(role, index) in member.roles">
- <i>{{ role }}</i>
- <span v-if="index < member.roles.length - 1">, </span>
- </template>
- </div>
- </div>
- </div>
-</template>
-
-<style scoped>
-.TeamMember {
- padding: 0.5em;
-
- display: flex;
- align-items: center;
-}
-
-.TeamMember .avatar {
- flex: 0 0 120px;
- margin-right: 1em;
-}
-
-.TeamMember .avatar img {
- border-radius: 50%;
-}
-
-.TeamMember .roles i {
- white-space: nowrap;
-}
-</style>
diff --git a/docs/about/team/TeamPage.vue b/docs/about/team/TeamPage.vue
index 99801f17..67171917 100644
--- a/docs/about/team/TeamPage.vue
+++ b/docs/about/team/TeamPage.vue
@@ -1,60 +1,41 @@
-<script lang="ts" setup>
-import membersData from './members.json';
-import TeamMember from './TeamMember.vue';
+<script setup lang="ts">
+import {
+ VPTeamMembers,
+ VPTeamPage,
+ VPTeamPageSection,
+ VPTeamPageTitle,
+} from 'vitepress/theme';
+import { contributors, core, emeriti } from './members.json';
</script>
<template>
- <div class="TeamPage">
- <div class="core">
- <h2>Core Team</h2>
- <div class="members">
- <TeamMember
- v-for="member in membersData.core"
- :key="member.name"
- :member="member"
- />
- </div>
- </div>
+ <VPTeamPage>
+ <VPTeamPageTitle>
+ <template #title>Meet the Team</template>
+ <template #lead>
+ The development of Faker is guided by an international team, some of
+ whom have chosen to be featured below.
+ </template>
+ </VPTeamPageTitle>
- <div class="contributors">
- <h2>Contributors</h2>
- <div class="members">
- <TeamMember
- v-for="member in membersData.contributors"
- :key="member.name"
- :member="member"
- />
- </div>
- </div>
+ <VPTeamMembers :members="core" />
- <div class="previous">
- <h2>Honorable previous members</h2>
- <div class="members">
- <TeamMember
- v-for="member in membersData.previous"
- :key="member.name"
- :member="member"
- />
- </div>
- </div>
- </div>
-</template>
-
-<style scoped>
-.TeamPage .members {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- width: 100%;
-}
+ <VPTeamPageSection>
+ <template #title>Team Contributors</template>
+ <template #members>
+ <VPTeamMembers :members="contributors" />
+ </template>
+ </VPTeamPageSection>
-.TeamPage .members .TeamMember {
- width: 50%;
-}
-
-@media (max-width: 120rem) {
- .TeamPage .members .TeamMember {
- width: 100%;
- }
-}
-</style>
+ <VPTeamPageSection>
+ <template #title>Team Emeriti</template>
+ <template #lead>
+ Here we honor some no-longer-active team members who have made valuable
+ contributions in the past.
+ </template>
+ <template #members>
+ <VPTeamMembers size="small" :members="emeriti" />
+ </template>
+ </VPTeamPageSection>
+ </VPTeamPage>
+</template>
diff --git a/docs/about/team/members.json b/docs/about/team/members.json
index 31018175..7732eab2 100644
--- a/docs/about/team/members.json
+++ b/docs/about/team/members.json
@@ -1,77 +1,141 @@
{
"core": [
{
+ "avatar": "https://github.com/Shinigami92.png",
"name": "Christopher Quadflieg",
- "github": "Shinigami92",
- "twitter": "Shini_92",
- "roles": ["Code Maintainer"]
+ "title": "Code Maintainer",
+ "org": "Faker",
+ "orgLink": "https://fakerjs.dev",
+ "desc": "Passionate TypeScript enthusiast. Also core member of Vite.",
+ "links": [
+ { "icon": "github", "link": "https://github.com/Shinigami92" },
+ { "icon": "twitter", "link": "https://twitter.com/Shini_92" }
+ ],
+ "sponsor": "https://github.com/sponsors/Shinigami92"
},
{
+ "avatar": "https://github.com/damienwebdev.png",
"name": "Damien Retzinger",
- "github": "damienwebdev",
- "twitter": "damienwebdev",
- "roles": ["Advisor"]
+ "title": "Advisor",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/damienwebdev" },
+ { "icon": "twitter", "link": "https://twitter.com/damienwebdev" }
+ ],
+ "sponsor": "https://github.com/sponsors/damienwebdev"
},
{
+ "avatar": "https://github.com/prisis.png",
"name": "Daniel Bannert",
- "github": "prisis",
- "twitter": "_prisis_",
- "roles": ["Organization Owner"]
+ "title": "Organization Owner",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/prisis" },
+ { "icon": "twitter", "link": "https://twitter.com/_prisis_" }
+ ],
+ "sponsor": "https://github.com/sponsors/prisis"
},
{
+ "avatar": "https://github.com/ST-DDT.png",
"name": "Daniel Theuke",
- "github": "ST-DDT",
- "roles": ["Code Maintainer", "Docs Automation"]
+ "title": "Code Maintainer | Docs Automation",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [{ "icon": "github", "link": "https://github.com/ST-DDT" }],
+ "sponsor": "https://github.com/sponsors/ST-DDT"
},
{
+ "avatar": "https://github.com/clarkerican.png",
"name": "Erica Clark",
- "github": "clarkerican",
- "twitter": "clarkerican",
- "roles": []
+ "title": "",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/clarkerican" },
+ { "icon": "twitter", "link": "https://twitter.com/clarkerican" }
+ ]
},
{
+ "avatar": "https://github.com/griest024.png",
"name": "griest",
- "github": "griest024",
- "gitlab": "griest",
- "roles": ["Code Reviewer"]
+ "title": "Code Reviewer",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/griest024" },
+ { "icon": "gitlab", "link": "https://gitlab.com/griest" }
+ ]
},
{
+ "avatar": "https://github.com/JessicaSachs.png",
"name": "Jessica Sachs",
- "github": "JessicaSachs",
- "twitter": "_JessicaSachs",
- "roles": ["Press Officer"]
+ "title": "Press Officer",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/JessicaSachs" },
+ { "icon": "twitter", "link": "https://twitter.com/_JessicaSachs" }
+ ],
+ "sponsor": "https://github.com/sponsors/JessicaSachs"
}
],
"contributors": [
{
+ "avatar": "https://github.com/import-brain.png",
"name": "Eric Cheng",
- "github": "import-brain",
- "roles": ["Triage", "Contributor"]
+ "title": "Triage",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [{ "icon": "github", "link": "https://github.com/import-brain" }]
},
{
+ "avatar": "https://github.com/xDivisionByZerox.png",
"name": "Leyla Jรคhnig",
- "github": "xDivisionByZerox",
- "roles": ["Contributor"]
+ "title": "Contributor",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/xDivisionByZerox" }
+ ]
},
{
+ "avatar": "https://github.com/pkuczynski.png",
"name": "Piotr Kuczynski",
- "github": "pkuczynski",
- "twitter": "PiotrKuczynski",
- "roles": ["Contributor"]
+ "title": "Contributor",
+ "org": "",
+ "orgLink": "",
+ "desc": "",
+ "links": [
+ { "icon": "github", "link": "https://github.com/pkuczynski" },
+ { "icon": "twitter", "link": "https://twitter.com/PiotrKuczynski" }
+ ],
+ "sponsor": "https://github.com/sponsors/pkuczynski"
}
],
- "previous": [
+ "emeriti": [
{
+ "avatar": "https://github.com/MateusDadalto.png",
"name": "Mateus Dadalto",
- "github": "MateusDadalto",
- "twitter": "MateusD",
- "roles": []
+ "links": [
+ { "icon": "github", "link": "https://github.com/MateusDadalto" },
+ { "icon": "twitter", "link": "https://twitter.com/MateusD" }
+ ]
},
{
+ "avatar": "https://github.com/mmahalwy.png",
"name": "Mo Mahallawy",
- "github": "mmahalwy",
- "twitter": "mmahalwy",
- "roles": []
+ "links": [
+ { "icon": "github", "link": "https://github.com/mmahalwy" },
+ { "icon": "twitter", "link": "https://twitter.com/mmahalwy" }
+ ]
}
]
}
diff --git a/docs/migration-guide-v5/index.md b/docs/guide/migration-guide-v5.md
index 1fcc229f..1fcc229f 100644
--- a/docs/migration-guide-v5/index.md
+++ b/docs/guide/migration-guide-v5.md
diff --git a/docs/index.md b/docs/index.md
index 7a4b9300..8f5f6b55 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,27 +1,38 @@
---
-home: true
-title: 'Faker'
-heroImage: /logo.svg
-heroAlt: 'Cartoon logo of a panda magician'
-heroText: 'Faker'
-tagline: 'Generate massive amounts of fake (but realistic) data for testing and development.'
-actionText: Get Started
-actionLink: /guide/
-altActionText: Star
-altActionLink: https://github.com/faker-js/faker
+layout: home
+
+hero:
+ name: Faker
+ text: ''
+ tagline: Generate massive amounts of fake (but realistic) data for testing and development.
+ image:
+ src: /logo.svg
+ alt: Cartoon logo of a panda magician
+ actions:
+ - theme: brand
+ text: Get Started
+ link: /guide/
+ - theme: alt
+ text: View on GitHub
+ link: https://github.com/faker-js/faker
features:
- - title: ๐Ÿ‘  Products
+ - icon: ๐Ÿ‘ 
+ title: Products
details: Generate Prices, Product Names, Adjectives, and Descriptions.
- - title: ๐Ÿ’ธ Finance
+ - icon: ๐Ÿ’ธ
+ title: Finance
details: Create stubbed out Account Details, Transactions, and Crypto Addresses.
- - title: ๐Ÿ’Œ Addresses
+ - icon: ๐Ÿ’Œ
+ title: Addresses
details: Generate valid Addresses, Zip Codes, Street Names, States, and Countries!
- - title: ๐Ÿ‘พ Hacker Jargon
+ - icon: ๐Ÿ‘พ
+ title: Hacker Jargon
details: โ€œTry to reboot the SQL bus, maybe it will bypass the virtual application!โ€
- - title: โฐ Time-based Data
+ - icon: โฐ
+ title: Time-based Data
details: Past, present, future, recent, soon... whenever!
- - title: ๐ŸŒ Localization
+ - icon: ๐ŸŒ
+ title: Localization
details: Set a locale to generate realistic looking Names, Addresses, and Phone Numbers.
-footer: MIT Licensed 2022
---
diff --git a/package.json b/package.json
index 0ca24346..f1dab00f 100644
--- a/package.json
+++ b/package.json
@@ -95,7 +95,7 @@
"devDependencies": {
"@algolia/client-search": "~4.14.2",
"@types/markdown-it": "~12.2.3",
- "@types/node": "~18.0.6",
+ "@types/node": "~18.6.4",
"@types/prettier": "~2.6.4",
"@types/react": "~18.0.15",
"@types/sanitize-html": "~2.6.2",
@@ -132,7 +132,7 @@
"typescript": "~4.7.4",
"validator": "~13.7.0",
"vite": "~3.0.4",
- "vitepress": "~0.22.4",
+ "vitepress": "1.0.0-alpha.4",
"vitest": "~0.20.3"
},
"packageManager": "[email protected]",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9c019c43..d7744c21 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3,7 +3,7 @@ lockfileVersion: 5.4
specifiers:
'@algolia/client-search': ~4.14.2
'@types/markdown-it': ~12.2.3
- '@types/node': ~18.0.6
+ '@types/node': ~18.6.4
'@types/prettier': ~2.6.4
'@types/react': ~18.0.15
'@types/sanitize-html': ~2.6.2
@@ -40,13 +40,13 @@ specifiers:
typescript: ~4.7.4
validator: ~13.7.0
vite: ~3.0.4
- vitepress: ~0.22.4
+ vitepress: 1.0.0-alpha.4
vitest: ~0.20.3
devDependencies:
'@algolia/client-search': 4.14.2
'@types/markdown-it': 12.2.3
- '@types/node': 18.0.6
+ '@types/node': 18.6.4
'@types/prettier': 2.6.4
'@types/react': 18.0.15
'@types/sanitize-html': 2.6.2
@@ -83,7 +83,7 @@ devDependencies:
typescript: 4.7.4
validator: 13.7.0
vite: 3.0.4
- vitepress: 0.22.4_imvgwgjzmeisgkq5uchhrryg6y
+ vitepress: 1.0.0-alpha.4_imvgwgjzmeisgkq5uchhrryg6y
vitest: 0.20.3_a75h7wshsl437ycz6mdvk7ygqe
packages:
@@ -94,7 +94,7 @@ packages:
'@algolia/autocomplete-shared': 1.7.1
dev: true
- /@algolia/autocomplete-preset-algolia/1.7.1_bynjdelmk7kqfxl6rolmquprhm:
+ /@algolia/autocomplete-preset-algolia/1.7.1_qs6lk5nhygj2o3hj4sf6xnr724:
resolution: {integrity: sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg==}
peerDependencies:
'@algolia/client-search': ^4.9.1
@@ -102,55 +102,44 @@ packages:
dependencies:
'@algolia/autocomplete-shared': 1.7.1
'@algolia/client-search': 4.14.2
- algoliasearch: 4.13.1
+ algoliasearch: 4.14.2
dev: true
/@algolia/autocomplete-shared/1.7.1:
resolution: {integrity: sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg==}
dev: true
- /@algolia/cache-browser-local-storage/4.13.1:
- resolution: {integrity: sha512-UAUVG2PEfwd/FfudsZtYnidJ9eSCpS+LW9cQiesePQLz41NAcddKxBak6eP2GErqyFagSlnVXe/w2E9h2m2ttg==}
+ /@algolia/cache-browser-local-storage/4.14.2:
+ resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==}
dependencies:
- '@algolia/cache-common': 4.13.1
- dev: true
-
- /@algolia/cache-common/4.13.1:
- resolution: {integrity: sha512-7Vaf6IM4L0Jkl3sYXbwK+2beQOgVJ0mKFbz/4qSxKd1iy2Sp77uTAazcX+Dlexekg1fqGUOSO7HS4Sx47ZJmjA==}
+ '@algolia/cache-common': 4.14.2
dev: true
/@algolia/cache-common/4.14.2:
resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==}
dev: true
- /@algolia/cache-in-memory/4.13.1:
- resolution: {integrity: sha512-pZzybCDGApfA/nutsFK1P0Sbsq6fYJU3DwIvyKg4pURerlJM4qZbB9bfLRef0FkzfQu7W11E4cVLCIOWmyZeuQ==}
- dependencies:
- '@algolia/cache-common': 4.13.1
- dev: true
-
- /@algolia/client-account/4.13.1:
- resolution: {integrity: sha512-TFLiZ1KqMiir3FNHU+h3b0MArmyaHG+eT8Iojio6TdpeFcAQ1Aiy+2gb3SZk3+pgRJa/BxGmDkRUwE5E/lv3QQ==}
+ /@algolia/cache-in-memory/4.14.2:
+ resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==}
dependencies:
- '@algolia/client-common': 4.13.1
- '@algolia/client-search': 4.13.1
- '@algolia/transporter': 4.13.1
+ '@algolia/cache-common': 4.14.2
dev: true
- /@algolia/client-analytics/4.13.1:
- resolution: {integrity: sha512-iOS1JBqh7xaL5x00M5zyluZ9+9Uy9GqtYHv/2SMuzNW1qP7/0doz1lbcsP3S7KBbZANJTFHUOfuqyRLPk91iFA==}
+ /@algolia/client-account/4.14.2:
+ resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==}
dependencies:
- '@algolia/client-common': 4.13.1
- '@algolia/client-search': 4.13.1
- '@algolia/requester-common': 4.13.1
- '@algolia/transporter': 4.13.1
+ '@algolia/client-common': 4.14.2
+ '@algolia/client-search': 4.14.2
+ '@algolia/transporter': 4.14.2
dev: true
- /@algolia/client-common/4.13.1:
- resolution: {integrity: sha512-LcDoUE0Zz3YwfXJL6lJ2OMY2soClbjrrAKB6auYVMNJcoKZZ2cbhQoFR24AYoxnGUYBER/8B+9sTBj5bj/Gqbg==}
+ /@algolia/client-analytics/4.14.2:
+ resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==}
dependencies:
- '@algolia/requester-common': 4.13.1
- '@algolia/transporter': 4.13.1
+ '@algolia/client-common': 4.14.2
+ '@algolia/client-search': 4.14.2
+ '@algolia/requester-common': 4.14.2
+ '@algolia/transporter': 4.14.2
dev: true
/@algolia/client-common/4.14.2:
@@ -160,20 +149,12 @@ packages:
'@algolia/transporter': 4.14.2
dev: true
- /@algolia/client-personalization/4.13.1:
- resolution: {integrity: sha512-1CqrOW1ypVrB4Lssh02hP//YxluoIYXAQCpg03L+/RiXJlCs+uIqlzC0ctpQPmxSlTK6h07kr50JQoYH/TIM9w==}
- dependencies:
- '@algolia/client-common': 4.13.1
- '@algolia/requester-common': 4.13.1
- '@algolia/transporter': 4.13.1
- dev: true
-
- /@algolia/client-search/4.13.1:
- resolution: {integrity: sha512-YQKYA83MNRz3FgTNM+4eRYbSmHi0WWpo019s5SeYcL3HUan/i5R09VO9dk3evELDFJYciiydSjbsmhBzbpPP2A==}
+ /@algolia/client-personalization/4.14.2:
+ resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==}
dependencies:
- '@algolia/client-common': 4.13.1
- '@algolia/requester-common': 4.13.1
- '@algolia/transporter': 4.13.1
+ '@algolia/client-common': 4.14.2
+ '@algolia/requester-common': 4.14.2
+ '@algolia/transporter': 4.14.2
dev: true
/@algolia/client-search/4.14.2:
@@ -184,46 +165,30 @@ packages:
'@algolia/transporter': 4.14.2
dev: true
- /@algolia/logger-common/4.13.1:
- resolution: {integrity: sha512-L6slbL/OyZaAXNtS/1A8SAbOJeEXD5JcZeDCPYDqSTYScfHu+2ePRTDMgUTY4gQ7HsYZ39N1LujOd8WBTmM2Aw==}
- dev: true
-
/@algolia/logger-common/4.14.2:
resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==}
dev: true
- /@algolia/logger-console/4.13.1:
- resolution: {integrity: sha512-7jQOTftfeeLlnb3YqF8bNgA2GZht7rdKkJ31OCeSH2/61haO0tWPoNRjZq9XLlgMQZH276pPo0NdiArcYPHjCA==}
+ /@algolia/logger-console/4.14.2:
+ resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==}
dependencies:
- '@algolia/logger-common': 4.13.1
+ '@algolia/logger-common': 4.14.2
dev: true
- /@algolia/requester-browser-xhr/4.13.1:
- resolution: {integrity: sha512-oa0CKr1iH6Nc7CmU6RE7TnXMjHnlyp7S80pP/LvZVABeJHX3p/BcSCKovNYWWltgTxUg0U1o+2uuy8BpMKljwA==}
+ /@algolia/requester-browser-xhr/4.14.2:
+ resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==}
dependencies:
- '@algolia/requester-common': 4.13.1
- dev: true
-
- /@algolia/requester-common/4.13.1:
- resolution: {integrity: sha512-eGVf0ID84apfFEuXsaoSgIxbU3oFsIbz4XiotU3VS8qGCJAaLVUC5BUJEkiFENZIhon7hIB4d0RI13HY4RSA+w==}
+ '@algolia/requester-common': 4.14.2
dev: true
/@algolia/requester-common/4.14.2:
resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==}
dev: true
- /@algolia/requester-node-http/4.13.1:
- resolution: {integrity: sha512-7C0skwtLdCz5heKTVe/vjvrqgL/eJxmiEjHqXdtypcE5GCQCYI15cb+wC4ytYioZDMiuDGeVYmCYImPoEgUGPw==}
+ /@algolia/requester-node-http/4.14.2:
+ resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==}
dependencies:
- '@algolia/requester-common': 4.13.1
- dev: true
-
- /@algolia/transporter/4.13.1:
- resolution: {integrity: sha512-pICnNQN7TtrcYJqqPEXByV8rJ8ZRU2hCiIKLTLRyNpghtQG3VAFk6fVtdzlNfdUGZcehSKGarPIZEHlQXnKjgw==}
- dependencies:
- '@algolia/cache-common': 4.13.1
- '@algolia/logger-common': 4.13.1
- '@algolia/requester-common': 4.13.1
+ '@algolia/requester-common': 4.14.2
dev: true
/@algolia/transporter/4.14.2:
@@ -241,6 +206,11 @@ packages:
'@babel/highlight': 7.18.6
dev: true
+ /@babel/helper-string-parser/7.18.10:
+ resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/@babel/helper-validator-identifier/7.18.6:
resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
engines: {node: '>=6.9.0'}
@@ -255,18 +225,19 @@ packages:
js-tokens: 4.0.0
dev: true
- /@babel/parser/7.18.8:
- resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==}
+ /@babel/parser/7.18.11:
+ resolution: {integrity: sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.18.8
+ '@babel/types': 7.18.10
dev: true
- /@babel/types/7.18.8:
- resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==}
+ /@babel/types/7.18.10:
+ resolution: {integrity: sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==}
engines: {node: '>=6.9.0'}
dependencies:
+ '@babel/helper-string-parser': 7.18.10
'@babel/helper-validator-identifier': 7.18.6
to-fast-properties: 2.0.0
dev: true
@@ -315,14 +286,14 @@ packages:
- supports-color
dev: true
- /@docsearch/css/3.1.1:
- resolution: {integrity: sha512-utLgg7E1agqQeqCJn05DWC7XXMk4tMUUnL7MZupcknRu2OzGN13qwey2qA/0NAKkVBGugiWtON0+rlU0QIPojg==}
+ /@docsearch/css/3.2.0:
+ resolution: {integrity: sha512-jnNrO2JVYYhj2pP2FomlHIy6220n6mrLn2t9v2/qc+rM7M/fbIcKMgk9ky4RN+L/maUEmteckzg6/PIYoAAXJg==}
dev: true
- /@docsearch/js/3.1.1_imvgwgjzmeisgkq5uchhrryg6y:
- resolution: {integrity: sha512-bt7l2aKRoSnLUuX+s4LVQ1a7AF2c9myiZNv5uvQCePG5tpvVGpwrnMwqVXOUJn9q6FwVVhOrQMO/t+QmnnAEUw==}
+ /@docsearch/js/3.2.0_imvgwgjzmeisgkq5uchhrryg6y:
+ resolution: {integrity: sha512-FEgXW8a+ZKBjSDteFPsKQ7Hlzk6+18A2Y7NffjV+VTsE7P3uTvHPKHKDCeYMnAgXTatRCGHWCfP7YImTSwEFQA==}
dependencies:
- '@docsearch/react': 3.1.1_imvgwgjzmeisgkq5uchhrryg6y
+ '@docsearch/react': 3.2.0_imvgwgjzmeisgkq5uchhrryg6y
preact: 10.10.0
transitivePeerDependencies:
- '@algolia/client-search'
@@ -331,18 +302,18 @@ packages:
- react-dom
dev: true
- /@docsearch/react/3.1.1_imvgwgjzmeisgkq5uchhrryg6y:
- resolution: {integrity: sha512-cfoql4qvtsVRqBMYxhlGNpvyy/KlCoPqjIsJSZYqYf9AplZncKjLBTcwBu6RXFMVCe30cIFljniI4OjqAU67pQ==}
+ /@docsearch/react/3.2.0_imvgwgjzmeisgkq5uchhrryg6y:
+ resolution: {integrity: sha512-ATS3w5JBgQGQF0kHn5iOAPfnCCaoLouZQMmI7oENV//QMFrYbjhUZxBU9lIwAT7Rzybud+Jtb4nG5IEjBk3Ixw==}
peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0'
react: '>= 16.8.0 < 19.0.0'
react-dom: '>= 16.8.0 < 19.0.0'
dependencies:
'@algolia/autocomplete-core': 1.7.1
- '@algolia/autocomplete-preset-algolia': 1.7.1_bynjdelmk7kqfxl6rolmquprhm
- '@docsearch/css': 3.1.1
+ '@algolia/autocomplete-preset-algolia': 1.7.1_qs6lk5nhygj2o3hj4sf6xnr724
+ '@docsearch/css': 3.2.0
'@types/react': 18.0.15
- algoliasearch: 4.13.1
+ algoliasearch: 4.14.2
react: 18.2.0
react-dom: [email protected]
transitivePeerDependencies:
@@ -358,8 +329,8 @@ packages:
jsdoc-type-pratt-parser: 3.1.0
dev: true
- /@esbuild-kit/cjs-loader/2.3.1:
- resolution: {integrity: sha512-ov6ALYD9xZSPoo5mmGOQtEC/b0xXeUlPy65p8aHMHLF4DfBEe8Y+iquH2lTDsy6Iskc1uMTadF+SVADTSTNJMA==}
+ /@esbuild-kit/cjs-loader/2.3.2:
+ resolution: {integrity: sha512-3UIFKrGfq2d2R2A/SpJaeHTP5z3nrOnVMxE+cNpOuuW+Lotm0Sfbc9lVHCjcxaxgcx0MKI7g2FvxvWlylzDRKg==}
dependencies:
'@esbuild-kit/core-utils': 2.1.0
get-tsconfig: 4.2.0
@@ -372,8 +343,8 @@ packages:
source-map-support: 0.5.21
dev: true
- /@esbuild-kit/esm-loader/2.4.1:
- resolution: {integrity: sha512-6x44rygVfNODm27v0RW3wX5y61mqSrXDvB39G0nomgWWqxG3mjiKtPSwrFppdkrA39QIqDgVlD4gJmPOxnleSw==}
+ /@esbuild-kit/esm-loader/2.4.2:
+ resolution: {integrity: sha512-N9dPKAj8WOx6djVnStgILWXip4fjDcBk9L7azO0/uQDpu8Ee0eaL78mkN4Acid9BzvNAKWwdYXFJZnsVahNEew==}
dependencies:
'@esbuild-kit/core-utils': 2.1.0
get-tsconfig: 4.2.0
@@ -395,7 +366,7 @@ packages:
ajv: 6.12.6
debug: 4.3.4
espree: 9.3.3
- globals: 13.16.0
+ globals: 13.17.0
ignore: 5.2.0
import-fresh: 3.3.0
js-yaml: 4.1.0
@@ -512,12 +483,12 @@ packages:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true
- /@types/node/14.18.22:
- resolution: {integrity: sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw==}
+ /@types/node/14.18.23:
+ resolution: {integrity: sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA==}
dev: true
- /@types/node/18.0.6:
- resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==}
+ /@types/node/18.6.4:
+ resolution: {integrity: sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -562,11 +533,15 @@ packages:
resolution: {integrity: sha512-9rQHeAqz6Jw3gDhttkmWetoriW5FPbxylv/6h6mXtaj2NKRcOvOmvfcswVdLVpbuy10NrO486K3lCoLgoIhiIA==}
dev: true
+ /@types/web-bluetooth/0.0.14:
+ resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==}
+ dev: true
+
/@types/yauzl/2.10.0:
resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
requiresBuild: true
dependencies:
- '@types/node': 18.0.6
+ '@types/node': 18.6.4
dev: true
optional: true
@@ -716,7 +691,7 @@ packages:
/@vue/compiler-core/3.2.37:
resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
dependencies:
- '@babel/parser': 7.18.8
+ '@babel/parser': 7.18.11
'@vue/shared': 3.2.37
estree-walker: 2.0.2
source-map: 0.6.1
@@ -732,7 +707,7 @@ packages:
/@vue/compiler-sfc/3.2.37:
resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
dependencies:
- '@babel/parser': 7.18.8
+ '@babel/parser': 7.18.11
'@vue/compiler-core': 3.2.37
'@vue/compiler-dom': 3.2.37
'@vue/compiler-ssr': 3.2.37
@@ -751,10 +726,14 @@ packages:
'@vue/shared': 3.2.37
dev: true
+ /@vue/devtools-api/6.2.1:
+ resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==}
+ dev: true
+
/@vue/reactivity-transform/3.2.37:
resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
dependencies:
- '@babel/parser': 7.18.8
+ '@babel/parser': 7.18.11
'@vue/compiler-core': 3.2.37
'@vue/shared': 3.2.37
estree-walker: 2.0.2
@@ -796,6 +775,43 @@ packages:
resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
dev: true
+ /@vueuse/core/[email protected]:
+ resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==}
+ peerDependencies:
+ '@vue/composition-api': ^1.1.0
+ vue: ^2.6.0 || ^3.2.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ vue:
+ optional: true
+ dependencies:
+ '@types/web-bluetooth': 0.0.14
+ '@vueuse/metadata': 8.9.4
+ '@vueuse/shared': [email protected]
+ vue: 3.2.37
+ vue-demi: [email protected]
+ dev: true
+
+ /@vueuse/metadata/8.9.4:
+ resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==}
+ dev: true
+
+ /@vueuse/shared/[email protected]:
+ resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==}
+ peerDependencies:
+ '@vue/composition-api': ^1.1.0
+ vue: ^2.6.0 || ^3.2.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ vue:
+ optional: true
+ dependencies:
+ vue: 3.2.37
+ vue-demi: [email protected]
+ dev: true
+
/JSONStream/1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -839,23 +855,23 @@ packages:
uri-js: 4.4.1
dev: true
- /algoliasearch/4.13.1:
- resolution: {integrity: sha512-dtHUSE0caWTCE7liE1xaL+19AFf6kWEcyn76uhcitWpntqvicFHXKFoZe5JJcv9whQOTRM6+B8qJz6sFj+rDJA==}
+ /algoliasearch/4.14.2:
+ resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==}
dependencies:
- '@algolia/cache-browser-local-storage': 4.13.1
- '@algolia/cache-common': 4.13.1
- '@algolia/cache-in-memory': 4.13.1
- '@algolia/client-account': 4.13.1
- '@algolia/client-analytics': 4.13.1
- '@algolia/client-common': 4.13.1
- '@algolia/client-personalization': 4.13.1
- '@algolia/client-search': 4.13.1
- '@algolia/logger-common': 4.13.1
- '@algolia/logger-console': 4.13.1
- '@algolia/requester-browser-xhr': 4.13.1
- '@algolia/requester-common': 4.13.1
- '@algolia/requester-node-http': 4.13.1
- '@algolia/transporter': 4.13.1
+ '@algolia/cache-browser-local-storage': 4.14.2
+ '@algolia/cache-common': 4.14.2
+ '@algolia/cache-in-memory': 4.14.2
+ '@algolia/client-account': 4.14.2
+ '@algolia/client-analytics': 4.14.2
+ '@algolia/client-common': 4.14.2
+ '@algolia/client-personalization': 4.14.2
+ '@algolia/client-search': 4.14.2
+ '@algolia/logger-common': 4.14.2
+ '@algolia/logger-console': 4.14.2
+ '@algolia/requester-browser-xhr': 4.14.2
+ '@algolia/requester-common': 4.14.2
+ '@algolia/requester-node-http': 4.14.2
+ '@algolia/transporter': 4.14.2
dev: true
/ansi-colors/4.1.3:
@@ -994,6 +1010,10 @@ packages:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
dev: true
+ /body-scroll-lock/4.0.0-beta.0:
+ resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==}
+ dev: true
+
/brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
@@ -1471,7 +1491,7 @@ packages:
dependencies:
'@cypress/request': 2.88.10
'@cypress/xvfb': [email protected]
- '@types/node': 14.18.22
+ '@types/node': 14.18.23
'@types/sinonjs__fake-timers': 8.1.1
'@types/sizzle': 2.3.3
arch: 2.2.0
@@ -1485,10 +1505,10 @@ packages:
cli-table3: 0.6.2
commander: 5.1.0
common-tags: 1.8.2
- dayjs: 1.11.3
+ dayjs: 1.11.4
enquirer: 2.3.6
- eventemitter2: 6.4.6
+ eventemitter2: 6.4.7
execa: 4.1.0
executable: 4.1.1
extract-zip: [email protected]
@@ -1529,8 +1549,8 @@ packages:
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
dev: true
- /dayjs/1.11.3:
- resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==}
+ /dayjs/1.11.4:
+ resolution: {integrity: sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==}
dev: true
@@ -2112,7 +2132,7 @@ packages:
find-up: 5.0.0
functional-red-black-tree: 1.0.1
glob-parent: 6.0.2
- globals: 13.16.0
+ globals: 13.17.0
globby: 11.1.0
grapheme-splitter: 1.0.4
ignore: 5.2.0
@@ -2177,8 +2197,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /eventemitter2/6.4.6:
- resolution: {integrity: sha512-OHqo4wbHX5VbvlbB6o6eDwhYmiTjrpWACjF8Pmof/GTD6rdBNdZFNck3xlhqOiQFGCOoq3uzHvA0cQpFHIGVAQ==}
+ /eventemitter2/6.4.7:
+ resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
dev: true
/execa/4.1.0:
@@ -2550,8 +2570,8 @@ packages:
ini: 2.0.0
dev: true
- /globals/13.16.0:
- resolution: {integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==}
+ /globals/13.17.0:
+ resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==}
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
@@ -2587,7 +2607,7 @@ packages:
source-map: 0.6.1
wordwrap: 1.0.0
optionalDependencies:
- uglify-js: 3.16.2
+ uglify-js: 3.16.3
dev: true
/hard-rejection/2.1.0:
@@ -2763,8 +2783,8 @@ packages:
ci-info: 3.3.2
dev: true
- /is-core-module/2.9.0:
- resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
+ /is-core-module/2.10.0:
+ resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
dependencies:
has: 1.0.3
dev: true
@@ -3371,7 +3391,7 @@ packages:
engines: {node: '>=10'}
dependencies:
hosted-git-info: 4.1.0
- is-core-module: 2.9.0
+ is-core-module: 2.10.0
semver: 7.3.7
validate-npm-package-license: 3.0.4
dev: true
@@ -3700,17 +3720,12 @@ packages:
engines: {node: '>=6'}
dev: true
- /prismjs/1.28.0:
- resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==}
- engines: {node: '>=6'}
- dev: true
-
/process-nextick-args/2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
dev: true
/proxy-from-env/1.0.0:
- resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
+ resolution: {integrity: sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=}
dev: true
/psl/1.9.0:
@@ -3864,7 +3879,7 @@ packages:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
hasBin: true
dependencies:
- is-core-module: 2.9.0
+ is-core-module: 2.10.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
@@ -3893,8 +3908,8 @@ packages:
glob: 7.2.3
dev: true
- /rollup/2.77.0:
- resolution: {integrity: sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==}
+ /rollup/2.77.2:
+ resolution: {integrity: sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==}
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
@@ -4398,9 +4413,9 @@ packages:
resolution: {integrity: sha512-PcvTwRXTm6hDWfPihA4n5WW/9SmgFNxKaDKqvLLG+FKNEPA4crsipChzC7PVozPtdOaMfR5QctDlkC/hKoIsxw==}
hasBin: true
dependencies:
- '@esbuild-kit/cjs-loader': 2.3.1
+ '@esbuild-kit/cjs-loader': 2.3.2
'@esbuild-kit/core-utils': 2.1.0
- '@esbuild-kit/esm-loader': 2.4.1
+ '@esbuild-kit/esm-loader': 2.4.2
optionalDependencies:
fsevents: 2.3.2
dev: true
@@ -4484,8 +4499,8 @@ packages:
hasBin: true
dev: true
- /uglify-js/3.16.2:
- resolution: {integrity: sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==}
+ /uglify-js/3.16.3:
+ resolution: {integrity: sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==}
engines: {node: '>=0.8.0'}
hasBin: true
requiresBuild: true
@@ -4558,7 +4573,7 @@ packages:
dev: true
/verror/1.10.0:
- resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
+ resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=}
engines: {'0': node >=0.6.0}
dependencies:
assert-plus: 1.0.0
@@ -4585,7 +4600,7 @@ packages:
esbuild: 0.14.53
postcss: 8.4.14
resolve: 1.22.1
- rollup: 2.77.0
+ rollup: 2.77.2
optionalDependencies:
fsevents: 2.3.2
dev: true
@@ -4612,25 +4627,29 @@ packages:
esbuild: 0.14.53
postcss: 8.4.14
resolve: 1.22.1
- rollup: 2.77.0
+ rollup: 2.77.2
optionalDependencies:
fsevents: 2.3.2
dev: true
- /vitepress/0.22.4_imvgwgjzmeisgkq5uchhrryg6y:
- resolution: {integrity: sha512-oZUnLO/SpYdThaBKefDeOiVlr0Rie4Ppx3FzMnMyLtJnI5GlBMNjqYqMy/4+umm/iC+ZDJfI+IlDKxv5fZnYzA==}
- engines: {node: '>=14.0.0'}
+ /vitepress/1.0.0-alpha.4_imvgwgjzmeisgkq5uchhrryg6y:
+ resolution: {integrity: sha512-bOAA4KW6vYGlkbcrPLZLTKWTgXVroObU+o9xj9EENyEl6yg26WWvfN7DGA4BftjdM5O8nR93Z5khPQ3W/tFE7Q==}
+ engines: {node: '>=14.6.0'}
hasBin: true
dependencies:
- '@docsearch/css': 3.1.1
- '@docsearch/js': 3.1.1_imvgwgjzmeisgkq5uchhrryg6y
+ '@docsearch/css': 3.2.0
+ '@docsearch/js': 3.2.0_imvgwgjzmeisgkq5uchhrryg6y
- prismjs: 1.28.0
+ '@vue/devtools-api': 6.2.1
+ '@vueuse/core': [email protected]
+ body-scroll-lock: 4.0.0-beta.0
+ shiki: 0.10.1
vite: 2.9.14
vue: 3.2.37
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/react'
+ - '@vue/composition-api'
- less
- react
- react-dom
@@ -4665,7 +4684,7 @@ packages:
dependencies:
'@types/chai': 4.3.1
'@types/chai-subset': 1.3.3
- '@types/node': 18.0.6
+ '@types/node': 18.6.4
'@vitest/ui': 0.20.3
c8: 7.12.0
chai: 4.3.6
@@ -4690,6 +4709,21 @@ packages:
resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==}
dev: true
+ /vue-demi/[email protected]:
+ resolution: {integrity: sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ dependencies:
+ vue: 3.2.37
+ dev: true
+
/vue/3.2.37:
resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
dependencies:
diff --git a/scripts/apidoc.ts b/scripts/apidoc.ts
index d519a320..ed6f679f 100644
--- a/scripts/apidoc.ts
+++ b/scripts/apidoc.ts
@@ -2,12 +2,15 @@ import { resolve } from 'path';
import { writeApiPagesIndex } from './apidoc/apiDocsWriter';
import { processDirectMethods } from './apidoc/directMethods';
import { processModuleMethods } from './apidoc/moduleMethods';
+import { initMarkdownRenderer } from './apidoc/signature';
import type { PageIndex } from './apidoc/utils';
import { newTypeDocApp, patchProject, pathOutputDir } from './apidoc/utils';
const pathOutputJson = resolve(pathOutputDir, 'typedoc.json');
async function build(): Promise<void> {
+ await initMarkdownRenderer();
+
const app = newTypeDocApp();
app.bootstrap({
diff --git a/scripts/apidoc/signature.ts b/scripts/apidoc/signature.ts
index dd60a223..ce037988 100644
--- a/scripts/apidoc/signature.ts
+++ b/scripts/apidoc/signature.ts
@@ -1,4 +1,4 @@
-import sanitizeHtml from 'sanitize-html';
+// import sanitizeHtml from 'sanitize-html';
import type {
Comment,
DeclarationReflection,
@@ -10,6 +10,7 @@ import type {
Type,
} from 'typedoc';
import { ReflectionFlag, ReflectionKind } from 'typedoc';
+import type { MarkdownRenderer } from 'vitepress';
import { createMarkdownRenderer } from 'vitepress';
import type {
Method,
@@ -38,40 +39,46 @@ export function toBlock(comment?: Comment): string {
return joinTagParts(comment?.summary) || 'Missing';
}
-const markdown = createMarkdownRenderer(
- pathOutputDir,
- vitepressConfig.markdown,
- '/'
-);
-
-const htmlSanitizeOptions: sanitizeHtml.IOptions = {
- allowedTags: ['a', 'code', 'div', 'li', 'span', 'p', 'pre', 'ul'],
- allowedAttributes: {
- a: ['href', 'target', 'rel'],
- div: ['class'],
- pre: ['v-pre'],
- span: ['class'],
- },
- selfClosing: [],
-};
+let markdown: MarkdownRenderer;
+
+export async function initMarkdownRenderer(): Promise<void> {
+ markdown = await createMarkdownRenderer(
+ pathOutputDir,
+ vitepressConfig.markdown,
+ '/'
+ );
+}
+
+// const htmlSanitizeOptions: sanitizeHtml.IOptions = {
+// allowedTags: ['a', 'code', 'div', 'li', 'span', 'p', 'pre', 'ul'],
+// allowedAttributes: {
+// a: ['href', 'target', 'rel'],
+// div: ['class'],
+// pre: ['v-pre'],
+// span: ['class'],
+// },
+// selfClosing: [],
+// };
function mdToHtml(md: string): string {
const rawHtml = markdown.render(md);
- const safeHtml: string = sanitizeHtml(rawHtml, htmlSanitizeOptions);
- // Revert some escaped characters for comparison.
- if (rawHtml.replace(/&gt;/g, '>') === safeHtml.replace(/&gt;/g, '>')) {
- return safeHtml;
- } else {
- console.debug('Rejected unsafe md:', md);
- console.error('Rejected unsafe html:', rawHtml.replace(/&gt;/g, '>'));
- console.error('Expected safe html:', safeHtml.replace(/&gt;/g, '>'));
- throw new Error('Found unsafe html');
- }
+ // TODO @Shinigami92 2022-06-24: Sanitize html to prevent XSS
+ return rawHtml;
+ // const safeHtml: string = sanitizeHtml(rawHtml, htmlSanitizeOptions);
+ // // Revert some escaped characters for comparison.
+ // if (rawHtml.replace(/&gt;/g, '>') === safeHtml.replace(/&gt;/g, '>')) {
+ // return safeHtml;
+ // } else {
+ // console.debug('Rejected unsafe md:', md);
+ // console.error('Rejected unsafe html:', rawHtml.replace(/&gt;/g, '>'));
+ // console.error('Expected safe html:', safeHtml.replace(/&gt;/g, '>'));
+ // throw new Error('Found unsafe html');
+ // }
}
export function analyzeSignature(
signature: SignatureReflection,
- moduleName: string,
+ moduleName: string | null,
methodName: string
): Method {
const parameters: MethodParameter[] = [];
diff --git a/test/scripts/apidoc/signature.expected.json b/test/scripts/apidoc/signature.expected.json
index f576a342..fc948e55 100644
--- a/test/scripts/apidoc/signature.expected.json
+++ b/test/scripts/apidoc/signature.expected.json
@@ -12,7 +12,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">defaultBooleanParamMethod</span><span class=\"token punctuation\">(</span>c<span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">defaultBooleanParamMethod</span><span style=\"color: #A6ACCD\">(c: boolean </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #FF9CAC\">true</span><span style=\"color: #A6ACCD\">): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -28,7 +28,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">functionParamMethod</span><span class=\"token punctuation\">(</span><span class=\"token function-variable function\">fn</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=&gt;</span> <span class=\"token builtin\">number</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">functionParamMethod</span><span style=\"color: #A6ACCD\">(fn: </span><span style=\"color: #89DDFF\">(</span><span style=\"color: #A6ACCD\">a</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #FFCB6B\">string</span><span style=\"color: #89DDFF\">)</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #C792EA\">=&gt;</span><span style=\"color: #A6ACCD\"> number): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -44,7 +44,7 @@
}
],
"returns": "string",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">literalUnionParamMethod</span><span class=\"token punctuation\">(</span>value<span class=\"token operator\">:</span> <span class=\"token string\">'a'</span> <span class=\"token operator\">|</span> <span class=\"token string\">'b'</span> <span class=\"token operator\">|</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">string</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">literalUnionParamMethod</span><span style=\"color: #A6ACCD\">(value: </span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #C3E88D\">a</span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">|</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #C3E88D\">b</span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">|</span><span style=\"color: #A6ACCD\"> string): string</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -54,7 +54,7 @@
"description": "<p>Test with deprecated and see marker.</p>\n",
"parameters": [],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">methodWithDeprecated</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">methodWithDeprecated</span><span style=\"color: #A6ACCD\">(): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": true,
"seeAlsos": ["test.apidoc.methodWithExample()"]
},
@@ -64,7 +64,7 @@
"description": "<p>Test with example marker.</p>\n",
"parameters": [],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">methodWithExample</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\ntest<span class=\"token punctuation\">.</span>apidoc<span class=\"token punctuation\">.</span><span class=\"token function\">methodWithExample</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token comment\">// 0</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">methodWithExample</span><span style=\"color: #A6ACCD\">(): number</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\">test</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #A6ACCD\">apidoc</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">methodWithExample</span><span style=\"color: #A6ACCD\">() </span><span style=\"color: #676E95; font-style: italic\">// 0</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -91,7 +91,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">multiParamMethod</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">multiParamMethod</span><span style=\"color: #A6ACCD\">(a: number</span><span style=\"color: #89DDFF\">,</span><span style=\"color: #A6ACCD\"> b</span><span style=\"color: #89DDFF\">?:</span><span style=\"color: #A6ACCD\"> string</span><span style=\"color: #89DDFF\">,</span><span style=\"color: #A6ACCD\"> c: boolean </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #FF9CAC\">true</span><span style=\"color: #A6ACCD\">): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -101,7 +101,7 @@
"description": "<p>Test with no parameters.</p>\n",
"parameters": [],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">noParamMethod</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">noParamMethod</span><span style=\"color: #A6ACCD\">(): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -117,7 +117,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">optionalStringParamMethod</span><span class=\"token punctuation\">(</span>b<span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">optionalStringParamMethod</span><span style=\"color: #A6ACCD\">(b</span><span style=\"color: #89DDFF\">?:</span><span style=\"color: #A6ACCD\"> string): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -161,7 +161,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">optionsInlineParamMethodWithDefaults</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n value<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n<span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n value<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n<span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n value<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">optionsInlineParamMethodWithDefaults</span><span style=\"color: #A6ACCD\">(a: </span><span style=\"color: #89DDFF\">{</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> number</span></span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> b: </span><span style=\"color: #89DDFF\">{</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> number</span></span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> c: </span><span style=\"color: #89DDFF\">{</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> number</span></span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}</span><span style=\"color: #A6ACCD\">): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -189,7 +189,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">optionsInterfaceParamMethodWithDefaults</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> ParameterOptionsInterfaceA <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">:</span> ParameterOptionsInterfaceB <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">:</span> ParameterOptionsInterfaceC<span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">optionsInterfaceParamMethodWithDefaults</span><span style=\"color: #A6ACCD\">(a: ParameterOptionsInterfaceA </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> b: ParameterOptionsInterfaceB </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> c: ParameterOptionsInterfaceC): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -225,7 +225,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">optionsParamMethod</span><span class=\"token punctuation\">(</span>options<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n a<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span><span class=\"token punctuation\">,</span>\n b<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">,</span>\n c<span class=\"token operator\">:</span> <span class=\"token builtin\">boolean</span><span class=\"token punctuation\">,</span>\n <span class=\"token function-variable function\">d</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=&gt;</span> <span class=\"token builtin\">string</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">optionsParamMethod</span><span style=\"color: #A6ACCD\">(options: </span><span style=\"color: #89DDFF\">{</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">a</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> number</span><span style=\"color: #89DDFF\">,</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">b</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> string</span><span style=\"color: #89DDFF\">,</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">c</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> boolean</span><span style=\"color: #89DDFF\">,</span></span>\n<span class=\"line\"><span style=\"color: #A6ACCD\"> </span><span style=\"color: #82AAFF\">d</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">()</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #C792EA\">=&gt;</span><span style=\"color: #A6ACCD\"> string</span></span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}</span><span style=\"color: #A6ACCD\">): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -253,7 +253,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">optionsTypeParamMethodWithDefaults</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> ParameterOptionsTypeA <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">:</span> ParameterOptionsTypeB <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> value<span class=\"token operator\">:</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">:</span> ParameterOptionsTypeC<span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">optionsTypeParamMethodWithDefaults</span><span style=\"color: #A6ACCD\">(a: ParameterOptionsTypeA </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> b: ParameterOptionsTypeB </span><span style=\"color: #89DDFF\">=</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">{</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F07178\">value</span><span style=\"color: #89DDFF\">:</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #F78C6C\">1</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">},</span><span style=\"color: #A6ACCD\"> c: ParameterOptionsTypeC): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -269,7 +269,7 @@
}
],
"returns": "number",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">requiredNumberParamMethod</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">number</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">requiredNumberParamMethod</span><span style=\"color: #A6ACCD\">(a: number): number</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
},
@@ -285,7 +285,7 @@
}
],
"returns": "string",
- "examples": "<div class=\"language-ts\"><pre v-pre><code>faker<span class=\"token punctuation\">.</span><span class=\"token function\">stringUnionParamMethod</span><span class=\"token punctuation\">(</span>value<span class=\"token operator\">:</span> <span class=\"token string\">'a'</span> <span class=\"token operator\">|</span> <span class=\"token string\">'b'</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> <span class=\"token builtin\">string</span>\n</code></pre>\n</div>",
+ "examples": "<div class=\"language-ts\"><span class=\"copy\"></span><pre v-pre><code><span class=\"line\"><span style=\"color: #A6ACCD\">faker</span><span style=\"color: #89DDFF\">.</span><span style=\"color: #82AAFF\">stringUnionParamMethod</span><span style=\"color: #A6ACCD\">(value: </span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #C3E88D\">a</span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">|</span><span style=\"color: #A6ACCD\"> </span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #C3E88D\">b</span><span style=\"color: #89DDFF\">&#39;</span><span style=\"color: #A6ACCD\">): string</span></span>\n<span class=\"line\"></span></code></pre>\n</div>",
"deprecated": false,
"seeAlsos": []
}
diff --git a/test/scripts/apidoc/signature.spec.ts b/test/scripts/apidoc/signature.spec.ts
index 427ed923..f55c10f8 100644
--- a/test/scripts/apidoc/signature.spec.ts
+++ b/test/scripts/apidoc/signature.spec.ts
@@ -1,8 +1,11 @@
import { writeFileSync } from 'fs';
import { resolve } from 'path';
-import { afterAll, describe, expect, it } from 'vitest';
+import { afterAll, beforeAll, describe, expect, it } from 'vitest';
import type { Method } from '../../../docs/.vitepress/components/api-docs/method';
-import { analyzeSignature } from '../../../scripts/apidoc/signature';
+import {
+ analyzeSignature,
+ initMarkdownRenderer,
+} from '../../../scripts/apidoc/signature';
import { SignatureTest } from './signature.example';
import expected_ from './signature.expected.json';
import { loadExampleMethods } from './utils';
@@ -18,6 +21,10 @@ describe('signature', () => {
const actuals = {};
const methods = loadExampleMethods();
+ beforeAll(async () => {
+ await initMarkdownRenderer();
+ });
+
it('dummy dependency to rerun the test if the example changes', () => {
expect(new SignatureTest()).toBeTruthy();
});