move tags to markdown

This commit is contained in:
Ryan Cao 2022-10-29 23:17:40 +08:00
parent 029ba31520
commit 4e2afcc7f8
No known key found for this signature in database
24 changed files with 242 additions and 281 deletions

View file

@ -25,6 +25,7 @@
"dotenv": "^16.0.3",
"esbuild": "^0.15.11",
"eslint": "^8.25.0",
"gray-matter": "^4.0.3",
"prettier": "^2.7.1",
"typescript": "^4.8.4"
}

View file

@ -1,6 +1,6 @@
import { SlashCommandBuilder, Routes, PermissionFlagsBits } from 'discord.js';
import { REST } from '@discordjs/rest';
import { getTags } from './tagsTags';
import { getTags } from './tags';
export const reuploadCommands = async () => {
const tags = await getTags();
@ -39,7 +39,7 @@ export const reuploadCommands = async () => {
),
new SlashCommandBuilder()
.setName('say')
.setDescription('Say someothing through the bot')
.setDescription('Say something through the bot')
.addStringOption((option) =>
option
.setName('content')
@ -48,11 +48,6 @@ export const reuploadCommands = async () => {
)
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers)
.setDMPermission(false),
new SlashCommandBuilder()
.setName('rolemenu')
.setDescription('Make a role menu')
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers)
.setDMPermission(false),
new SlashCommandBuilder().setName('joke').setDescription("it's a joke"),
].map((command) => command.toJSON());

View file

@ -1,22 +0,0 @@
import {
ActionRowBuilder,
ButtonBuilder,
ButtonStyle,
CacheType,
ChatInputCommandInteraction,
} from 'discord.js';
export const roleMenuCommand = async (
i: ChatInputCommandInteraction<CacheType>
) => {
const row = new ActionRowBuilder<ButtonBuilder>().addComponents(
new ButtonBuilder()
.setCustomId('showRoleMenu')
.setLabel('Show role menu')
.setStyle(ButtonStyle.Primary)
);
await i.channel?.send({ content: '**Role menu**', components: [row] });
await i.reply({ content: 'Done!', ephemeral: true });
};

View file

@ -3,7 +3,7 @@ import {
type CacheType,
EmbedBuilder,
} from 'discord.js';
import { getTags } from '../tagsTags';
import { getTags } from '../tags';
export const tagsCommand = async (
i: ChatInputCommandInteraction<CacheType>

View file

@ -23,7 +23,7 @@ export const COLORS = {
blue: 0x60a5fa,
yellow: 0xfde047,
orange: 0xfb923c,
} as const;
} as { [key: string]: number };
/* CHANGEME */
export const ALLOWED_ROLES = ['Alert', 'Events', 'Progress'];

View file

@ -4,9 +4,6 @@ import {
Partials,
OAuth2Scopes,
InteractionType,
SelectMenuBuilder,
ActionRowBuilder,
GuildMemberRoleManager,
} from 'discord.js';
import { reuploadCommands } from './_reupload';
@ -23,7 +20,6 @@ import { jokeCommand } from './commands/joke';
import random from 'just-random';
import { green, bold, yellow } from 'kleur/colors';
import 'dotenv/config';
import { roleMenuCommand } from './commands/rolemenu';
const client = new Client({
intents: [
@ -119,74 +115,6 @@ client.on('interactionCreate', async (interaction) => {
await tagsCommand(interaction);
} else if (commandName === 'joke') {
await jokeCommand(interaction);
} else if (commandName === 'rolemenu') {
await roleMenuCommand(interaction);
}
} else if (interaction.isButton()) {
if (interaction.customId === 'showRoleMenu') {
if (!interaction.guild || !interaction.member) return;
const roles = await interaction.guild.roles
.fetch()
.then((a) =>
a.filter((b) => BuildConfig.ALLOWED_ROLES.includes(b.name))
);
const row = new ActionRowBuilder<SelectMenuBuilder>().addComponents(
new SelectMenuBuilder()
.setCustomId('roleMenuSelect')
.setPlaceholder('Nothing selected')
.addOptions(
roles.map((role) => ({
label: role.name,
value: role.id,
default: (
interaction.member!.roles as GuildMemberRoleManager
).cache.has(role.id),
}))
)
.setMaxValues(roles.toJSON().length)
.setMinValues(0)
);
await interaction.reply({
content: 'Select your roles here.',
components: [row],
ephemeral: true,
});
}
} else if (interaction.isSelectMenu()) {
if (interaction.customId === 'roleMenuSelect') {
if (!interaction.guild || !interaction.member) return;
await interaction.deferReply({ ephemeral: true });
const selectedRoles = interaction.values;
const roleManager = interaction.member.roles as GuildMemberRoleManager;
for (const role of BuildConfig.ALLOWED_ROLES) {
const roleID = interaction.guild.roles.cache
.find((a) => a.name === role)
?.id.toString();
if (!roleID) continue;
if (roleManager.cache.has(roleID) && !selectedRoles.includes(roleID)) {
await roleManager.remove(roleID);
}
if (!roleManager.cache.has(roleID) && selectedRoles.includes(roleID)) {
await roleManager.add(roleID);
}
}
await interaction.editReply({
content: 'Roles updated.',
});
setTimeout(() => {
interaction.deleteReply();
}, 3000);
}
}
});

View file

@ -1,151 +0,0 @@
[
{
"name": "migrate",
"text": "https://prismlauncher.org/wiki/getting-started/migrating-multimc/",
"aliases": ["migr", "mmc", "multimc"]
},
{
"name": "thematrix",
"text": "https://matrix.to/#/#prismlauncher:matrix.org"
},
{
"name": "log",
"aliases": ["sendlog", "logs", "🪵"],
"text": "Please send logs: https://media.discordapp.net/attachments/923671549758820434/1027408644289077268/unknown.png"
},
{
"name": "eta",
"aliases": ["wen", "when"],
"text": "Sometime"
},
{
"name": "optifine",
"aliases": ["of", "optimize", "opticrap", "notfine"],
"embed": {
"color": "green",
"title": "OptiFine",
"description": "OptiFine is known to cause problems when paired with other mods.\nPlease see [Installing OptiFine Alternatives](https://prismlauncher.org/wiki/getting-started/install-of-alternatives/).\nIf you really want to use OptiFine, see [Installing OptiFine](https://prismlauncher.org/wiki/getting-started/installing-optifine/)"
}
},
{
"name": "binary-search",
"aliases": ["thanosmethod"],
"embed": {
"color": "blue",
"title": "Binary Search - method to find mod problems",
"description": "The binary search is a way of finding a faulty thing among a lot of other things, without having to remove the things one-by-one. This is useful for finding a broken mod among hundreds of mods, without having to spend time testing the mods one-by-one.\nThe procedure is simple:\n1. Remove half of the existing things, and put them aside.\n2. Run the program / game.\n3. Does the issue still exist?\nIf YES: Repeat from step 1 with the current things.\nIF NO: Swap out the current things with the ones set aside, and repeat from step 1.\n4. Repeat this process until the problematic thing/s have been found.\n\n Credit to the Quilt Community discord and the Forge Discord for these instructions."
}
},
{
"name": "java",
"text": "https://prismlauncher.org/wiki/getting-started/installing-java/",
"aliases": ["j"]
},
{
"name": "legacyjavafixer",
"text": "MinecraftForge provides a coremod to fix some issues with older Forge versions on recent Java versions. You can download it here: https://dist.creeper.host/FTB2/maven/net/minecraftforge/lex/legacyjavafixer/1.0/legacyjavafixer-1.0.jar",
"aliases": ["legacyjava", "ljf"]
},
{
"name": "paths",
"aliases": ["dirs", "locate"],
"embed": {
"title": "Data directories",
"description": "Where Prism Launcher stores your data (e.g. instances)",
"color": "blue",
"fields": [
{
"name": "Portable (Windows / Linux)",
"value": "In the PrismLauncher folder"
},
{
"name": "Windows",
"value": "`%APPDATA%/PrismLauncher`"
},
{
"name": "macOS",
"value": "`~/Library/Application Support/PrismLauncher`"
},
{
"name": "Linux",
"value": "`~/.local/share/PrismLauncher`"
},
{
"name": "Flatpak",
"value": "`~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher`"
}
]
}
},
{
"name": "build",
"text": "https://prismlauncher.org/wiki/development/build-instructions/"
},
{
"name": "why",
"text": "https://prismlauncher.org/wiki/overview/faq/#why-did-our-community-choose-to-fork https://prismlauncher.org/news/moving-on/",
"aliases": [
"whywasprismlaunchermade",
"whywasprismmade",
"whywaspolymcmade",
"mmcdrama",
"devlauncher"
]
},
{
"name": "whyjava8",
"embed": {
"title": "Why does Prism Launcher ask me to change java version?",
"description": "Minecraft versions before 1.17 required Java 8 and have issues with newer java, while newer versions require Java 17, so you need to change java version. Some people think Java 8 is very outdated, but it's actually an LTS, it's still getting updates. If one of your mods is weird and requires newer java, you can bypass this going to instance settings-Java and ticking 'Skip java compatibility checks', but be aware of potential issues, such as [random CMEs](https://bugs.mojang.com/browse/MC-149777).",
"color": "orange"
},
"aliases": ["isjava8ancient", "whyisprismforcingme"]
},
{
"name": "update",
"embed": {
"title": "Does Prism Launcher auto-update?",
"description": "Prism Launcher auto-updates for macOS using the Sparkle Framework.\n\nWindows auto-updating is WIP for now, you will need to download the installer and run it again. (You will not lose your instances.)\n\nFor Linux, just use your package manager!",
"color": "blue"
},
"aliases": ["updating", "autoupdate"]
},
{
"name": "modupdater",
"embed": {
"title": "Mod updater",
"description": "Mod updating has been introduced in Prism Launcher 1.4.0! Upgrade if you haven't and you'll be able to use it.",
"color": "green"
},
"aliases": ["mod-update", "modupdate"]
},
{
"name": "curseforge",
"embed": {
"title": "What's wrong with CurseForge?",
"description": "CurseForge added a new option to block third party clients like Prism Launcher from accessing mod files, and they started to enforce this option lately. We can't allow you to download those mods directly from Prism Launcher, but Prism Launcher 1.3.1 and higher have a workaround to let modpacks work: letting you to download those opted out mods manually. We highly encourage asking authors that opted out to stop doing so.",
"color": "orange"
},
"aliases": ["cf", "curse", "cursed", "cursedfrog"]
},
{
"name": "piracy",
"embed": {
"title": "We don't tolerate piracy!",
"description": "Prism Launcher has always been legal, legitimate & appropriate. We don't and never will have features such as offline login without an official account.",
"color": "red"
}
},
{
"name": "whatislinuxexactly",
"text": "Id just like to interject for a moment. What youre refering to as Linux, is in fact, GNU/Linux, or as Ive recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.\nMany computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.\nThere really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machines resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!"
},
{
"name": "pluralkit",
"embed": {
"title": "Why PluralKit?",
"description": "Plurality is the existence of multiple self-aware entities inside the same brain.\n\nEach member of a system/collective (group residing inside the same physical brain) is an individual person, so please treat them as such.\n\nOn Discord, some systems may use [PluralKit](https://pluralkit.me/) to make their message appear with the correct profile, resulting in a `[BOT]` tag.\n\nFor more information about plurality, we recommend [More Than One](https://morethanone.info/) for a useful overview.",
"color": "blue"
}
}
]

45
src/tags.ts Normal file
View file

@ -0,0 +1,45 @@
import type { EmbedData } from 'discord.js';
import matter from 'gray-matter';
import { readdir, readFile } from 'fs/promises';
import { join } from 'path';
import { COLORS } from './constants';
interface Tag {
name: string;
aliases?: string[];
text?: string;
embed?: EmbedData;
}
const TAG_DIR = join(process.cwd(), 'tags');
export const getTags = async (): Promise<Tag[]> => {
const filenames = await readdir(TAG_DIR);
const tags: Tag[] = [];
for (const _file of filenames) {
const file = join(TAG_DIR, _file);
const { data, content } = matter(await readFile(file));
if (data.embed) {
tags.push({
...data,
name: _file.replace('.md', ''),
embed: {
...data.embed,
description: content,
color: COLORS[data.embed.color],
},
});
} else {
tags.push({
...data,
name: _file.replace('.md', ''),
text: content,
});
}
}
return tags;
};

View file

@ -1,27 +0,0 @@
import type { EmbedData } from 'discord.js';
import { readFile } from 'fs/promises';
import { join } from 'path';
import { COLORS } from './constants';
interface Tag {
name: string;
aliases?: Array<string>;
text?: string;
embed?: EmbedData;
}
export const getTags = async (): Promise<Tag[]> => {
const raw = JSON.parse(
await readFile(join(__dirname, 'tags.json'), { encoding: 'utf8' })
) as Tag[];
return raw.map((tag) => {
if (tag.embed?.color) {
// @ts-expect-error this doesn't work for TypeScript but it does for me
tag.embed.color = COLORS[tag.embed.color];
}
return tag;
});
};

19
tags/binary-search.md Normal file
View file

@ -0,0 +1,19 @@
---
aliases: ['thanosmethod']
embed:
title: Binary Search - method to find mod problems
color: blue
---
The binary search is a way of finding a faulty thing among a lot of other things, without having to remove the things one-by-one. This is useful for finding a broken mod among hundreds of mods, without having to spend time testing the mods one-by-one.
The procedure is simple:
1. Remove half of the existing things, and put them aside.
2. Run the program / game.
3. Does the issue still exist?
If YES: Repeat from step 1 with the current things.
IF NO: Swap out the current things with the ones set aside, and repeat from step 1.
4. Repeat this process until the problematic thing/s have been found.
_Credit to the Quilt Community discord and the Forge Discord for these instructions._

1
tags/build.md Normal file
View file

@ -0,0 +1 @@
https://prismlauncher.org/wiki/development/build-instructions/

8
tags/curseforge.md Normal file
View file

@ -0,0 +1,8 @@
---
aliases: ['cf', 'curse', 'cursed', 'cursedfrog']
embed:
title: What's wrong with CurseForge?
color: orange
---
CurseForge added a new option to block third party clients like Prism Launcher from accessing mod files, and they started to enforce this option lately. We can't allow you to download those mods directly from Prism Launcher, but Prism Launcher 1.3.1 and higher have a workaround to let modpacks work: letting you to download those opted out mods manually. We highly encourage asking authors that opted out to stop doing so.

1
tags/java.md Normal file
View file

@ -0,0 +1 @@
https://prismlauncher.org/wiki/getting-started/installing-java/

5
tags/legacyjavafixer.md Normal file
View file

@ -0,0 +1,5 @@
---
aliases: ['legacyjava', 'ljf']
---
MinecraftForge provides a coremod to fix some issues with older Forge versions on recent Java versions. You can download it here: https://dist.creeper.host/FTB2/maven/net/minecraftforge/lex/legacyjavafixer/1.0/legacyjavafixer-1.0.jar

5
tags/log.md Normal file
View file

@ -0,0 +1,5 @@
---
aliases: ['sendlog', 'logs', '🪵']
---
Please send logs: https://media.discordapp.net/attachments/923671549758820434/1027408644289077268/unknown.png

5
tags/migrate.md Normal file
View file

@ -0,0 +1,5 @@
---
aliases: ['migr', 'mmc', 'multimc']
---
https://prismlauncher.org/wiki/getting-started/migrating-multimc/

12
tags/optifine.md Normal file
View file

@ -0,0 +1,12 @@
---
aliases: ['of', 'optimize', 'opticrap', 'notfine']
embed:
title: OptiFine
color: green
---
OptiFine is known to cause problems when paired with other mods.
Please see [Installing OptiFine Alternatives](https://prismlauncher.org/wiki/getting-started/install-of-alternatives/).
If you really want to use OptiFine, see [Installing OptiFine](https://prismlauncher.org/wiki/getting-started/installing-optifine/)

19
tags/paths.md Normal file
View file

@ -0,0 +1,19 @@
---
aliases: ['dirs', 'locate']
embed:
title: Data directories
color: blue
fields:
- name: Portable (Windows / Linux)
value: In the PrismLauncher folder
- name: Windows
value: '`%APPDATA%/PrismLauncher`'
- name: macOS
value: '`~/Library/Application Support/PrismLauncher`'
- name: Linux
value: '`~/.local/share/PrismLauncher`'
- name: Flatpak
value: '`~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher`'
---
Where Prism Launcher stores your data (e.g. instances)

7
tags/piracy.md Normal file
View file

@ -0,0 +1,7 @@
---
embed:
title: We don't tolerate piracy!
color: red
---
Prism Launcher has always been legal, legitimate & appropriate. We don't and never will have features such as offline login without an official account.

14
tags/pluralkit.md Normal file
View file

@ -0,0 +1,14 @@
---
aliases: ['pk']
embed:
title: Why PluralKit?
color: blue
---
Plurality is the existence of multiple self-aware entities inside the same brain.
Each member of a system/collective (group residing inside the same physical brain) is an individual person, so please treat them as such.
On Discord, some systems may use [PluralKit](https://pluralkit.me/) to make their message appear with the correct profile, resulting in a `[BOT]` tag.
For more information about plurality, we recommend [More Than One](https://morethanone.info/) for a useful overview.

12
tags/update.md Normal file
View file

@ -0,0 +1,12 @@
---
aliases: ['updating', 'autoupdate']
embed:
title: Does Prism Launcher auto-update?
color: blue
---
Prism Launcher auto-updates for macOS using the Sparkle Framework.
Windows auto-updating is WIP for now, you will need to download the installer and run it again. (You will not lose your instances.)
For Linux, just use your package manager!

11
tags/why.md Normal file
View file

@ -0,0 +1,11 @@
---
aliases:
- 'whywasprismlaunchermade'
- 'whywasprismmade'
- 'whywaspolymcmade'
- 'mmcdrama'
- 'devlauncher'
---
https://prismlauncher.org/wiki/overview/faq/#why-did-our-community-choose-to-fork
https://prismlauncher.org/news/moving-on/

8
tags/whyjava8.md Normal file
View file

@ -0,0 +1,8 @@
---
aliases: ['isjava8ancient', 'whyisprismforcingme']
embed:
title: Why does Prism Launcher ask me to change Java version?
color: orange
---
Minecraft versions before 1.17 required Java 8 and have issues with newer java, while newer versions require Java 17, so you need to change java version. Some people think Java 8 is very outdated, but it's actually an LTS, it's still getting updates. If one of your mods is weird and requires newer java, you can bypass this going to instance settings-Java and ticking 'Skip java compatibility checks', but be aware of potential issues, such as [random CMEs](https://bugs.mojang.com/browse/MC-149777).

View file

@ -291,6 +291,13 @@ ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
dependencies:
sprintf-js "~1.0.2"
argparse@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@ -650,6 +657,11 @@ espree@^9.4.0:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
@ -679,6 +691,13 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
dependencies:
is-extendable "^0.1.0"
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@ -836,6 +855,16 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
gray-matter@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
dependencies:
js-yaml "^3.13.1"
kind-of "^6.0.2"
section-matter "^1.0.0"
strip-bom-string "^1.0.0"
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
@ -882,6 +911,11 @@ ip-regex@^4.1.0:
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5"
integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==
is-extendable@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@ -909,6 +943,14 @@ js-sdsl@^4.1.4:
resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6"
integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
@ -931,6 +973,11 @@ just-random@^3.1.1:
resolved "https://registry.yarnpkg.com/just-random/-/just-random-3.1.1.tgz#87ca02798b427d5e7b632cfe3367b3b25aea7040"
integrity sha512-nb9chl3E511Zu68G1EfC6jGh/aU0lojFOo7zaSEPznktuQhr8TkH4z7DyWebgwdLki8ekLOmzia3UTlv4zBWHQ==
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
kleur@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
@ -1162,6 +1209,14 @@ safe-buffer@~5.2.0:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
section-matter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
dependencies:
extend-shallow "^2.0.1"
kind-of "^6.0.0"
semver@^7.3.7:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
@ -1199,6 +1254,11 @@ source-map@^0.6.0:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
streamsearch@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
@ -1218,6 +1278,11 @@ strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
strip-bom-string@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"