mirror of
https://github.com/ow-mods/ow-mod-db.git
synced 2025-12-11 20:15:24 +01:00
Upload mod thumbnails to database (#559)
* cleanup * upload thumbnails * it was all broken, better now * ignore svgs * ignore shields.io images * update main database workflow with thumbnails
This commit is contained in:
parent
ca407b3b1a
commit
5d66862737
23
.github/workflows/update-releases.yml
vendored
23
.github/workflows/update-releases.yml
vendored
@ -17,9 +17,11 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "16"
|
||||
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
@ -27,17 +29,28 @@ jobs:
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 6.23.6
|
||||
run_install: true
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd fetch-mods
|
||||
pnpm run build
|
||||
|
||||
- name: Get local Mod Database file
|
||||
id: local-mods
|
||||
run: echo "mods_output=$(< ./mods.json sed ':a;N;$!ba;s/\n/ /g')" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout database repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
fetch-depth: 0
|
||||
path: database
|
||||
|
||||
- name: Fetch mod releases and manifests
|
||||
id: fetch-mods
|
||||
uses: ./fetch-mods
|
||||
@ -45,22 +58,16 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
discord-mod-hook-urls: ${{ secrets.DISCORD_MOD_HOOK_URLS }}
|
||||
mods: "${{ env.mods_output }}"
|
||||
out-file: "database.json"
|
||||
out-directory: database
|
||||
discord-hook-url: "${{ secrets.DISCORD_HOOK_URL }}"
|
||||
discord-mod-update-role-id: "${{ secrets.DISCORD_MOD_UPDATE_ROLE_ID }}"
|
||||
discord-new-mod-role-id: "${{ secrets.DISCORD_NEW_MOD_ROLE_ID }}"
|
||||
google-service-account: "${{ secrets.GOOGLE_SERVICE_ACCOUNT }}"
|
||||
- run: mv database.json ..
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: "master"
|
||||
fetch-depth: 0
|
||||
- run: cp ../database.json .
|
||||
|
||||
- name: Commit changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
branch: "master"
|
||||
file_pattern: "database.json"
|
||||
commit_message: Update mod database
|
||||
commit_user_name: Outer Wilds Mod Database
|
||||
commit_user_email: database@outerwildsmods.com
|
||||
|
||||
4
.github/workflows/upload-pr-artifact.yml
vendored
4
.github/workflows/upload-pr-artifact.yml
vendored
@ -42,7 +42,7 @@ jobs:
|
||||
id: fetch-mods
|
||||
uses: ./fetch-mods
|
||||
with:
|
||||
out-file: database.json
|
||||
out-directory: output
|
||||
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
mods: "${{ env.mods_output }}"
|
||||
google-service-account: "${{ secrets.GOOGLE_SERVICE_ACCOUNT }}"
|
||||
@ -50,4 +50,4 @@ jobs:
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: database-preview
|
||||
path: database.json
|
||||
path: output
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
**/node_modules
|
||||
**/build
|
||||
output
|
||||
tmp
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
name: "Get mods"
|
||||
description: "Gets mod releases"
|
||||
inputs:
|
||||
out-file:
|
||||
description: "Optional JSON file path to write to"
|
||||
required: false
|
||||
out-directory:
|
||||
description: "Directory where database files will be written to"
|
||||
required: true
|
||||
mods:
|
||||
description: "Initial JSON mod database to modify"
|
||||
required: true
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import { generateModThumbnail } from "./generate-mod-thumbnail";
|
||||
import { getOctokit } from "./get-octokit";
|
||||
import { filterFulfilledPromiseSettleResults } from "./promises";
|
||||
|
||||
@ -9,7 +10,7 @@ const downloadCountOffsets: { [key: string]: number } = {
|
||||
"Jammer.jammerlore": 373,
|
||||
};
|
||||
|
||||
export async function fetchMods(modsJson: string) {
|
||||
export async function fetchMods(modsJson: string, outputDirectory: string) {
|
||||
const modDb: ModDB = JSON.parse(modsJson);
|
||||
const modInfos = modDb.mods;
|
||||
const octokit = getOctokit();
|
||||
@ -43,6 +44,14 @@ export async function fetchMods(modsJson: string) {
|
||||
|
||||
const readme = await getReadme();
|
||||
|
||||
if (readme && readme.downloadUrl) {
|
||||
generateModThumbnail(
|
||||
modInfo.uniqueName,
|
||||
readme.downloadUrl,
|
||||
outputDirectory
|
||||
);
|
||||
}
|
||||
|
||||
const fullReleaseList = (
|
||||
await octokit.paginate(octokit.rest.repos.listReleases, {
|
||||
owner,
|
||||
|
||||
125
fetch-mods/generate-mod-thumbnail.ts
Normal file
125
fetch-mods/generate-mod-thumbnail.ts
Normal file
@ -0,0 +1,125 @@
|
||||
import { Parser } from "commonmark";
|
||||
import sharp from "sharp";
|
||||
import fs, { promises as fsp } from "fs";
|
||||
import path from "path";
|
||||
import fetch from "node-fetch";
|
||||
|
||||
export const thumbnailSize = {
|
||||
width: 300,
|
||||
height: 100,
|
||||
} as const;
|
||||
|
||||
export const generateModThumbnail = async (
|
||||
modUniqueName: string,
|
||||
readmeUrl: string,
|
||||
outputDirectory: string
|
||||
) => {
|
||||
const readme = await getModReadme(readmeUrl);
|
||||
|
||||
if (!readme) {
|
||||
return;
|
||||
}
|
||||
|
||||
const firstImageUrl = getFirstImageUrl(readme, getRawContentUrl(readmeUrl));
|
||||
|
||||
if (firstImageUrl == null) return;
|
||||
|
||||
const rawImageFilePath = await downloadImage(firstImageUrl, modUniqueName);
|
||||
|
||||
if (rawImageFilePath == null) {
|
||||
console.log(
|
||||
`Failed to download image ${firstImageUrl} for mod ${modUniqueName}`
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const sharpImage = sharp(rawImageFilePath, {
|
||||
animated: true,
|
||||
limitInputPixels: false,
|
||||
});
|
||||
|
||||
const fileOutputDir = getPath(path.join(outputDirectory, "thumbnails"));
|
||||
|
||||
if (!fs.existsSync(fileOutputDir)) {
|
||||
await fsp.mkdir(fileOutputDir, { recursive: true });
|
||||
}
|
||||
|
||||
const resizedSharpImage = sharpImage
|
||||
.resize({ ...thumbnailSize, fit: "cover" })
|
||||
.webp({ smartSubsample: true });
|
||||
|
||||
const optimizedImagePath = path.join(fileOutputDir, `${modUniqueName}.webp`);
|
||||
const resizedImage = await resizedSharpImage.toFile(optimizedImagePath);
|
||||
};
|
||||
|
||||
export const getModReadme = async (url: string): Promise<string | null> => {
|
||||
const response = await fetch(url);
|
||||
return response.status === 200 ? response.text() : null;
|
||||
};
|
||||
|
||||
const getPath = (relativePath: string) =>
|
||||
path.join(process.cwd(), relativePath);
|
||||
|
||||
export const getRawContentUrl = (readmeUrl: string) =>
|
||||
readmeUrl.replace(/\/(?!.*\/).+/, "");
|
||||
|
||||
export const getFirstImageUrl = (
|
||||
markdown: string,
|
||||
baseUrl: string
|
||||
): string | null => {
|
||||
if (!markdown) return null;
|
||||
|
||||
const parsed = new Parser().parse(markdown);
|
||||
const walker = parsed.walker();
|
||||
let event;
|
||||
while ((event = walker.next())) {
|
||||
const node = event.node;
|
||||
if (
|
||||
node.type === "image" &&
|
||||
node.destination &&
|
||||
!node.destination.endsWith(".svg") &&
|
||||
!node.destination.startsWith("https://img.shields.io/") &&
|
||||
!node.destination.startsWith("http://img.shields.io/")
|
||||
) {
|
||||
const imageUrl = node.destination;
|
||||
|
||||
const fullUrl = imageUrl.startsWith("http")
|
||||
? // GitHub allows embedding images that actually point to webpages on github.com, so we have to replace the URLs here
|
||||
imageUrl.replace(
|
||||
/^https?:\/\/github.com\/(.+)\/(.+)\/blob\/(.+)\//gm,
|
||||
"https://raw.githubusercontent.com/$1/$2/$3/"
|
||||
)
|
||||
: // For relative URLs we also have to resolve them
|
||||
`${baseUrl}/${imageUrl}`;
|
||||
|
||||
return fullUrl;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
export const downloadImage = async (
|
||||
imageUrl: string,
|
||||
fileName: string
|
||||
): Promise<string | null> => {
|
||||
const response = await fetch(imageUrl);
|
||||
|
||||
if (!response.ok) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const temporaryDirectory = "tmp/raw-thumbnails";
|
||||
|
||||
if (!fs.existsSync(temporaryDirectory)) {
|
||||
await fsp.mkdir(temporaryDirectory, { recursive: true });
|
||||
}
|
||||
|
||||
const relativeImagePath = `${temporaryDirectory}/${fileName}`;
|
||||
const fullImagePath = getPath(relativeImagePath);
|
||||
|
||||
const image = await response.arrayBuffer();
|
||||
await fsp.writeFile(fullImagePath, Buffer.from(image));
|
||||
|
||||
return fullImagePath;
|
||||
};
|
||||
@ -1,4 +1,7 @@
|
||||
import * as core from "@actions/core";
|
||||
import fs, { promises as fsp, writeFile } from "fs";
|
||||
import path from "path";
|
||||
|
||||
import { sendDiscordNotifications } from "./send-discord-notifications";
|
||||
import { fetchMods } from "./fetch-mods";
|
||||
import { getDiff } from "./get-diff";
|
||||
@ -7,13 +10,11 @@ import { fetchModManager } from "./fetch-mod-manager";
|
||||
import { toJsonString } from "./to-json-string";
|
||||
import { getViewCounts } from "./get-view-counts";
|
||||
import { getInstallCounts } from "./get-install-counts";
|
||||
|
||||
import { writeFile } from "fs";
|
||||
import { getSettledResult } from "./promises";
|
||||
import { rateLimitReached } from "./get-octokit";
|
||||
|
||||
enum Input {
|
||||
outFile = "out-file",
|
||||
outDirectory = "out-directory",
|
||||
mods = "mods",
|
||||
discordHookUrl = "discord-hook-url",
|
||||
discordModUpdateRoleId = "discord-mod-update-role-id",
|
||||
@ -47,7 +48,10 @@ const measureTime = <T>(promise: Promise<T>, name: string) => {
|
||||
async function getAsyncStuff() {
|
||||
const promises = [
|
||||
measureTime(fetchModManager(), "fetchModManager"),
|
||||
measureTime(fetchMods(core.getInput(Input.mods)), "fetchMods"),
|
||||
measureTime(
|
||||
fetchMods(core.getInput(Input.mods), core.getInput(Input.outDirectory)),
|
||||
"fetchMods"
|
||||
),
|
||||
measureTime(
|
||||
getViewCounts(core.getInput(Input.googleServiceAccount)),
|
||||
"getViewCounts"
|
||||
@ -107,14 +111,20 @@ async function run() {
|
||||
core.setOutput(Output.releases, databaseJson);
|
||||
}
|
||||
|
||||
const outputFilePath = core.getInput(Input.outFile);
|
||||
const outputDirectoryPath = core.getInput(Input.outDirectory);
|
||||
|
||||
if (outputFilePath) {
|
||||
writeFile(outputFilePath, databaseJson, (error) => {
|
||||
if (error) console.log("Error Saving To File:", error);
|
||||
});
|
||||
if (!fs.existsSync(outputDirectoryPath)) {
|
||||
await fsp.mkdir(outputDirectoryPath, { recursive: true });
|
||||
}
|
||||
|
||||
writeFile(
|
||||
path.join(outputDirectoryPath, "database.json"),
|
||||
databaseJson,
|
||||
(error) => {
|
||||
if (error) console.log("Error Saving To File:", error);
|
||||
}
|
||||
);
|
||||
|
||||
const discordHookUrl = core.getInput(Input.discordHookUrl);
|
||||
|
||||
if (discordHookUrl) {
|
||||
|
||||
@ -19,8 +19,14 @@
|
||||
"@octokit/action": "^3.18.1",
|
||||
"@octokit/plugin-retry": "^3.0.9",
|
||||
"@octokit/plugin-throttling": "^3.7.0",
|
||||
"@types/commonmark": "^0.27.5",
|
||||
"@types/node": "16",
|
||||
"@types/node-fetch": "v2",
|
||||
"@types/sharp": "^0.31.0",
|
||||
"axios": "^0.26.1",
|
||||
"commonmark": "^0.30.0",
|
||||
"node-fetch": "v2",
|
||||
"sharp": "^0.31.3",
|
||||
"typescript": "^4.8.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
298
fetch-mods/pnpm-lock.yaml
generated
298
fetch-mods/pnpm-lock.yaml
generated
@ -8,8 +8,14 @@ specifiers:
|
||||
'@octokit/action': ^3.18.1
|
||||
'@octokit/plugin-retry': ^3.0.9
|
||||
'@octokit/plugin-throttling': ^3.7.0
|
||||
'@types/commonmark': ^0.27.5
|
||||
'@types/node': '16'
|
||||
'@types/node-fetch': v2
|
||||
'@types/sharp': ^0.31.0
|
||||
axios: ^0.26.1
|
||||
commonmark: ^0.30.0
|
||||
node-fetch: v2
|
||||
sharp: ^0.31.3
|
||||
typescript: ^4.8.4
|
||||
|
||||
dependencies:
|
||||
@ -20,8 +26,14 @@ dependencies:
|
||||
'@octokit/action': 3.18.1
|
||||
'@octokit/plugin-retry': 3.0.9
|
||||
'@octokit/plugin-throttling': 3.7.0
|
||||
'@types/commonmark': 0.27.5
|
||||
'@types/node': 16.11.17
|
||||
'@types/node-fetch': 2.6.2
|
||||
'@types/sharp': 0.31.0
|
||||
axios: 0.26.1
|
||||
commonmark: 0.30.0
|
||||
node-fetch: 2.6.7
|
||||
sharp: 0.31.3
|
||||
typescript: 4.8.4
|
||||
|
||||
packages:
|
||||
@ -289,6 +301,10 @@ packages:
|
||||
engines: {node: '>= 6'}
|
||||
dev: false
|
||||
|
||||
/@types/commonmark/0.27.5:
|
||||
resolution: {integrity: sha512-vIqgmHyLsc8Or3EWLz6QkhI8/v61FNeH0yxRupA7VqSbA2eFMoHHJAhZSHudplAV89wqg1CKSmShE016ziRXuw==}
|
||||
dev: false
|
||||
|
||||
/@types/linkify-it/3.0.2:
|
||||
resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
|
||||
dev: false
|
||||
@ -308,10 +324,23 @@ packages:
|
||||
resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
|
||||
dev: false
|
||||
|
||||
/@types/node-fetch/2.6.2:
|
||||
resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==}
|
||||
dependencies:
|
||||
'@types/node': 16.11.17
|
||||
form-data: 3.0.1
|
||||
dev: false
|
||||
|
||||
/@types/node/16.11.17:
|
||||
resolution: {integrity: sha512-C1vTZME8cFo8uxY2ui41xcynEotVkczIVI5AjLmy5pkpBv/FtG+jhtOlfcPysI8VRVwoOMv6NJm44LGnoMSWkw==}
|
||||
dev: false
|
||||
|
||||
/@types/sharp/0.31.0:
|
||||
resolution: {integrity: sha512-nwivOU101fYInCwdDcH/0/Ru6yIRXOpORx25ynEOc6/IakuCmjOAGpaO5VfUl4QkDtUC6hj+Z2eCQvgXOioknw==}
|
||||
dependencies:
|
||||
'@types/node': 16.11.17
|
||||
dev: false
|
||||
|
||||
/abort-controller/3.0.0:
|
||||
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
|
||||
engines: {node: '>=6.5'}
|
||||
@ -375,6 +404,10 @@ packages:
|
||||
tslib: 2.3.1
|
||||
dev: false
|
||||
|
||||
/asynckit/0.4.0:
|
||||
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
||||
dev: false
|
||||
|
||||
/axios/0.26.1:
|
||||
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
|
||||
dependencies:
|
||||
@ -399,6 +432,14 @@ packages:
|
||||
resolution: {integrity: sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==}
|
||||
dev: false
|
||||
|
||||
/bl/4.1.0:
|
||||
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
|
||||
dependencies:
|
||||
buffer: 5.7.1
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
dev: false
|
||||
|
||||
/bluebird/3.7.2:
|
||||
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
|
||||
dev: false
|
||||
@ -424,6 +465,13 @@ packages:
|
||||
resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=}
|
||||
dev: false
|
||||
|
||||
/buffer/5.7.1:
|
||||
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
|
||||
dependencies:
|
||||
base64-js: 1.5.1
|
||||
ieee754: 1.2.1
|
||||
dev: false
|
||||
|
||||
/bytes/3.1.2:
|
||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -451,6 +499,10 @@ packages:
|
||||
supports-color: 7.2.0
|
||||
dev: false
|
||||
|
||||
/chownr/1.1.4:
|
||||
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
||||
dev: false
|
||||
|
||||
/cliui/7.0.4:
|
||||
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
|
||||
dependencies:
|
||||
@ -470,6 +522,38 @@ packages:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
dev: false
|
||||
|
||||
/color-string/1.9.1:
|
||||
resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
simple-swizzle: 0.2.2
|
||||
dev: false
|
||||
|
||||
/color/4.2.3:
|
||||
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
||||
engines: {node: '>=12.5.0'}
|
||||
dependencies:
|
||||
color-convert: 2.0.1
|
||||
color-string: 1.9.1
|
||||
dev: false
|
||||
|
||||
/combined-stream/1.0.8:
|
||||
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
delayed-stream: 1.0.0
|
||||
dev: false
|
||||
|
||||
/commonmark/0.30.0:
|
||||
resolution: {integrity: sha512-j1yoUo4gxPND1JWV9xj5ELih0yMv1iCWDG6eEQIPLSWLxzCXiFoyS7kvB+WwU+tZMf4snwJMMtaubV0laFpiBA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
entities: 2.0.3
|
||||
mdurl: 1.0.1
|
||||
minimist: 1.2.6
|
||||
string.prototype.repeat: 0.2.0
|
||||
dev: false
|
||||
|
||||
/concat-map/0.0.1:
|
||||
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
||||
dev: false
|
||||
@ -495,6 +579,18 @@ packages:
|
||||
ms: 2.1.2
|
||||
dev: false
|
||||
|
||||
/decompress-response/6.0.0:
|
||||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
mimic-response: 3.1.0
|
||||
dev: false
|
||||
|
||||
/deep-extend/0.6.0:
|
||||
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
dev: false
|
||||
|
||||
/deep-is/0.1.4:
|
||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||
dev: false
|
||||
@ -509,6 +605,11 @@ packages:
|
||||
vm2: 3.9.9
|
||||
dev: false
|
||||
|
||||
/delayed-stream/1.0.0:
|
||||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
dev: false
|
||||
|
||||
/depd/2.0.0:
|
||||
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -518,6 +619,11 @@ packages:
|
||||
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
|
||||
dev: false
|
||||
|
||||
/detect-libc/2.0.1:
|
||||
resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/duplexify/4.1.2:
|
||||
resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==}
|
||||
dependencies:
|
||||
@ -543,6 +649,10 @@ packages:
|
||||
once: 1.4.0
|
||||
dev: false
|
||||
|
||||
/entities/2.0.3:
|
||||
resolution: {integrity: sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==}
|
||||
dev: false
|
||||
|
||||
/entities/2.1.0:
|
||||
resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==}
|
||||
dev: false
|
||||
@ -610,6 +720,11 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/expand-template/2.0.3:
|
||||
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/extend/3.0.2:
|
||||
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
||||
dev: false
|
||||
@ -637,6 +752,19 @@ packages:
|
||||
optional: true
|
||||
dev: false
|
||||
|
||||
/form-data/3.0.1:
|
||||
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
asynckit: 0.4.0
|
||||
combined-stream: 1.0.8
|
||||
mime-types: 2.1.35
|
||||
dev: false
|
||||
|
||||
/fs-constants/1.0.0:
|
||||
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
||||
dev: false
|
||||
|
||||
/fs-extra/8.1.0:
|
||||
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
|
||||
engines: {node: '>=6 <7 || >=8'}
|
||||
@ -738,6 +866,10 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/github-from-package/0.0.0:
|
||||
resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=}
|
||||
dev: false
|
||||
|
||||
/glob/7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
@ -935,6 +1067,10 @@ packages:
|
||||
safer-buffer: 2.1.2
|
||||
dev: false
|
||||
|
||||
/ieee754/1.2.1:
|
||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||
dev: false
|
||||
|
||||
/inflight/1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
@ -946,10 +1082,18 @@ packages:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/ini/1.3.8:
|
||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||
dev: false
|
||||
|
||||
/ip/1.1.5:
|
||||
resolution: {integrity: sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==}
|
||||
dev: false
|
||||
|
||||
/is-arrayish/0.3.2:
|
||||
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
|
||||
dev: false
|
||||
|
||||
/is-fullwidth-code-point/3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
@ -1108,6 +1252,23 @@ packages:
|
||||
resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
|
||||
dev: false
|
||||
|
||||
/mime-db/1.52.0:
|
||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/mime-types/2.1.35:
|
||||
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
mime-db: 1.52.0
|
||||
dev: false
|
||||
|
||||
/mimic-response/3.1.0:
|
||||
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/minimatch/3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
@ -1125,6 +1286,10 @@ packages:
|
||||
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
|
||||
dev: false
|
||||
|
||||
/mkdirp-classic/0.5.3:
|
||||
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
||||
dev: false
|
||||
|
||||
/mkdirp/1.0.4:
|
||||
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
|
||||
engines: {node: '>=10'}
|
||||
@ -1135,11 +1300,26 @@ packages:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
dev: false
|
||||
|
||||
/napi-build-utils/1.0.2:
|
||||
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
|
||||
dev: false
|
||||
|
||||
/netmask/2.0.2:
|
||||
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dev: false
|
||||
|
||||
/node-abi/3.30.0:
|
||||
resolution: {integrity: sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
semver: 7.3.8
|
||||
dev: false
|
||||
|
||||
/node-addon-api/5.0.0:
|
||||
resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==}
|
||||
dev: false
|
||||
|
||||
/node-fetch/2.6.7:
|
||||
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
|
||||
engines: {node: 4.x || >=6.0.0}
|
||||
@ -1215,6 +1395,25 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/prebuild-install/7.1.1:
|
||||
resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
detect-libc: 2.0.1
|
||||
expand-template: 2.0.3
|
||||
github-from-package: 0.0.0
|
||||
minimist: 1.2.6
|
||||
mkdirp-classic: 0.5.3
|
||||
napi-build-utils: 1.0.2
|
||||
node-abi: 3.30.0
|
||||
pump: 3.0.0
|
||||
rc: 1.2.8
|
||||
simple-get: 4.0.1
|
||||
tar-fs: 2.1.1
|
||||
tunnel-agent: 0.6.0
|
||||
dev: false
|
||||
|
||||
/prelude-ls/1.1.2:
|
||||
resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@ -1286,6 +1485,13 @@ packages:
|
||||
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
||||
dev: false
|
||||
|
||||
/pump/3.0.0:
|
||||
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
|
||||
dependencies:
|
||||
end-of-stream: 1.4.4
|
||||
once: 1.4.0
|
||||
dev: false
|
||||
|
||||
/qs/6.11.0:
|
||||
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
||||
engines: {node: '>=0.6'}
|
||||
@ -1303,6 +1509,16 @@ packages:
|
||||
unpipe: 1.0.0
|
||||
dev: false
|
||||
|
||||
/rc/1.2.8:
|
||||
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
deep-extend: 0.6.0
|
||||
ini: 1.3.8
|
||||
minimist: 1.2.6
|
||||
strip-json-comments: 2.0.1
|
||||
dev: false
|
||||
|
||||
/readable-stream/1.1.14:
|
||||
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
|
||||
dependencies:
|
||||
@ -1365,10 +1581,33 @@ packages:
|
||||
lru-cache: 6.0.0
|
||||
dev: false
|
||||
|
||||
/semver/7.3.8:
|
||||
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: false
|
||||
|
||||
/setprototypeof/1.2.0:
|
||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||
dev: false
|
||||
|
||||
/sharp/0.31.3:
|
||||
resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==}
|
||||
engines: {node: '>=14.15.0'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
color: 4.2.3
|
||||
detect-libc: 2.0.1
|
||||
node-addon-api: 5.0.0
|
||||
prebuild-install: 7.1.1
|
||||
semver: 7.3.8
|
||||
simple-get: 4.0.1
|
||||
tar-fs: 2.1.1
|
||||
tunnel-agent: 0.6.0
|
||||
dev: false
|
||||
|
||||
/side-channel/1.0.4:
|
||||
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
|
||||
dependencies:
|
||||
@ -1377,6 +1616,24 @@ packages:
|
||||
object-inspect: 1.12.2
|
||||
dev: false
|
||||
|
||||
/simple-concat/1.0.1:
|
||||
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
||||
dev: false
|
||||
|
||||
/simple-get/4.0.1:
|
||||
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
|
||||
dependencies:
|
||||
decompress-response: 6.0.0
|
||||
once: 1.4.0
|
||||
simple-concat: 1.0.1
|
||||
dev: false
|
||||
|
||||
/simple-swizzle/0.2.2:
|
||||
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
|
||||
dependencies:
|
||||
is-arrayish: 0.3.2
|
||||
dev: false
|
||||
|
||||
/smart-buffer/4.2.0:
|
||||
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
|
||||
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
|
||||
@ -1426,6 +1683,10 @@ packages:
|
||||
strip-ansi: 6.0.1
|
||||
dev: false
|
||||
|
||||
/string.prototype.repeat/0.2.0:
|
||||
resolution: {integrity: sha512-1BH+X+1hSthZFW+X+JaUkjkkUPwIlLEMJBLANN3hOob3RhEk5snLWNECDnYbgn/m5c5JV7Ersu1Yubaf+05cIA==}
|
||||
dev: false
|
||||
|
||||
/string_decoder/0.10.31:
|
||||
resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
|
||||
dev: false
|
||||
@ -1443,6 +1704,11 @@ packages:
|
||||
ansi-regex: 5.0.1
|
||||
dev: false
|
||||
|
||||
/strip-json-comments/2.0.1:
|
||||
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/strip-json-comments/3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
@ -1459,6 +1725,26 @@ packages:
|
||||
resolution: {integrity: sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==}
|
||||
dev: false
|
||||
|
||||
/tar-fs/2.1.1:
|
||||
resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
|
||||
dependencies:
|
||||
chownr: 1.1.4
|
||||
mkdirp-classic: 0.5.3
|
||||
pump: 3.0.0
|
||||
tar-stream: 2.2.0
|
||||
dev: false
|
||||
|
||||
/tar-stream/2.2.0:
|
||||
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
bl: 4.1.0
|
||||
end-of-stream: 1.4.4
|
||||
fs-constants: 1.0.0
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
dev: false
|
||||
|
||||
/tmp/0.2.1:
|
||||
resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
|
||||
engines: {node: '>=8.17.0'}
|
||||
@ -1477,13 +1763,19 @@ packages:
|
||||
dev: false
|
||||
|
||||
/tr46/0.0.3:
|
||||
resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=}
|
||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
||||
dev: false
|
||||
|
||||
/tslib/2.3.1:
|
||||
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
|
||||
dev: false
|
||||
|
||||
/tunnel-agent/0.6.0:
|
||||
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/tunnel/0.0.6:
|
||||
resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
|
||||
engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
|
||||
@ -1553,11 +1845,11 @@ packages:
|
||||
dev: false
|
||||
|
||||
/webidl-conversions/3.0.1:
|
||||
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
|
||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
||||
dev: false
|
||||
|
||||
/whatwg-url/5.0.0:
|
||||
resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=}
|
||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
||||
dependencies:
|
||||
tr46: 0.0.3
|
||||
webidl-conversions: 3.0.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user