mirror of
https://github.com/element-plus/element-plus.git
synced 2025-01-30 11:16:12 +08:00
feat(docs): add source and contributors (#6044)
* feat(docs): add source and contributors closes #6038 * feat(docs): ignore contributor when dev * ci: add github token * fix: lint * fix: page * fix: placeholder * ci: remove preview
This commit is contained in:
parent
28c3634cda
commit
851242e317
1
.github/workflows/deploy-docs.yml
vendored
1
.github/workflows/deploy-docs.yml
vendored
@ -59,6 +59,7 @@ jobs:
|
||||
run: pnpm docs:build
|
||||
env:
|
||||
DOC_ENV: production
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@v4.2.5
|
||||
|
1
.github/workflows/manual-deploy-docs.yml
vendored
1
.github/workflows/manual-deploy-docs.yml
vendored
@ -52,6 +52,7 @@ jobs:
|
||||
run: pnpm docs:build
|
||||
env:
|
||||
DOC_ENV: production
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@v4.2.5
|
||||
|
1
.github/workflows/staging-preview.yml
vendored
1
.github/workflows/staging-preview.yml
vendored
@ -61,6 +61,7 @@ jobs:
|
||||
env:
|
||||
DOC_ENV: staging
|
||||
NODE_OPTIONS: --max-old-space-size=4096
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Deploy staging website
|
||||
uses: JamesIves/github-pages-deploy-action@v4.2.5
|
||||
|
@ -5,6 +5,7 @@ import { sidebars } from './config/sidebars'
|
||||
import { nav } from './config/nav'
|
||||
import { mdPlugin } from './config/plugins'
|
||||
import { features } from './config/features'
|
||||
import { branch, docsDir, repo } from './vitepress/constant'
|
||||
import type { UserConfig } from 'vitepress'
|
||||
|
||||
const buildTransformers = () => {
|
||||
@ -49,8 +50,9 @@ export const config: UserConfig = {
|
||||
lastUpdated: true,
|
||||
head,
|
||||
themeConfig: {
|
||||
repo: 'element-plus/element-plus',
|
||||
docsDir: 'docs',
|
||||
repo,
|
||||
branch,
|
||||
docsDir,
|
||||
|
||||
editLinks: true,
|
||||
editLinkText: 'Edit this page on GitHub',
|
||||
|
@ -8,7 +8,6 @@ import type Token from 'markdown-it/lib/token'
|
||||
import type Renderer from 'markdown-it/lib/renderer'
|
||||
|
||||
const localMd = MarkdownIt()
|
||||
const scriptSetupRE = /<\s*script[^>]*\bsetup\b[^>]*/
|
||||
|
||||
interface ContainerOpts {
|
||||
marker?: string | undefined
|
||||
@ -29,9 +28,6 @@ export const mdPlugin = (md: MarkdownIt) => {
|
||||
},
|
||||
|
||||
render(tokens, idx) {
|
||||
const data = (md as any).__data
|
||||
const hoistedTags: string[] = data.hoistedTags || (data.hoistedTags = [])
|
||||
|
||||
const m = tokens[idx].info.trim().match(/^demo\s*(.*)$/)
|
||||
if (tokens[idx].nesting === 1 /* means the tag is opening */) {
|
||||
const description = m && m.length > 1 ? m[1] : ''
|
||||
@ -44,17 +40,6 @@ export const mdPlugin = (md: MarkdownIt) => {
|
||||
path.resolve(docRoot, 'examples', `${sourceFile}.vue`),
|
||||
'utf-8'
|
||||
)
|
||||
const existingScriptIndex = hoistedTags.findIndex((tag) =>
|
||||
scriptSetupRE.test(tag)
|
||||
)
|
||||
if (existingScriptIndex === -1) {
|
||||
hoistedTags.push(`
|
||||
<script setup>
|
||||
const demos = import.meta.globEager('../../examples/${
|
||||
sourceFile.split('/')[0]
|
||||
}/*.vue')
|
||||
</script>`)
|
||||
}
|
||||
}
|
||||
if (!source) throw new Error(`Incorrect source file: ${sourceFile}`)
|
||||
|
||||
|
6
docs/.vitepress/crowdin/en-US/component/footer.json
Normal file
6
docs/.vitepress/crowdin/en-US/component/footer.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"source": "Source",
|
||||
"contributors": "Contributors",
|
||||
"component": "Component",
|
||||
"docs": "Docs"
|
||||
}
|
169
docs/.vitepress/plugins/contributors.ts
Normal file
169
docs/.vitepress/plugins/contributors.ts
Normal file
@ -0,0 +1,169 @@
|
||||
import path from 'path'
|
||||
import glob from 'fast-glob'
|
||||
import { Octokit } from 'octokit'
|
||||
import { projRoot } from '@element-plus/build'
|
||||
import { branch, owner, repoName } from '../vitepress/constant'
|
||||
import type { Plugin } from 'vite'
|
||||
|
||||
interface FetchOption {
|
||||
path: string
|
||||
after?: string
|
||||
}
|
||||
|
||||
interface ApiResult {
|
||||
pageInfo: {
|
||||
hasNextPage: boolean
|
||||
endCursor: string
|
||||
}
|
||||
nodes: Array<{
|
||||
author: {
|
||||
avatarUrl: string
|
||||
date: string
|
||||
email: string
|
||||
name: string
|
||||
user?: {
|
||||
login: string
|
||||
}
|
||||
}
|
||||
}>
|
||||
}
|
||||
|
||||
interface ApiResponse {
|
||||
repository: {
|
||||
object: Record<`path${number}`, ApiResult>
|
||||
}
|
||||
}
|
||||
|
||||
interface ContributorInfo {
|
||||
login: string
|
||||
name: string
|
||||
email: string
|
||||
avatar: string
|
||||
count: number
|
||||
}
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.GITHUB_TOKEN,
|
||||
})
|
||||
|
||||
const fetchContributors = async (
|
||||
options: FetchOption[]
|
||||
): Promise<Record<string, ApiResult>> => {
|
||||
const query = `{
|
||||
repository(owner: "${owner}", name: "${repoName}") {
|
||||
object(expression: "${branch}") {
|
||||
... on Commit {
|
||||
${options
|
||||
.map(({ path, after }, index) => {
|
||||
return `
|
||||
path${index}: history(path: "${path}"${
|
||||
after ? `, after: "${after}"` : ''
|
||||
}) {
|
||||
nodes {
|
||||
author {
|
||||
avatarUrl
|
||||
date
|
||||
email
|
||||
name
|
||||
user {
|
||||
login
|
||||
}
|
||||
}
|
||||
}
|
||||
pageInfo {
|
||||
hasNextPage
|
||||
endCursor
|
||||
}
|
||||
}`
|
||||
})
|
||||
.join('\n')}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`
|
||||
const respnose = (await octokit.graphql<ApiResponse>(query)).repository.object
|
||||
return Object.fromEntries(
|
||||
Object.entries(respnose).map(([key, result]) => {
|
||||
const index = +key.replace('path', '')
|
||||
return [index, result]
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
const calcContributors = (commits: ApiResult['nodes']) => {
|
||||
const contributors: Record<string, ContributorInfo> = {}
|
||||
for (const { author } of commits) {
|
||||
const login = author.user?.login
|
||||
if (!login) continue
|
||||
|
||||
if (!contributors[login])
|
||||
contributors[login] = {
|
||||
login,
|
||||
name: author.name,
|
||||
email: author.email,
|
||||
avatar: author.avatarUrl,
|
||||
count: 0,
|
||||
}
|
||||
|
||||
contributors[login].count++
|
||||
}
|
||||
return Object.values(contributors).sort((a, b) => b.count - a.count)
|
||||
}
|
||||
|
||||
const getContributorsAt = async (componentName: string) => {
|
||||
let options: FetchOption[] = [
|
||||
{ path: `packages/components/${componentName}` },
|
||||
{ path: `packages/theme-chalk/src/${componentName}.scss` },
|
||||
{ path: `docs/examples/${componentName}` },
|
||||
{ path: `docs/en-US/component/${componentName}.md` },
|
||||
]
|
||||
const commits: ApiResult['nodes'] = []
|
||||
do {
|
||||
const results = await fetchContributors(options)
|
||||
options = options
|
||||
.map((option, index) => {
|
||||
const pageInfo = results[index].pageInfo
|
||||
const after = pageInfo.hasNextPage ? pageInfo.endCursor : undefined
|
||||
return { ...option, after }
|
||||
})
|
||||
.filter((option) => !!option.after)
|
||||
commits.push(...Object.values(results).flatMap((result) => result.nodes))
|
||||
} while (options.length > 0)
|
||||
|
||||
return calcContributors(commits)
|
||||
}
|
||||
|
||||
export async function getContributors() {
|
||||
if (!process.env.GITHUB_TOKEN) return {}
|
||||
const components = await glob('*', {
|
||||
cwd: path.resolve(projRoot, 'packages/components'),
|
||||
onlyDirectories: true,
|
||||
})
|
||||
const contributors = Object.fromEntries(
|
||||
await Promise.all(
|
||||
components.map((component) =>
|
||||
getContributorsAt(component).then((contributors) => [
|
||||
component,
|
||||
contributors,
|
||||
])
|
||||
)
|
||||
)
|
||||
)
|
||||
return contributors
|
||||
}
|
||||
|
||||
const ID = '/virtual-contributors'
|
||||
|
||||
export async function Contributors(): Promise<Plugin> {
|
||||
const data = await getContributors()
|
||||
return {
|
||||
name: 'element-plus-contributors',
|
||||
resolveId(id) {
|
||||
return id === ID ? ID : null
|
||||
},
|
||||
load(id) {
|
||||
if (id !== ID) return null
|
||||
return `export default ${JSON.stringify(data)}`
|
||||
},
|
||||
}
|
||||
}
|
114
docs/.vitepress/plugins/markdown-transform.ts
Normal file
114
docs/.vitepress/plugins/markdown-transform.ts
Normal file
@ -0,0 +1,114 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { docRoot, projRoot } from '@element-plus/build'
|
||||
import { branch, docsDir, repo } from '../vitepress/constant'
|
||||
import { getLang } from '../utils/lang'
|
||||
import footerLocale from '../i18n/component/footer.json'
|
||||
import type { Plugin } from 'vite'
|
||||
|
||||
type Append = Record<'headers' | 'footers' | 'scriptSetups', string[]>
|
||||
|
||||
export function MarkdownTransform(): Plugin {
|
||||
return {
|
||||
name: 'element-plus-md-transform',
|
||||
enforce: 'pre',
|
||||
async transform(code, id) {
|
||||
if (!id.endsWith('.md')) return
|
||||
|
||||
const componentId = path.basename(id, '.md')
|
||||
const append: Append = {
|
||||
headers: [],
|
||||
footers: [],
|
||||
scriptSetups: [
|
||||
`const demos = import.meta.globEager('../../examples/${componentId}/*.vue')`,
|
||||
],
|
||||
}
|
||||
|
||||
code = transformVpScriptSetup(code, append)
|
||||
|
||||
const compPath = path.resolve(docRoot, 'en-US/component')
|
||||
if (id.startsWith(compPath)) {
|
||||
code = transformComponentMarkdown(id, componentId, code, append)
|
||||
}
|
||||
|
||||
return combineMarkdown(
|
||||
code,
|
||||
[combineScriptSetup(append.scriptSetups), ...append.headers],
|
||||
append.footers
|
||||
)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
const combineScriptSetup = (codes: string[]) =>
|
||||
`\n<script setup>
|
||||
${codes.join('\n')}
|
||||
</script>
|
||||
`
|
||||
|
||||
const combineMarkdown = (
|
||||
code: string,
|
||||
headers: string[],
|
||||
footers: string[]
|
||||
) => {
|
||||
const frontmatterEnds = code.indexOf('---\n\n') + 4
|
||||
const firstSubheader = code.search(/\n## \w/)
|
||||
const sliceIndex = firstSubheader < 0 ? frontmatterEnds : firstSubheader
|
||||
|
||||
if (headers.length > 0)
|
||||
code =
|
||||
code.slice(0, sliceIndex) + headers.join('\n') + code.slice(sliceIndex)
|
||||
code += footers.join('\n')
|
||||
|
||||
return `${code}\n`
|
||||
}
|
||||
|
||||
const vpScriptSetupRE = /<vp-script\s(.*\s)?setup(\s.*)?>([\s\S]*)<\/vp-script>/
|
||||
|
||||
const transformVpScriptSetup = (code: string, append: Append) => {
|
||||
const matches = code.match(vpScriptSetupRE)
|
||||
if (matches) code = code.replace(matches[0], '')
|
||||
const scriptSetup = matches?.[3] ?? ''
|
||||
if (scriptSetup) append.scriptSetups.push(scriptSetup)
|
||||
return code
|
||||
}
|
||||
|
||||
const GITHUB_BLOB_URL = `https://github.com/${repo}/blob/${branch}`
|
||||
const GITHUB_TREE_URL = `https://github.com/${repo}/tree/${branch}`
|
||||
const transformComponentMarkdown = (
|
||||
id: string,
|
||||
componentId: string,
|
||||
code: string,
|
||||
append: Append
|
||||
) => {
|
||||
const lang = getLang(id)
|
||||
const docUrl = `${GITHUB_BLOB_URL}/${docsDir}/en-US/component/${componentId}.md`
|
||||
const componentUrl = `${GITHUB_TREE_URL}/packages/components/${componentId}`
|
||||
const componentPath = path.resolve(
|
||||
projRoot,
|
||||
`packages/components/${componentId}`
|
||||
)
|
||||
const isComponent = fs.existsSync(componentPath)
|
||||
|
||||
const links = [[footerLocale[lang].docs, docUrl]]
|
||||
if (isComponent) links.unshift([footerLocale[lang].component, componentUrl])
|
||||
const linksText = links
|
||||
.filter((i) => i)
|
||||
.map(([text, link]) => `[${text}](${link})`)
|
||||
.join(' • ')
|
||||
|
||||
const sourceSection = `## ${footerLocale[lang].source}
|
||||
|
||||
${linksText}
|
||||
`
|
||||
|
||||
const contributorsSection = `
|
||||
## ${footerLocale[lang].contributors}
|
||||
|
||||
<Contributors id="${componentId}" />
|
||||
`
|
||||
|
||||
append.footers.push(sourceSection, isComponent ? contributorsSection : '')
|
||||
|
||||
return code
|
||||
}
|
@ -1,6 +1,10 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { docRoot } from '@element-plus/build'
|
||||
|
||||
export const languages = fs.readdirSync(path.resolve(__dirname, '../crowdin'))
|
||||
|
||||
export const ensureLang = (lang: string) => `/${lang}`
|
||||
|
||||
export const getLang = (id: string) =>
|
||||
path.relative(docRoot, id).split(path.sep)[0]
|
||||
|
@ -0,0 +1,37 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue'
|
||||
// @ts-expect-error missing types
|
||||
import _contributors from '/virtual-contributors'
|
||||
import VpLink from '../common/vp-link.vue'
|
||||
|
||||
const props = defineProps<{ id: string }>()
|
||||
|
||||
const contributors = computed(() => _contributors[props.id])
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="mb-4">
|
||||
<div class="flex flex-wrap gap-4 pt-2">
|
||||
<div v-for="c of contributors" :key="c.hash">
|
||||
<VpLink
|
||||
:href="`https://github.com/${c.login}`"
|
||||
class="flex gap-2 items-center link"
|
||||
no-icon
|
||||
>
|
||||
<img :src="c.avatar" class="w-8 h-8 rounded-full" />
|
||||
{{ c.name }}
|
||||
</VpLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.link {
|
||||
color: var(--text-color-light);
|
||||
|
||||
&:hover {
|
||||
color: var(--brand-color);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -12,13 +12,9 @@ import Example from './demo/vp-example.vue'
|
||||
import SourceCode from './demo/vp-source-code.vue'
|
||||
|
||||
const props = defineProps<{
|
||||
demos: object
|
||||
source: string
|
||||
path: string
|
||||
css?: string
|
||||
cssPreProcessor?: string
|
||||
js?: string
|
||||
html?: string
|
||||
demos: object
|
||||
rawSource: string
|
||||
description?: string
|
||||
}>()
|
||||
|
@ -9,3 +9,9 @@ export const breakpoints = {
|
||||
xlg: 1280,
|
||||
xxl: 1440,
|
||||
}
|
||||
|
||||
export const owner = 'element-plus'
|
||||
export const repoName = 'element-plus'
|
||||
export const repo = 'element-plus/element-plus'
|
||||
export const branch = 'dev'
|
||||
export const docsDir = 'docs'
|
||||
|
@ -24,6 +24,7 @@ import IconList from './components/globals/icons.vue'
|
||||
import ParallaxHome from './components/globals/parallax-home.vue'
|
||||
import Resource from './components/globals/resource.vue'
|
||||
import DesignGuide from './components/globals/design-guide.vue'
|
||||
import Contributors from './components/globals/contributors.vue'
|
||||
|
||||
import type { Component } from 'vue'
|
||||
|
||||
@ -40,4 +41,5 @@ export const globals: [string, Component][] = [
|
||||
['ParallaxHome', ParallaxHome],
|
||||
['Resource', Resource],
|
||||
['DesignGuide', DesignGuide],
|
||||
['Contributors', Contributors],
|
||||
]
|
||||
|
@ -6,6 +6,7 @@ import {
|
||||
} from 'vitepress/dist/client/theme-default/utils'
|
||||
import { inBrowser } from 'vitepress'
|
||||
|
||||
import type { Ref } from 'vue'
|
||||
import type { Route } from 'vitepress'
|
||||
|
||||
export * from './colors'
|
||||
@ -85,13 +86,17 @@ export function createCrowdinUrl(targetLang: string) {
|
||||
return `https://crowdin.com/translate/element-plus/all/en-${translateLang}`
|
||||
}
|
||||
|
||||
export function insertLinkIcon(contentRef: any) {
|
||||
export function insertLinkIcon(
|
||||
contentRef: Ref<{ $el: HTMLElement } | undefined>
|
||||
) {
|
||||
if (!inBrowser) return
|
||||
const links = Array.from(
|
||||
contentRef.value?.$el.querySelectorAll('a:not(.header-anchor)') ?? []
|
||||
contentRef.value?.$el?.querySelectorAll<HTMLLinkElement>(
|
||||
'a:not(.header-anchor)'
|
||||
) ?? []
|
||||
)
|
||||
|
||||
links.forEach((link: any) => {
|
||||
links.forEach((link) => {
|
||||
link.classList.add('vp-link')
|
||||
if (
|
||||
!link.href.startsWith(window.origin) &&
|
||||
|
@ -52,9 +52,9 @@ so you need to use an alias in order to render the icon, if you register `Menu`
|
||||
</template>
|
||||
```
|
||||
|
||||
<script setup>
|
||||
<vp-script setup>
|
||||
import { Edit, Share, Delete, Search, Loading } from '@element-plus/icons-vue'
|
||||
</script>
|
||||
</vp-script>
|
||||
|
||||
<ElRow>
|
||||
<div>
|
||||
|
@ -12,7 +12,7 @@ Before that, please read the [transition docs](https://vuejs.org/guide/built-ins
|
||||
|
||||
:::demo We have two fading effects: `el-fade-in-linear` and `el-fade-in`.
|
||||
|
||||
transition/fade
|
||||
transitions/fade
|
||||
|
||||
:::
|
||||
|
||||
@ -20,7 +20,7 @@ transition/fade
|
||||
|
||||
:::demo `el-zoom-in-center`, `el-zoom-in-top` and `el-zoom-in-bottom` are provided.
|
||||
|
||||
transition/zoom
|
||||
transitions/zoom
|
||||
|
||||
:::
|
||||
|
||||
@ -30,7 +30,7 @@ For collapse effect, use the `el-collapse-transition` component.
|
||||
|
||||
:::demo
|
||||
|
||||
transition/collapse
|
||||
transitions/collapse
|
||||
|
||||
:::
|
||||
|
||||
|
@ -3,3 +3,5 @@ title: 'A Vue 3 UI Framework'
|
||||
lang: en-US
|
||||
page: true
|
||||
---
|
||||
|
||||
<!-- Placeholder -->
|
||||
|
@ -28,6 +28,7 @@
|
||||
"escape-html": "^1.0.3",
|
||||
"markdown-it": "^12.3.2",
|
||||
"markdown-it-container": "^3.0.0",
|
||||
"octokit": "^1.7.1",
|
||||
"unocss": "^0.30.11",
|
||||
"unplugin-icons": "^0.14.1",
|
||||
"unplugin-vue-components": "^0.18.5",
|
||||
|
@ -14,6 +14,8 @@ import {
|
||||
getPackageDependencies,
|
||||
projRoot,
|
||||
} from '@element-plus/build'
|
||||
import { Contributors } from './.vitepress/plugins/contributors'
|
||||
import { MarkdownTransform } from './.vitepress/plugins/markdown-transform'
|
||||
import type { Alias } from 'vite'
|
||||
|
||||
const alias: Alias[] = []
|
||||
@ -82,6 +84,8 @@ export default defineConfig(async ({ mode }) => {
|
||||
autoInstall: true,
|
||||
}),
|
||||
UnoCSS(),
|
||||
MarkdownTransform(),
|
||||
await Contributors(),
|
||||
Inspect(),
|
||||
mkcert(),
|
||||
],
|
||||
|
299
pnpm-lock.yaml
299
pnpm-lock.yaml
@ -178,6 +178,7 @@ importers:
|
||||
markdown-it-container: ^3.0.0
|
||||
normalize.css: ^8.0.1
|
||||
nprogress: ^0.2.0
|
||||
octokit: ^1.7.1
|
||||
prism-theme-vars: ^0.2.2
|
||||
unocss: ^0.30.11
|
||||
unplugin-icons: ^0.14.1
|
||||
@ -204,6 +205,7 @@ importers:
|
||||
escape-html: 1.0.3
|
||||
markdown-it: 12.3.2
|
||||
markdown-it-container: 3.0.0
|
||||
octokit: 1.7.1
|
||||
unocss: 0.30.11
|
||||
unplugin-icons: 0.14.1_vite@2.9.1
|
||||
unplugin-vue-components: 0.18.5_vite@2.9.1+vue@3.2.31
|
||||
@ -2201,12 +2203,102 @@ packages:
|
||||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.13.0
|
||||
|
||||
/@octokit/app/12.0.5:
|
||||
resolution: {integrity: sha512-lM3pIfx2h+UbvsXHFVs1ApJ9Rmp8LO4ciFSr5q/9MdHmhsH6WtwayieUn875xwB77IoR9r8czxxxASu2WCtdeA==}
|
||||
dependencies:
|
||||
'@octokit/auth-app': 3.6.1
|
||||
'@octokit/auth-unauthenticated': 2.1.0
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/oauth-app': 3.6.0
|
||||
'@octokit/plugin-paginate-rest': 2.17.0_@octokit+core@3.5.1
|
||||
'@octokit/types': 6.34.0
|
||||
'@octokit/webhooks': 9.22.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-app/3.6.1:
|
||||
resolution: {integrity: sha512-6oa6CFphIYI7NxxHrdVOzhG7hkcKyGyYocg7lNDSJVauVOLtylg8hNJzoUyPAYKKK0yUeoZamE/lMs2tG+S+JA==}
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-app': 4.3.0
|
||||
'@octokit/auth-oauth-user': 1.3.0
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/request-error': 2.1.0
|
||||
'@octokit/types': 6.34.0
|
||||
'@types/lru-cache': 5.1.1
|
||||
deprecation: 2.3.1
|
||||
lru-cache: 6.0.0
|
||||
universal-github-app-jwt: 1.1.0
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-oauth-app/4.3.0:
|
||||
resolution: {integrity: sha512-cETmhmOQRHCz6cLP7StThlJROff3A/ln67Q961GuIr9zvyFXZ4lIJy9RE6Uw5O7D8IXWPU3jhDnG47FTSGQr8Q==}
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-device': 3.1.2
|
||||
'@octokit/auth-oauth-user': 1.3.0
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/types': 6.34.0
|
||||
'@types/btoa-lite': 1.0.0
|
||||
btoa-lite: 1.0.0
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-oauth-device/3.1.2:
|
||||
resolution: {integrity: sha512-w7Po4Ck6N2aAn2VQyKLuojruiyKROTBv4qs6IwE5rbwF7HhBXXp4A/NKmkpoFIZkiXQtM+N8QtkSck4ApYWdGg==}
|
||||
dependencies:
|
||||
'@octokit/oauth-methods': 1.2.6
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/types': 6.34.0
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-oauth-user/1.3.0:
|
||||
resolution: {integrity: sha512-3QC/TAdk7onnxfyZ24BnJRfZv8TRzQK7SEFUS9vLng4Vv6Hv6I64ujdk/CUkREec8lhrwU764SZ/d+yrjjqhaQ==}
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-device': 3.1.2
|
||||
'@octokit/oauth-methods': 1.2.6
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/types': 6.34.0
|
||||
btoa-lite: 1.0.0
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-token/2.5.0:
|
||||
resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
|
||||
dependencies:
|
||||
'@octokit/types': 6.34.0
|
||||
dev: true
|
||||
|
||||
/@octokit/auth-unauthenticated/2.1.0:
|
||||
resolution: {integrity: sha512-+baofLfSL0CAv3CfGQ9rxiZZQEX8VNJMGuuS4PgrMRBUL52Ho5+hQYb63UJQshw7EXYMPDZxbXznc0y33cbPqw==}
|
||||
dependencies:
|
||||
'@octokit/request-error': 2.1.0
|
||||
'@octokit/types': 6.34.0
|
||||
dev: true
|
||||
|
||||
/@octokit/core/3.5.1:
|
||||
resolution: {integrity: sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==}
|
||||
dependencies:
|
||||
'@octokit/auth-token': 2.5.0
|
||||
'@octokit/graphql': 4.8.0
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/request-error': 2.1.0
|
||||
'@octokit/types': 6.34.0
|
||||
before-after-hook: 2.2.2
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/core/3.6.0:
|
||||
resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==}
|
||||
dependencies:
|
||||
@ -2239,10 +2331,51 @@ packages:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/oauth-app/3.6.0:
|
||||
resolution: {integrity: sha512-OxPw4ItQXaC2GuEXyZB7EmZ2rHvNFX4y3yAsqdFIRW7qg2HyoEPxacxza6c8wqbEEvu84b98AJ5BXm+IjPWrww==}
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-app': 4.3.0
|
||||
'@octokit/auth-oauth-user': 1.3.0
|
||||
'@octokit/auth-unauthenticated': 2.1.0
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/oauth-authorization-url': 4.3.3
|
||||
'@octokit/oauth-methods': 1.2.6
|
||||
'@types/aws-lambda': 8.10.93
|
||||
fromentries: 1.3.2
|
||||
universal-user-agent: 6.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/oauth-authorization-url/4.3.3:
|
||||
resolution: {integrity: sha512-lhP/t0i8EwTmayHG4dqLXgU+uPVys4WD/qUNvC+HfB1S1dyqULm5Yx9uKc1x79aP66U1Cb4OZeW8QU/RA9A4XA==}
|
||||
dev: true
|
||||
|
||||
/@octokit/oauth-methods/1.2.6:
|
||||
resolution: {integrity: sha512-nImHQoOtKnSNn05uk2o76om1tJWiAo4lOu2xMAHYsNr0fwopP+Dv+2MlGvaMMlFjoqVd3fF3X5ZDTKCsqgmUaQ==}
|
||||
dependencies:
|
||||
'@octokit/oauth-authorization-url': 4.3.3
|
||||
'@octokit/request': 5.6.3
|
||||
'@octokit/request-error': 2.1.0
|
||||
'@octokit/types': 6.34.0
|
||||
btoa-lite: 1.0.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/@octokit/openapi-types/11.2.0:
|
||||
resolution: {integrity: sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==}
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-paginate-rest/2.17.0_@octokit+core@3.5.1:
|
||||
resolution: {integrity: sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=2'
|
||||
dependencies:
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/types': 6.34.0
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-paginate-rest/2.17.0_@octokit+core@3.6.0:
|
||||
resolution: {integrity: sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==}
|
||||
peerDependencies:
|
||||
@ -2260,6 +2393,16 @@ packages:
|
||||
'@octokit/core': 3.6.0
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-rest-endpoint-methods/5.13.0_@octokit+core@3.5.1:
|
||||
resolution: {integrity: sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=3'
|
||||
dependencies:
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/types': 6.34.0
|
||||
deprecation: 2.3.1
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-rest-endpoint-methods/5.13.0_@octokit+core@3.6.0:
|
||||
resolution: {integrity: sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==}
|
||||
peerDependencies:
|
||||
@ -2270,6 +2413,23 @@ packages:
|
||||
deprecation: 2.3.1
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-retry/3.0.9:
|
||||
resolution: {integrity: sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==}
|
||||
dependencies:
|
||||
'@octokit/types': 6.34.0
|
||||
bottleneck: 2.19.5
|
||||
dev: true
|
||||
|
||||
/@octokit/plugin-throttling/3.6.1_@octokit+core@3.5.1:
|
||||
resolution: {integrity: sha512-T5DOcDQP0K/Ng5pnOEqCHDFojsftYL5o91MNbbR3nj1yAOACoGj3wDYCx0+5yJkbvRjYUdU0GsUt5/wYBba1cA==}
|
||||
peerDependencies:
|
||||
'@octokit/core': ^3.5.0
|
||||
dependencies:
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/types': 6.34.0
|
||||
bottleneck: 2.19.5
|
||||
dev: true
|
||||
|
||||
/@octokit/request-error/2.1.0:
|
||||
resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
|
||||
dependencies:
|
||||
@ -2308,6 +2468,23 @@ packages:
|
||||
'@octokit/openapi-types': 11.2.0
|
||||
dev: true
|
||||
|
||||
/@octokit/webhooks-methods/2.0.0:
|
||||
resolution: {integrity: sha512-35cfQ4YWlnZnmZKmIxlGPUPLtbkF8lr/A/1Sk1eC0ddLMwQN06dOuLc+dI3YLQS+T+MoNt3DIQ0NynwgKPilig==}
|
||||
dev: true
|
||||
|
||||
/@octokit/webhooks-types/5.2.0:
|
||||
resolution: {integrity: sha512-OZhKy1w8/GF4GWtdiJc+o8sloWAHRueGB78FWFLZnueK7EHV9MzDVr4weJZMflJwMK4uuYLzcnJVnAoy3yB35g==}
|
||||
dev: true
|
||||
|
||||
/@octokit/webhooks/9.22.0:
|
||||
resolution: {integrity: sha512-wUd7nGfDRHG6xkz311djmq6lIB2tQ+r94SNkyv9o0bQhOsrkwH8fQCM7uVsbpkGUU2lqCYsVoa8z/UC9HJgRaw==}
|
||||
dependencies:
|
||||
'@octokit/request-error': 2.1.0
|
||||
'@octokit/webhooks-methods': 2.0.0
|
||||
'@octokit/webhooks-types': 5.2.0
|
||||
aggregate-error: 3.1.0
|
||||
dev: true
|
||||
|
||||
/@pnpm/cli-meta/3.0.0:
|
||||
resolution: {integrity: sha512-7qFkZf45PQbTTVbRvzUGt7illwXUUWdkv8PekgvpFMEjxZC1zx7mY4mMF9P66QOh5NgarbGSvc7Nqt9yEDh00Q==}
|
||||
engines: {node: '>=14.19'}
|
||||
@ -2628,6 +2805,10 @@ packages:
|
||||
resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
|
||||
dev: true
|
||||
|
||||
/@types/aws-lambda/8.10.93:
|
||||
resolution: {integrity: sha512-Vsyi9ogDAY3REZDjYnXMRJJa62SDvxHXxJI5nGDQdZW058dDE+av/anynN2rLKbCKXDRNw3D/sQmqxVflZFi4A==}
|
||||
dev: true
|
||||
|
||||
/@types/babel__core/7.1.19:
|
||||
resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==}
|
||||
dependencies:
|
||||
@ -2657,6 +2838,10 @@ packages:
|
||||
'@babel/types': 7.17.0
|
||||
dev: true
|
||||
|
||||
/@types/btoa-lite/1.0.0:
|
||||
resolution: {integrity: sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==}
|
||||
dev: true
|
||||
|
||||
/@types/chai-subset/1.3.3:
|
||||
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
|
||||
dependencies:
|
||||
@ -2776,6 +2961,12 @@ packages:
|
||||
resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=}
|
||||
dev: false
|
||||
|
||||
/@types/jsonwebtoken/8.5.8:
|
||||
resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==}
|
||||
dependencies:
|
||||
'@types/node': 17.0.23
|
||||
dev: true
|
||||
|
||||
/@types/linkify-it/3.0.2:
|
||||
resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
|
||||
dev: true
|
||||
@ -2790,6 +2981,10 @@ packages:
|
||||
resolution: {integrity: sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==}
|
||||
dev: false
|
||||
|
||||
/@types/lru-cache/5.1.1:
|
||||
resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==}
|
||||
dev: true
|
||||
|
||||
/@types/markdown-it/12.2.3:
|
||||
resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
|
||||
dependencies:
|
||||
@ -4033,6 +4228,10 @@ packages:
|
||||
individual: 3.0.0
|
||||
dev: true
|
||||
|
||||
/bottleneck/2.19.5:
|
||||
resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
|
||||
dev: true
|
||||
|
||||
/boxen/5.1.2:
|
||||
resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -4106,10 +4305,18 @@ packages:
|
||||
node-int64: 0.4.0
|
||||
dev: true
|
||||
|
||||
/btoa-lite/1.0.0:
|
||||
resolution: {integrity: sha1-M3dm2hWAEhD92VbCLpxokaudAzc=}
|
||||
dev: true
|
||||
|
||||
/buffer-crc32/0.2.13:
|
||||
resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
|
||||
dev: true
|
||||
|
||||
/buffer-equal-constant-time/1.0.1:
|
||||
resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=}
|
||||
dev: true
|
||||
|
||||
/buffer-equal/1.0.0:
|
||||
resolution: {integrity: sha1-WWFrSYME1Var1GaWayLu2j7KX74=}
|
||||
engines: {node: '>=0.4.0'}
|
||||
@ -5077,6 +5284,12 @@ packages:
|
||||
safer-buffer: 2.1.2
|
||||
dev: true
|
||||
|
||||
/ecdsa-sig-formatter/1.0.11:
|
||||
resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium/1.4.103:
|
||||
resolution: {integrity: sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==}
|
||||
|
||||
@ -6482,6 +6695,10 @@ packages:
|
||||
dependencies:
|
||||
map-cache: 0.2.2
|
||||
|
||||
/fromentries/1.3.2:
|
||||
resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
|
||||
dev: true
|
||||
|
||||
/fs-constants/1.0.0:
|
||||
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
||||
dev: true
|
||||
@ -8114,6 +8331,22 @@ packages:
|
||||
engines: {'0': node >= 0.2.0}
|
||||
dev: true
|
||||
|
||||
/jsonwebtoken/8.5.1:
|
||||
resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==}
|
||||
engines: {node: '>=4', npm: '>=1.4.28'}
|
||||
dependencies:
|
||||
jws: 3.2.2
|
||||
lodash.includes: 4.3.0
|
||||
lodash.isboolean: 3.0.3
|
||||
lodash.isinteger: 4.0.4
|
||||
lodash.isnumber: 3.0.3
|
||||
lodash.isplainobject: 4.0.6
|
||||
lodash.isstring: 4.0.1
|
||||
lodash.once: 4.1.1
|
||||
ms: 2.1.3
|
||||
semver: 5.7.1
|
||||
dev: true
|
||||
|
||||
/jsprim/1.4.2:
|
||||
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
||||
engines: {node: '>=0.6.0'}
|
||||
@ -8128,6 +8361,21 @@ packages:
|
||||
resolution: {integrity: sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==}
|
||||
dev: false
|
||||
|
||||
/jwa/1.4.1:
|
||||
resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
|
||||
dependencies:
|
||||
buffer-equal-constant-time: 1.0.1
|
||||
ecdsa-sig-formatter: 1.0.11
|
||||
safe-buffer: 5.2.1
|
||||
dev: true
|
||||
|
||||
/jws/3.2.2:
|
||||
resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
|
||||
dependencies:
|
||||
jwa: 1.4.1
|
||||
safe-buffer: 5.2.1
|
||||
dev: true
|
||||
|
||||
/kind-of/3.2.2:
|
||||
resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -8347,6 +8595,30 @@ packages:
|
||||
resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=}
|
||||
dev: true
|
||||
|
||||
/lodash.includes/4.3.0:
|
||||
resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=}
|
||||
dev: true
|
||||
|
||||
/lodash.isboolean/3.0.3:
|
||||
resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=}
|
||||
dev: true
|
||||
|
||||
/lodash.isinteger/4.0.4:
|
||||
resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=}
|
||||
dev: true
|
||||
|
||||
/lodash.isnumber/3.0.3:
|
||||
resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=}
|
||||
dev: true
|
||||
|
||||
/lodash.isplainobject/4.0.6:
|
||||
resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=}
|
||||
dev: true
|
||||
|
||||
/lodash.isstring/4.0.1:
|
||||
resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=}
|
||||
dev: true
|
||||
|
||||
/lodash.map/4.6.0:
|
||||
resolution: {integrity: sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=}
|
||||
dev: true
|
||||
@ -8355,6 +8627,10 @@ packages:
|
||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||
dev: true
|
||||
|
||||
/lodash.once/4.1.1:
|
||||
resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=}
|
||||
dev: true
|
||||
|
||||
/lodash/4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
|
||||
@ -8706,7 +8982,6 @@ packages:
|
||||
|
||||
/ms/2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
dev: false
|
||||
|
||||
/multimatch/4.0.0:
|
||||
resolution: {integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==}
|
||||
@ -8987,6 +9262,21 @@ packages:
|
||||
es-abstract: 1.19.2
|
||||
dev: false
|
||||
|
||||
/octokit/1.7.1:
|
||||
resolution: {integrity: sha512-1b7eRgU8uWetHOWr8f9ptnVo2EKbrkOfocMeQdpgCt7tl/LK67HptFsy2Xg4fMjsJ/+onoBJW0hy/fO0In3/uA==}
|
||||
dependencies:
|
||||
'@octokit/app': 12.0.5
|
||||
'@octokit/core': 3.5.1
|
||||
'@octokit/oauth-app': 3.6.0
|
||||
'@octokit/plugin-paginate-rest': 2.17.0_@octokit+core@3.5.1
|
||||
'@octokit/plugin-rest-endpoint-methods': 5.13.0_@octokit+core@3.5.1
|
||||
'@octokit/plugin-retry': 3.0.9
|
||||
'@octokit/plugin-throttling': 3.6.1_@octokit+core@3.5.1
|
||||
'@octokit/types': 6.34.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: true
|
||||
|
||||
/once/1.4.0:
|
||||
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
|
||||
dependencies:
|
||||
@ -11106,6 +11396,13 @@ packages:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/universal-github-app-jwt/1.1.0:
|
||||
resolution: {integrity: sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==}
|
||||
dependencies:
|
||||
'@types/jsonwebtoken': 8.5.8
|
||||
jsonwebtoken: 8.5.1
|
||||
dev: true
|
||||
|
||||
/universal-user-agent/6.0.0:
|
||||
resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==}
|
||||
dev: true
|
||||
|
Loading…
Reference in New Issue
Block a user