-
+
+ {label &&
}
+
- {tagList.map((context, index)=>{ return context.editing ? renderWriteTag(context, index) : renderReadTag(context, index); })}
+ {tagList.map((t, i)=>t.editing ? (
+ setTagList((prev)=>prev.map((tag, idx)=>(idx === i ? { ...tag, draft: e.target.value } : tag)),
+ )
+ }
+ onKeyDown={(e)=>{
+ if(e.key === 'Enter') {
+ e.preventDefault();
+ submitTag(t.draft, i); // submit draft
+ setTagList((prev)=>prev.map((tag, idx)=>(idx === i ? { ...tag, draft: '' } : tag)),
+ );
+ }
+ if(e.key === 'Escape') {
+ stopEditing(i);
+ e.target.blur();
+ }
+ }}
+ autoFocus
+ />
+ ) : (
+ - editTag(i)}>
+ {t.value}
+
+
+ ),
+ )}
-
setTempInputText(e.target.value)}
- onKeyDown={(evt)=>handleInputKeyDown({ evt, value: null, options: { clear: true } })}
+
submitTag(value)}
+ onEntry={(e)=>{
+ if(e.key === 'Enter') {
+ console.log('submit');
+ e.preventDefault();
+ submitTag(e.target.value);
+ }
+ }}
/>
+ {smallText.length !== 0 && {smallText}}
);
diff --git a/client/homebrew/editor/tagInput/tagInput.less b/client/homebrew/editor/tagInput/tagInput.less
index e69de29bb..3165b3935 100644
--- a/client/homebrew/editor/tagInput/tagInput.less
+++ b/client/homebrew/editor/tagInput/tagInput.less
@@ -0,0 +1,22 @@
+.list input {
+ border-radius: 5px;
+}
+
+.tagInput-dropdown {
+ .dropdown-options {
+ .item {
+ &.type {
+ background-color: #00800035;
+ }
+ &.group {
+ background-color: #50505035;
+ }
+ &.meta {
+ background-color: #00008035;
+ }
+ &.system {
+ background-color: #80000035;
+ }
+ }
+ }
+}
diff --git a/client/homebrew/editor/tagInput/tagSuggestionList.js b/client/homebrew/editor/tagInput/tagSuggestionList.js
new file mode 100644
index 000000000..6b8e4060e
--- /dev/null
+++ b/client/homebrew/editor/tagInput/tagSuggestionList.js
@@ -0,0 +1,1980 @@
+export default [
+ "meta:Theme",
+ "5e",
+ "Subclass",
+ "meta:theme",
+ "subclass",
+ "Class",
+ "Homebrew",
+ "Race",
+ "Dungeons and Dragons",
+ "theme",
+ "Daggerheart",
+ "2024",
+ "One Piece",
+ "One Piece DND",
+ "Luffy",
+ "Dungeons and Devil Fruits",
+ "Strawhats",
+ "Template",
+ "Campaign Frame",
+ "class",
+ "Players Handbook",
+ "dnd",
+ "osr",
+ "Dungeon Masters Guide",
+ "shadowdark",
+ "dragonbane",
+ "PHB",
+ "example",
+ "Devil Fruits",
+ "system:pf2e",
+ "DnD",
+ "DMG",
+ "system:dnd5.5",
+ "Monster",
+ "homebrew",
+ "race",
+ "template",
+ "Warlock",
+ "monster",
+ "Fighter",
+ "warlock",
+ "druid",
+ "sorcerer",
+ "D&D",
+ "Magic Item",
+ "Barbarian",
+ "Artificer",
+ "2014",
+ "system:descent into avernus",
+ "Sorcerer",
+ "Adventure",
+ "Paladin",
+ "Ranger",
+ "user help",
+ "fighter",
+ "5th Edition",
+ "Spells",
+ "Monk",
+ "Spell",
+ "NPC",
+ "Cleric",
+ "spell",
+ "Rogue",
+ "css",
+ "Item",
+ "artificer",
+ "magic item",
+ "Rules",
+ "barbarian",
+ "wizard",
+ "russian",
+ "DnD5e",
+ "Wizard",
+ "paladin",
+ "bastionland",
+ "spells",
+ "Devil Fruit",
+ "Bard",
+ "5.5e",
+ "rogue",
+ "Tabletop System",
+ "Haki",
+ "Druid",
+ "mystic bastionland",
+ "item",
+ "Lore",
+ "bard",
+ "monk",
+ "system:dnd5e",
+ "world",
+ "ranger",
+ "WIP",
+ "cleric",
+ "Dragon",
+ "Naruto",
+ "Creature",
+ "snippet",
+ "npc",
+ "DeS",
+ "Magic",
+ "guide",
+ "v3",
+ "Beast",
+ "Classe",
+ "onering",
+ "Monsters",
+ "Races",
+ "Weapon",
+ "adventure",
+ "Subclasses",
+ "stat block",
+ "weapon",
+ "Species",
+ "DONE",
+ "archetype",
+ "RPG",
+ "Hollow Knight",
+ "5e'24",
+ "Martial",
+ "DND",
+ "Classe Nova",
+ "Curse of Strahd",
+ "Boss",
+ "Hollowed Kingdoms",
+ "baldurs mouth",
+ "5.24",
+ "Homewbrew",
+ "Encyclopedia",
+ "Revised",
+ "OneWorldHD",
+ "knight",
+ "DPS",
+ "srd",
+ "Undead",
+ "items",
+ "DnD 5e",
+ "Guide",
+ "Compendium",
+ "Feat",
+ "newspaper",
+ "magic",
+ "TTRPG",
+ "descent into avernus",
+ "reference",
+ "system:D&D 5e24",
+ "feat",
+ "Magic Items",
+ "Campaign",
+ "resource",
+ "Feats",
+ "Anime",
+ "dd5",
+ "races",
+ "Monstrosity",
+ "DM Screen",
+ "2024 Rules",
+ "Rework",
+ "Character Build",
+ "Done",
+ "5e 2024",
+ "Construct",
+ "myth",
+ "magic items",
+ "creature",
+ "Legendary",
+ "Strahd",
+ "background",
+ "Player",
+ "style",
+ "Legacy",
+ "Player Handbook",
+ "martial",
+ "Character",
+ "Dungeons & Dragons",
+ "Table",
+ "reddit",
+ "monsters",
+ "OneDND",
+ "dragon",
+ "Suporte",
+ "Soulbound",
+ "Expanded Handbook",
+ "bestiary",
+ "Humanoid",
+ "system:dnd",
+ "Oredell",
+ "system:class",
+ "V3",
+ "system:5e",
+ "5e'14",
+ "Age of Sigmar",
+ "Items",
+ "Eberron",
+ "horror",
+ "dnd5e",
+ "star wars",
+ "Background",
+ "compendium",
+ "revision",
+ "Elemental",
+ "character",
+ "Marcial",
+ "SW5e",
+ "notes",
+ "DM",
+ "Fey",
+ "one-shot",
+ "resources",
+ "NEW",
+ "campaign",
+ "wondrous item",
+ "Setting",
+ "Archive",
+ "NIMRE",
+ "Tanque",
+ "Jogavel",
+ "Dnd 5e",
+ "LotM",
+ "setting",
+ "revised",
+ "Warhammer",
+ "rework",
+ "Conjurador",
+ "GMBinder",
+ "ItemSet",
+ "NPCs",
+ "classes",
+ "CR 2",
+ "AetherSail",
+ "undead",
+ "Artifact",
+ "cards",
+ "Example",
+ "Guides",
+ "Theme",
+ "Swamp",
+ "CR 1",
+ "patron",
+ "Extra",
+ "concept",
+ "final fantasy",
+ "Aberration",
+ "Elder Scrolls",
+ "rules",
+ "meta:gratis",
+ "Dice Pool",
+ "Cue",
+ "dark",
+ "type:Style",
+ "rpg",
+ "meta:free",
+ "summoner",
+ "OC",
+ "rare",
+ "Fleshing Out",
+ "francais",
+ "Dnd",
+ "Creatures",
+ "Sims 4",
+ "sous-classe",
+ "ffxiv",
+ "Underdark",
+ "add-on",
+ "weapons",
+ "Subrace",
+ "dungeons and dragons",
+ "Naruto 5e",
+ "Lafari",
+ "Very Rare",
+ "d6",
+ "red",
+ "Equipment",
+ "CR 3",
+ "Patron",
+ "5E",
+ "objet magique",
+ "spellcaster",
+ "feats",
+ "5.24e",
+ "system:d&d5e",
+ "Rare",
+ "Thudnfer",
+ "daggerheart",
+ "CR 1/2",
+ "Archetype",
+ "dnd 5e",
+ "Pathfinder",
+ "lineage",
+ "Celestial",
+ "Support",
+ "species",
+ "ARCHIVED",
+ "Horror",
+ "humanoid",
+ "Subclase",
+ "book:PHB E&E",
+ "final fantasy xiv",
+ "Jungle",
+ "Feywild",
+ "Fiend",
+ "subclasses",
+ "HB",
+ "Legacy Challenge",
+ "Project Horizon",
+ "vampire",
+ "WoW",
+ "DND 5e",
+ "Weapons",
+ "system:book clone",
+ "CoS",
+ "N5e",
+ "Summon",
+ "Spellcaster",
+ "Koretra",
+ "Voidborn",
+ "one shot",
+ "Templates",
+ "tables",
+ "Iphexar",
+ "Shattered Obelisk",
+ "Sword Coast",
+ "elemental",
+ "lore",
+ "character sheet",
+ "discord",
+ "BetterMonsters",
+ "players",
+ "group:simple skans",
+ "Coastal",
+ "Forest",
+ "Unearthed Arcana",
+ "Old",
+ "Collection",
+ "Ancestry",
+ "Caevash",
+ "Strixhaven",
+ "Limbus Company",
+ "Daydreams & Deviants",
+ "Statblocks",
+ "Urban",
+ "Classes",
+ "familiar",
+ "Blood",
+ "oneshot",
+ "n5e",
+ "wip",
+ "masks",
+ "Planeshifted",
+ "Carrioss",
+ "avernus",
+ "object",
+ "1",
+ "Ruins",
+ "Anime Character",
+ "wild shape",
+ "mask",
+ "dj9 game",
+ "Handbook",
+ "Curse",
+ "oath",
+ "Midralis",
+ "Appendix",
+ "5.5",
+ "tales of the valiant",
+ "player classes",
+ "Caster",
+ "Large",
+ "Fateforge",
+ "Cursed",
+ "beast",
+ "Pathfinder 2e",
+ "Design",
+ "Uncommon",
+ "Endeur",
+ "Elemental Water",
+ "SCC",
+ "sci-fi",
+ "Dragons",
+ "human",
+ "Gods",
+ "Medium",
+ "System",
+ "Help",
+ "Handout",
+ "Skyrim",
+ "BnB",
+ "draft",
+ "PC",
+ "Variant",
+ "syntax",
+ "OneShot",
+ "Clase",
+ "UESTRPG",
+ "Savannah",
+ "Reef",
+ "CR 5",
+ "Forgotten Realms",
+ "collection",
+ "Combat",
+ "Historia",
+ "artifact",
+ "Expansion",
+ "Attunement",
+ "Variant Rules",
+ "d&d",
+ "Party Build",
+ "Evocation",
+ "homerule",
+ "Forbidden West",
+ "how-to",
+ "tov",
+ "Mystical Item",
+ "CR 4",
+ "Necromancer",
+ "General Rules",
+ "Needs Update",
+ "stat blocks",
+ "DC Comics",
+ "Sword",
+ "Armor",
+ "blood hunter",
+ "Blood Hunter",
+ "Meio Conjurador",
+ "Mydia",
+ "3rd Party",
+ "N5E",
+ "Delvebound",
+ "Ocean",
+ "Subterranean",
+ "half-caster",
+ "Demon",
+ "Fire",
+ "meta:Template",
+ "Character Sheet",
+ "PF2e",
+ "png",
+ "fantasy",
+ "Setting Guide",
+ "Style",
+ "Cor",
+ "legacy",
+ "Minion",
+ "meta:khaoz age",
+ "Book",
+ "magical item",
+ "immersion",
+ "reminder cards",
+ "Regras",
+ "Durnovar",
+ "2025",
+ "Camp1",
+ "Abyss",
+ "armor",
+ "construct",
+ "firearms",
+ "Backgrounds",
+ "Companion",
+ "Melee",
+ "fey",
+ "Incomplete",
+ "Vampire",
+ "Bestiary",
+ "Worldbuilding",
+ "History",
+ "Conjuration",
+ "necromancy",
+ "dragons",
+ "ancestry",
+ "Mech",
+ "PbtA",
+ "COS",
+ "One Shot",
+ "Factions",
+ "Transmutation",
+ "Spellcasting",
+ "card",
+ "Ardh",
+ "redveil",
+ "conditions",
+ "elturel",
+ "rhye",
+ "group:James Haeck",
+ "CaelYuu",
+ "system:5.24e",
+ "system:GM Binder",
+ "Grassland",
+ "melee",
+ "Potions",
+ "anime",
+ "D&D 5e",
+ "Healer",
+ "Gambling",
+ "Lightning",
+ "fighting style",
+ "support",
+ "Style Template",
+ "mtg",
+ "NSFW",
+ "aventura",
+ "Manuals",
+ "plant",
+ "Incarnate",
+ "Crafting",
+ "DnDBeyond",
+ "Monster Girl",
+ "Monster Girl Encyclopedia",
+ "pet",
+ "npcs",
+ "Stat Block",
+ "Styleguide",
+ "mitologia",
+ "Objeto maravilloso",
+ "vaesen rpg",
+ "dnd-2024",
+ "Class Handbook",
+ "Space",
+ "Taiga",
+ "CR 6",
+ "Pact Boon",
+ "race/ancestry",
+ "Necromancy",
+ "cantrip",
+ "LoL",
+ "Raza",
+ "handout",
+ "Mechanic",
+ "Conversion",
+ "Wondrous Item",
+ "Familiar",
+ "necromancer",
+ "uncommon",
+ "curse",
+ "Campaign Setting",
+ "Tetra",
+ "1e",
+ "module",
+ "Evolving",
+ "boiling sea",
+ "deck",
+ "OSR",
+ "RU",
+ "VL",
+ "Underdeep",
+ "Deep Ocean",
+ "Giant",
+ "statblock",
+ "combat",
+ "Time",
+ "5E24",
+ "session zero",
+ "elf",
+ "tank",
+ "sorcerous origin",
+ "Drakkenheim",
+ "Tavern",
+ "Domain",
+ "healer",
+ "Valenor",
+ "blood",
+ "Oath",
+ "spooky",
+ "fire",
+ "meta:5e24 Style",
+ "Notes",
+ "City",
+ "Conjurador Completo",
+ "prop",
+ "Dotherys",
+ "Rietuma 3.0",
+ "5e24",
+ "Library of Ruina",
+ "español",
+ "Project Echo",
+ "battle of Japan",
+ "Plant",
+ "Badlands",
+ "Neverwinter",
+ "Fantasy",
+ "Beastfolk",
+ "Unarmed",
+ "Cold",
+ "Damage",
+ "attunement",
+ "Hurthud",
+ "3rd Level",
+ "spelljammer",
+ "mostro",
+ "Custom",
+ "PT-BR",
+ "Alternative Realms",
+ "The Foot",
+ "boss",
+ "demo",
+ "Supplement",
+ "FitD",
+ "classe",
+ "5.14",
+ "Copy",
+ "DnD5e24",
+ "X-Men",
+ "TNA",
+ "CR 8",
+ "Desert",
+ "CR 7",
+ "arme",
+ "random",
+ "spellcasting",
+ "Deprecated",
+ "Cards",
+ "finished",
+ "Ben 10",
+ "equipment",
+ "Geography",
+ "Games",
+ "For Players",
+ "Faerun",
+ "scroll",
+ "Faction",
+ "Alchemist",
+ "drow",
+ "Lineage",
+ "mix-blend-mode",
+ "columns",
+ "User Help",
+ "Reami Dimenticati",
+ "Класс",
+ "D100",
+ "nsfw",
+ "hucaen",
+ "v1.0",
+ "Cortex",
+ "Fallout",
+ "ww5e",
+ "MAGIC",
+ "DnD2024",
+ "ToV",
+ "D&D2024",
+ "The Backrooms",
+ "Freshwater",
+ "D20",
+ "Dragonborn",
+ "custom",
+ "sword",
+ "Dungeons and Dragons 5e",
+ "Water",
+ "legendary",
+ "Dungeon",
+ "Ravenloft",
+ "aberration",
+ "Longsword",
+ "transmutation",
+ "Fairy Tail",
+ "Character background",
+ "Exandria",
+ "Updated",
+ "pitch",
+ "Half-Caster",
+ "Complete",
+ "Money",
+ "player",
+ "forgotten-realms",
+ "Festival",
+ "Casino",
+ "SCAG",
+ "Currency",
+ "North",
+ "Toril",
+ "Scourged Land of Valenor",
+ "Oota",
+ "parchment",
+ "Literature",
+ "Serrith",
+ "PNJ",
+ "Divinity Original Sin 2",
+ "Wild",
+ "videogame",
+ "magic the gathering",
+ "sweetblossom",
+ "GMscreen",
+ "MandM",
+ "D&D 5.24",
+ "Camp2",
+ "Remaster",
+ "riassunti",
+ "type:Resource",
+ "system:D&D",
+ "tag:Class",
+ "Excelsior",
+ "Stat Blocks",
+ "Sci-Fi",
+ "Ooze",
+ "CR 1/8",
+ "sublclass",
+ "chart",
+ "Mountains",
+ "guns",
+ "Nature",
+ "Orc",
+ "Poison",
+ "Devil",
+ "fiend",
+ "DC",
+ "pt-br",
+ "ABnB",
+ "One-Shot",
+ "strahd",
+ "Ring",
+ "Theme song",
+ "orc",
+ "summon",
+ "Psion",
+ "Psionics",
+ "Dungeon Master",
+ "vehicle",
+ "DM only",
+ "Demigod",
+ "Antica Energia",
+ "Pirates",
+ "Sourcebook",
+ "devil",
+ "Cantrip",
+ "mystery",
+ "MtG",
+ "conversion",
+ "Festivals",
+ "Casinos",
+ "Taverns",
+ "Betting",
+ "Drinking",
+ "phandelver",
+ "Warhammer 40k",
+ "mutant",
+ "styling",
+ "FATE",
+ "Lone Wolf",
+ "icon",
+ "New Dawn",
+ "Magic Set",
+ "Paladin Subclass",
+ "Alter Class",
+ "difficulty classses",
+ "combat tables",
+ "phb",
+ "Project Moon",
+ "Undertomes",
+ "EGO",
+ "Campagne 1",
+ "Constelação",
+ "Arvore I",
+ "Fim da Jornada",
+ "greek god",
+ "dwarf",
+ "Firearms",
+ "3.5e",
+ "generator",
+ "Elf",
+ "meta: Scenario",
+ "enchantment",
+ "buff",
+ "ITW",
+ "Tank",
+ "Archived",
+ "Martial Archetype",
+ "caster",
+ "BR",
+ "Knight",
+ "Utility",
+ "SWADE",
+ "Star Wars",
+ "pc",
+ "Mystic",
+ "Useful",
+ "Netherdeep",
+ "crafting",
+ "Sapient Undead",
+ "Maverick",
+ "Revision",
+ "Resource",
+ "Humblewood",
+ "one piece",
+ "Bag of Holding",
+ "medium",
+ "lightning",
+ "backgrounds",
+ "4th Level",
+ "path",
+ "BREAK-RPG",
+ "dark fantasy",
+ "Players",
+ "poison",
+ "psionic",
+ "gazook89",
+ "homebrew subclass",
+ "wild-wasteland",
+ "CWD",
+ "Paid",
+ "Tales of the Valiant",
+ "Dreadhold",
+ "arma",
+ "system:Mutants and Masterminds",
+ "#Tiefschlaf",
+ "Brew",
+ "Myra",
+ "Swashbuckler",
+ "dead by daylight",
+ "Exceptional",
+ "COD Zombies",
+ "Hills",
+ "Tundra",
+ "type:Campaign",
+ "wild magic",
+ "Food",
+ "Death",
+ "homebrew rules",
+ "Remake",
+ "Witcher",
+ "water",
+ "Pet",
+ "book",
+ "AAH",
+ "pact",
+ "Ice",
+ "Character Creation",
+ "animal",
+ "Pokemon",
+ "clase",
+ "5e14",
+ "DBZ",
+ "CLONE",
+ "Evil",
+ "Tarsere",
+ "Mythology",
+ "pf2e",
+ "Magical",
+ "type:race",
+ "Sorcerous Origin",
+ "Information",
+ "styles",
+ "Module",
+ "gish",
+ "frames",
+ "DeltaGreen",
+ "Magic item",
+ "food",
+ "chef",
+ "basics",
+ "giant",
+ "Brew Creation",
+ "One-shot",
+ "ttrpg",
+ "Path",
+ "Don't Starve",
+ "MGE",
+ "firearm",
+ "DnDBehindTheScreen",
+ "store",
+ "The Artisan",
+ "timeline",
+ "college",
+ "dev",
+ "dungeon of the dead three",
+ "Cradle",
+ "Dnd5e",
+ "dungeon",
+ "Amaranthine",
+ "Regno di Oltremare",
+ "bestia",
+ "rewrite",
+ "WiP",
+ "Subclasse",
+ "mutants and masterminds",
+ "The Embrace",
+ "meta:documentation",
+ "Mutants And Masterminds",
+ "khedoria",
+ "Encounter Pack",
+ "giorni",
+ "Statblock",
+ "Enemies",
+ "Goblinoids",
+ "Heavens",
+ "system:2e",
+ "Vaalbara",
+ "Dwarf",
+ "airos",
+ "table",
+ "Artificer Specialization",
+ "Buff",
+ "Book 1",
+ "Ranged",
+ "cypher",
+ "utilities",
+ "40k",
+ "Psychic",
+ "Fear",
+ "steampunk",
+ "shadow",
+ "subclase",
+ "Barbarian Subclass",
+ "Elements",
+ "pact boon",
+ "Clan",
+ "Fly",
+ "solo",
+ "sourcebook",
+ "Marvel Comics",
+ "compilation",
+ "Firearm",
+ "sidekick",
+ "infusions",
+ "Mechanics",
+ "Summoner",
+ "Aasimar",
+ "Human",
+ "Vehicle",
+ "Shadow",
+ "Clone",
+ "custom css",
+ "ocean",
+ "sotdl",
+ "bandit",
+ "Wind",
+ "Printer Friendly",
+ "Obsolete",
+ "mechanics",
+ "illusion",
+ "5th edition",
+ "League of Legends",
+ "Vestige",
+ "dungeons",
+ "Dungeons",
+ "and",
+ "Elden Ring",
+ "L5R",
+ "d20",
+ "Poisons",
+ "d15",
+ "Dungeons And Dragons",
+ "MTG",
+ "divine",
+ "characters",
+ "witch",
+ "Anime Homebrew",
+ "Zombie",
+ "thunder",
+ "Jujutsu Kaisen",
+ "campagne",
+ "Deadlands",
+ "spell list",
+ "1 Person",
+ "Ritual",
+ "screen",
+ "nature",
+ "Divination",
+ "Compattare",
+ "dtrpg",
+ "quick ref",
+ "Mago",
+ "Illivia",
+ "Shonen",
+ "Core Deities",
+ "green ronin",
+ "Bless",
+ "D&D5e",
+ "version:0.1.0",
+ "curato",
+ "system:Ord",
+ "Images",
+ "Sealed Artifact",
+ "Giants",
+ "CR 9",
+ "CR 11",
+ "CR 0",
+ "CR 14",
+ "Shadowfell",
+ "Tier 1",
+ "d100",
+ "Elemental Air",
+ "artificiel",
+ "Cultist",
+ "Cyberpunk",
+ "Huge",
+ "Warrior",
+ "Gun",
+ "quest",
+ "LYRA",
+ "Music",
+ "Tiefling",
+ "Master",
+ "Witch",
+ "Linnorm",
+ "1st-level",
+ "Mount",
+ "Animal",
+ "Comics",
+ "Superhero",
+ "creatures",
+ "Hunter",
+ "Control",
+ "Dragon Ball",
+ "Dragon Ball Z",
+ "Dagger",
+ "questingforamonster",
+ "ICRPG",
+ "Booklet",
+ "f and t",
+ "common",
+ "Chaos",
+ "spellblade",
+ "Constitution",
+ "artisan",
+ "arcane",
+ "Released",
+ "ring",
+ "runes",
+ "gun",
+ "Supportive Material",
+ "The Witcher",
+ "Desarmado",
+ "Monster Monday",
+ "Bleach",
+ "Demon Slayer",
+ "mice",
+ "worldbuilding",
+ "Necrotic",
+ "ability score",
+ "demon",
+ "Armybook Shivatiano",
+ "warrior",
+ "Fighter Subclass",
+ "system",
+ "whisperveil",
+ "psychic",
+ "warhammer",
+ "Aventura",
+ "Culture",
+ "Material",
+ "meta:npc",
+ "shops",
+ "magic weapon",
+ "nhera",
+ "Dark Fantasy",
+ "Regles",
+ "Wonderous Item",
+ "Features",
+ "pokemon",
+ "Ghosts of Saltmarsh",
+ "monstrosity",
+ "DL TWW",
+ "companion",
+ "alternate layout",
+ "Tutorials",
+ "Kitsune",
+ "don",
+ "heroique",
+ "mini campaign",
+ "drago",
+ "Aquatic",
+ "tool",
+ "handmade",
+ "released",
+ "Spellblade",
+ "pregen",
+ "level 2",
+ "Baldurs gate 3",
+ "My Hero",
+ "Technically a subclass",
+ "5.24e Remastered Subclasses",
+ "dinosaurs",
+ "5E.2024",
+ "Razas",
+ "Horizon",
+ "Clothing",
+ "+2",
+ "castellano",
+ "pentacle prophecy",
+ "tag:Spells",
+ "gruppo A",
+ "Rpg",
+ "razze",
+ "type:Adventure",
+ "unfinished",
+ "3.5",
+ "gunslinger",
+ "BBEG",
+ "Arcane",
+ "component",
+ "Bow",
+ "backstory",
+ "phandalin",
+ "Skills",
+ "Pact",
+ "Elemental Earth",
+ "Joke",
+ "invocation",
+ "martial class",
+ "Super Villain",
+ "Eldritch",
+ "Elemental Fire",
+ "Homebrew Class",
+ "eldritch",
+ "cyberpunk",
+ "Player Race",
+ "Class Mod",
+ "Heatcoast",
+ "meta:Guide",
+ "Yemao",
+ "evil",
+ "Named NPC",
+ "CLASS",
+ "Angel",
+ "vecna",
+ "PT",
+ "PTBR",
+ "Ancient",
+ "Small",
+ "WotC Style",
+ "5e Homebrew",
+ "1st Level",
+ "dagger",
+ "Brancalonia",
+ "encounter",
+ "cat",
+ "primal path",
+ "Ambientazione",
+ "Magie",
+ "candlekeep",
+ "Ongoing",
+ "Oneshot",
+ "Wondrous",
+ "Janbrewery",
+ "Tattoos",
+ "5e (2014)",
+ "concentration",
+ "very rare",
+ "Set",
+ "Kobold",
+ "martial archetype",
+ "God",
+ "blog",
+ "New Gate",
+ "Healing",
+ "OneDnD",
+ "Incantesimi",
+ "Player Options",
+ "contest",
+ "pirate",
+ "Manuel",
+ "Alchimie",
+ "Herboristerie",
+ "Ingredients",
+ "starlost",
+ "Campaign 1",
+ "Abandoned",
+ "Previous Editions",
+ "Enchantment",
+ "Tools",
+ "Oblivion",
+ "domain",
+ "5th Level",
+ "DnD Beyond",
+ "Reference",
+ "Sorcerer Subclass",
+ "Dragon Magazine",
+ "feature",
+ "german",
+ "conjuration",
+ "strixhaven",
+ "Sentient",
+ "JJK",
+ "10 Generations",
+ "character creation",
+ "LevelUp",
+ "pallid grove",
+ "primer",
+ "Requires Attunement",
+ "College",
+ "Aesthetic",
+ "critter",
+ "home game",
+ "spanish",
+ "stats",
+ "Lairon",
+ "Hunters Guild",
+ "original setting",
+ "Bosses",
+ "Radiant Citadel",
+ "actions",
+ "Reworked",
+ "Elystera",
+ "Wyvern",
+ "vikings",
+ "thief",
+ "enemies",
+ "Obsession",
+ "Yi Sang",
+ "aberrazione",
+ "Limbus",
+ "animals",
+ "minecraft",
+ "mice of legend",
+ "osric",
+ "20 Minutes Till Dawn",
+ "campaign frame",
+ "latigo",
+ "DH",
+ "Eldritch Invocation",
+ "system:daggerheart",
+ "100ni",
+ "meta:Sheet",
+ "fa-solid fa-sheet-plastic:Ficha",
+ "tag:Berean",
+ "AD&D",
+ "B/X",
+ "The Codex Of Anomalous Entities",
+ "monster manual",
+ "Polar Waters",
+ "CR 12",
+ "CR 10",
+ "blood magic",
+ "Gunslinger",
+ "grimoire",
+ "Drakes",
+ "Japanese",
+ "subrace",
+ "ooze",
+ "Stats",
+ "Half Caster",
+ "Sea",
+ "time",
+ "Brawler",
+ "Session 0",
+ "Halloween",
+ "Runeterra",
+ "Divine",
+ "Random",
+ "Lifestar",
+ "arcane trickster",
+ "Paddy4530",
+ "evocation",
+ "light",
+ "Steampunk",
+ "shaman",
+ "Primal Path",
+ "monk subclass",
+ "Full Caster",
+ "World",
+ "Planning",
+ "spirit",
+ "Nova Era",
+ "abjuration",
+ "Christmas",
+ "Critical Role",
+ "Gish",
+ "Bandit",
+ "Monster Manual",
+ "party member",
+ "mgazt",
+ "Playable Race",
+ "Donjon.bin.sh",
+ "Final Fantasy",
+ "Roleplay",
+ "monstre",
+ "fairy",
+ "frame",
+ "Minecraft",
+ "Stealth",
+ "Manual",
+ "half caster",
+ "Storm",
+ "Sorcery",
+ "format work",
+ "Kingdom Hearts",
+ "hexblade",
+ "block",
+ "page layouts",
+ "Monk Subclass",
+ "FinyaFluKaiKolja",
+ "Radiant",
+ "group:playtest",
+ "Korrahir",
+ "noble",
+ "exorcist",
+ "xapien",
+ "Raven Queen",
+ "markdown",
+ "damage",
+ "Alchemy",
+ "morrigan",
+ "genasi",
+ "ZNH",
+ "folklore",
+ "Fate",
+ "hechicero",
+ "Air",
+ "Magic Weapon",
+ "Anime DND 5e",
+ "Dragon Ball Z TTRPG",
+ "Dragon Ball Z RPG",
+ "Dragon Ball Z DND",
+ "Dragon Ball Z 5e",
+ "samurai",
+ "Goblin",
+ "Base Sheet",
+ "Shackled City Adventure Path",
+ "Natureza",
+ "control",
+ "Normarch",
+ "Reddit",
+ "Genshin Impact",
+ "Abjuration",
+ "Myr",
+ "Flight",
+ "Vampyre",
+ "nightmare",
+ "Lycan",
+ "Occult",
+ "circle",
+ "Christmas Special",
+ "DoDD",
+ "Character Options",
+ "traduction",
+ "Characters",
+ "Gear",
+ "system:sf2e",
+ "drakkenheim",
+ "downtime",
+ "amulet",
+ "Feiticeiros e Maldicoes",
+ "Tecnica amaldicoada",
+ "prorpg",
+ "enemy",
+ "No Mercy",
+ "rain world",
+ "slugcat",
+ "fly",
+ "meta:User Guide",
+ "Fallout TTRPG",
+ "regles",
+ "Ill Tides",
+ "Light-hearted",
+ "Vastria",
+ "school",
+ "Fillible Online",
+ "Mezgarr",
+ "Berserk",
+ "invocations",
+ "Classe Refeita",
+ "Auroboros",
+ "bosses",
+ "fabula ultima",
+ "Shagya",
+ "wild",
+ "DnD 2024",
+ "KaiburrKathHound",
+ "Barbarian Path",
+ "fauna",
+ "5E.2014",
+ "system:curse of strahd",
+ "Unofficial",
+ "how to",
+ "Glaive",
+ "A5E",
+ "pt",
+ "Consumible",
+ "Realmers'",
+ "Versatile Lineage",
+ "Shichibukai",
+ "2024e",
+ "Rencontre",
+ "tag:Spell List",
+ "elementalist",
+ "noncaster",
+ "blasphemous",
+ "Mordhiem",
+ "Wildfrost",
+ "#Regelwerk",
+ "Rewrite",
+ "Maldición de Strahd",
+ "Scion",
+ "Entities",
+ "Hoarwyrm",
+ "Player utility",
+ "CR 1/4",
+ "Temperate Forest",
+ "Demons",
+ "Drow",
+ "type:rules",
+ "fay",
+ "2e",
+ "familier",
+ "supplement",
+ "Amberwar",
+ "slime",
+ "Lycanthropy",
+ "meta: Terres de Leyt",
+ "Strong",
+ "AAH Vol. 1",
+ "Force",
+ "Jump",
+ "Aboleths",
+ "lol",
+ "location",
+ "small",
+ "customizable",
+ "Modern",
+ "Sky",
+ "portugues",
+ "Hero",
+ "Villain",
+ "element",
+ "Tyranny of Dragons",
+ "Adventure Guide",
+ "New Class",
+ "Witchlight",
+ "Shardblade",
+ "Plateaux",
+ "WOTC",
+ "Snippet",
+ "Terra",
+ "Otherworldly Patron",
+ "ritual",
+ "hag",
+ "Cyberpunk 2077",
+ "tavern",
+ "Artificer Specialist",
+ "Werewolf",
+ "Boesia",
+ "vampiric",
+ "monastic tradition",
+ "Gothic",
+ "celestial",
+ "Unfinished",
+ "Core",
+ "Arcane Tradition",
+ "Troll",
+ "Origin",
+ "Draconic",
+ "dj9 member",
+ "test",
+ "Hag",
+ "gem",
+ "Invocations",
+ "Dark Sun",
+ "aarkhen",
+ "How to",
+ "ravenloft",
+ "faerie",
+ "Playtest",
+ "Shaman",
+ "dead",
+ "Tomba Aniquilacio",
+ "Pacto",
+ "fullcaster",
+ "Electric",
+ "Ability Score",
+ "4D",
+ "pathfinder",
+ "insect",
+ "hook",
+ "page layout",
+ "healing",
+ "Lineages",
+ "Flying",
+ "Martial Arts",
+ "journal",
+ "Aide de jeu",
+ "hunter",
+ "headers",
+ "Dark Souls",
+ "courtyard",
+ "crossroads",
+ "Quest",
+ "CotF",
+ "defense",
+ "Semryss",
+ "invoked class",
+ "Session Notes",
+ "goblin",
+ "infernal",
+ "fate",
+ "oni",
+ "spellbook",
+ "Summoning",
+ "slut",
+ "whore",
+ "Greyhawk",
+ "Mobility",
+ "Reddit Remake",
+ "Guild",
+ "Cosmic Mart",
+ "7th Level",
+ "dragonborn",
+ "curse of strahd",
+ "Ranger Subclass",
+ "dossier",
+ "dossie",
+ "de",
+ "pnpde",
+ "Plane Shift",
+ "halloween",
+ "group:aventura",
+ "9th Level",
+ "tome",
+ "cold",
+ "acid",
+ "deprecated",
+ "mind flayer",
+ "MECHA",
+ "EssentialsKit",
+ "2d6",
+ "ToD",
+ "Work In Progress",
+ "Bond",
+ "Versatile",
+ "Dead",
+ "SYWTBAGM",
+ "summoning",
+ "english",
+ "Eilistraee",
+ "Draft",
+ "DoD",
+ "map",
+ "Frightened",
+ "Psychic Damage",
+ "eberron",
+ "recompensa",
+ "wizard subclass",
+ "teiran",
+ "Saltmarsh",
+ "jp setting",
+ "Illithid",
+ "Longbow",
+ "hell",
+ "Monarch",
+ "type:feat",
+ "reglas",
+ "cooking",
+ "Abenteuer",
+ "reloaded",
+ "incompleto",
+ "mecanica",
+ "Location",
+ "Grimlores Grimoire",
+ "2024 Subclass",
+ "Chiesa di Toleno",
+ "finalfantasy",
+ "The Undertomes",
+ "Lobotomy Corporation",
+ "SDHTA",
+ "D&D 2024",
+ "other",
+ "ally",
+ "images",
+ "Player's Guide",
+ "Avalon Sword",
+ "Cael'Yuu",
+ "dnd-2014",
+ "Regelwerk",
+ "Español",
+ "br",
+ "dnd 5.0",
+ "monstro",
+ "grand cemetery",
+ "Phoenix",
+ "dnd 2024",
+ "Bloodhunter",
+ "Sintonizacion",
+ "dungeons & dragons",
+ "Fix",
+ "Rulebook",
+ "Shadowdark",
+ "heroic",
+ "HFW",
+ "Earthdawn",
+ "24e",
+ "cormyr",
+ "suzail",
+ "dc20",
+ "tag:Rules",
+ "The Griffon's Saddlebag",
+ "LOTM",
+ "tag:Adventure",
+ "drunken master",
+ "eldritch invocation",
+ "Персонаж",
+ "Orcs",
+ "Lizardfolk",
+ "Frostfell",
+ "CR 17",
+ "Shapechanger",
+ "Farmland",
+ "Mages",
+ "Any",
+ "CR 13",
+ "Earth",
+ "Mountain",
+ "Drake",
+ "transformation",
+ "GM",
+ "Lich",
+ "lovecraft",
+ "unique",
+ "Optional Rules",
+ "int",
+ "creator",
+ "Primal",
+ "simple",
+ "golem",
+ "Void",
+ "Armour",
+ "spellsword",
+ "General",
+ "Asian",
+ "Bringers of chaos",
+ "Optional Feature",
+ "subraces",
+ "Galanoth",
+ "barbarian subclass",
+ "felhearth",
+ "modular",
+ "Vampires",
+ "wysteria",
+ "adaptation",
+ "beasts",
+ "naruto",
+ "ninja",
+ "Psionic",
+ "Guns",
+ "Crystal",
+ "Guardian",
+ "NonProfit",
+ "Mimic",
+ "languages",
+ "Epic Boons",
+ "Primer",
+ "Icewind Dale",
+ "joke",
+ "lycan",
+ "CR3",
+ "Armors",
+ "ff7",
+ "materia",
+ "final fantasy 7 remake",
+ "esper",
+ "ff7 remake",
+ "gargantuan",
+ "Frog",
+ "CR5",
+ "blank",
+ "monster hunter",
+ "league of legends",
+ "french",
+ "Pokémon",
+ "kobold",
+ "soul",
+ "ffxi",
+ "d10",
+ "Roman",
+ "Cute",
+ "DD5",
+ "variant",
+ "tree",
+ "fr",
+ "Scenario",
+ "lycanthrope",
+ "druide",
+ "staff",
+ "eios",
+ "arkheneios",
+ "Runic",
+ "Work",
+ "Ukrainian",
+ "cover-page",
+ "mage",
+ "deities",
+ "gods",
+ "Boss Fight",
+ "Lair",
+ "WBTW",
+ "roguish archetype",
+ "Character Option",
+ "Shortsword",
+ "Illrigger",
+ "Bloodborne",
+ "cr6",
+ "Priest",
+ "Hamon",
+ "Toonkind",
+ "rol",
+ "Strength",
+ "forgotten realms",
+ "Spanish",
+ "Conclave",
+ "Electro",
+ "Magical Tattoos",
+ "Matt Mercer",
+ "Wildemount",
+ "Mighty Nien",
+ "Campaign 2",
+ "Resistances",
+ "Bug",
+ "impression",
+ "PF",
+ "Magnus Archives",
+ "ice",
+ "speed",
+ "Generic NPC",
+ "Titanic",
+ "Ink Friendly",
+ "bleed",
+ "elder scrolls",
+ "Immortal",
+ "LMOP",
+ "Travel",
+ "Olphus",
+ "3d6",
+ "heist",
+ "World History",
+ "ghost",
+ "genie",
+ "kids on bikes",
+ "Russia",
+ "conclave",
+ "overhaul",
+ "manual",
+ "Adventures In Eden",
+ "Downtime",
+ "hamon",
+ "cloak",
+ "shadowfell",
+ "Hellfire",
+ "Paladin Oath",
+ "Genshin",
+ "Nation",
+ "air",
+ "Magical Item",
+ "War",
+ "Original",
+ "Monstrous Compendium",
+ "Calamity",
+ "Warden",
+ "Apocalypse",
+ "shield",
+ "AC",
+ "expansion",
+ "Concentration",
+ "charm",
+ "Weave",
+ "lycanthropy",
+ "raza",
+ "far realm",
+ "fighter subclass",
+ "ita",
+ "Pirate",
+ "Laranja",
+ "Grapple",
+ "EastByForce",
+ "hobgoblin",
+ "oneshot-notes",
+ "Holy",
+ "optional",
+ "type:cenario",
+ "group:core",
+ "The Brewery",
+ "Alcance",
+ "Morrowind",
+ "Indigo",
+ "Divino",
+ "2nd Level",
+ "Sub-Class",
+ "cantrips",
+ "Cloak",
+ "battle master",
+ "Dark",
+ "Puzzle",
+ "Lucky",
+ "consumable",
+ "rebalance",
+ "Shove",
+ "Area Control",
+ "Vanguard",
+ "funny",
+ "e5",
+ "Dragonlance",
+ "psion",
+ "initiative",
+ "Tactician",
+ "Inspiration",
+ "artificier",
+ "way",
+ "inspired",
+ "historia",
+ "Medusa",
+ "2 part",
+ "holy",
+ "gift",
+ "Nimble",
+ "mostri",
+ "phoenix",
+ "travel",
+ "Class Template",
+ "Intimidation",
+ "constructs",
+ "P666",
+ "Formatting",
+ "Divinity",
+ "Rod",
+ "Language",
+ "yokai",
+ "rune",
+ "western",
+ "vampires",
+ "flying",
+ "cute",
+ "Enemy",
+ "boon",
+ "Tables",
+ "ShadowFight",
+ "meta: Theme",
+ "SCS",
+ "vanthampur villa",
+ "CoA",
+ "shop",
+ "destiny",
+ "magical weapon",
+ "Arcane Arcade",
+ "XP to Level 3",
+ "Dice Average RPG",
+ "Pip-Boy",
+ "Dragon Heist",
+ "session notes",
+ "tattoo",
+ "flick",
+ "P6:66",
+ "Comic Character",
+ "experiment",
+ "Minerva",
+ "type:Spellbook",
+ "Realmfall",
+ "Wand",
+ "halfling",
+ "sw5e",
+ "implementar AP",
+ "Mask",
+ "Gazook89",
+ "Weltenrauch-Chroniken",
+ "MiA",
+ "Made in Abyss",
+ "français",
+ "fae",
+ "Lemuria",
+ "Mork Borg",
+ "guerrier",
+ "prunus",
+ "condition",
+ "pf2",
+ "tr",
+ "costrutto",
+ "German",
+ "project moon",
+ "5r",
+ "galles",
+ "Project moon",
+ "Yisang",
+ "Spicebush",
+ "player-accessible",
+ "Especie",
+ "Westmarch",
+ "a",
+ "Cart",
+ "Magus",
+ "group:Mchael Galvis",
+ "tip",
+ "werewolf",
+ "mundane",
+ "garrett",
+ "unarmed",
+ "Arcane Odyssey",
+ "Tomb of Divinity",
+ "pets",
+ "Video Game",
+ "4 part",
+ "pbta",
+ "Druids",
+ "multiclass",
+ "manuale",
+ "mimic",
+ "plane shift",
+ "Dotes",
+ "Hechizos",
+ "Infernal",
+ "Enhanced",
+ "done",
+ "Mission report",
+ "Blanks",
+ "Masks",
+ "Ultimate Ability",
+ "shadow-slave",
+ "Advertising",
+ "transform",
+ "Fullmetal Alchemist",
+ "Fullmetal Alchemist Brotherhood",
+ "tag:TAoF&F",
+ "Dwarves",
+ "Humans",
+ "Nine Hells",
+ "Devils",
+ "Archons",
+ "CR 15",
+ "Troglodytes",
+ "Goliath",
+ "retired",
+ "boots",
+ "ranged",
+ "shields",
+ "Zhentarim",
+ "World of Warcraft",
+ "Frontline",
+ "Guildmaster's Guide to Ravnica",
+ "Dungeons & Dragons 5e",
+ "beholder",
+ "NEEDS FIXING",
+ "mechanic",
+ "Loot",
+ "champion",
+ "Runes",
+ "Shield",
+ "Punch",
+ "Sniper",
+ "Magical Girl",
+ "NotDND",
+ "story",
+ "Sleep",
+ "Bard College",
+ "Illusion",
+ "Thunder",
+ "Defender",
+ "Genasi",
+ "troll",
+ "Gehenna",
+ "Yugoloth",
+ "social",
+ "Player Class",
+ "homebrew class",
+ "CR 16",
+ "Ghost",
+ "Kobolds",
+ "Trolls",
+ "Yuan-Ti",
+ "Elder Scrolls Offline",
+ "armure",
+ "Mage",
+ "CR 18",
+ "Technology",
+ "Mystery",
+ "darkness",
+ "Airship",
+ "New Campaign",
+ "Warframe",
+ "Wizard Subclass",
+ "Gold",
+ "Candor",
+ "Overhaul",
+ "Dragon Knight",
+ "Enoreth",
+ "Artifacts",
+ "New",
+ "AMMO",
+ "Campagne",
+ "Valbise",
+ "Subclasseptember",
+ "Mecha",
+ "Yu-Gi-Oh",
+ "Goblinoid",
+ "underwater",
+ "SW5E",
+ "bardo"
+]
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 0f74292b3..db6143f52 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -73,7 +73,7 @@
"globals": "^16.4.0",
"jest": "^30.2.0",
"jest-expect-message": "^1.1.3",
- "jsdom": "^28.1.0",
+ "jsdom": "^28.0.0",
"jsdom-global": "^3.0.2",
"postcss-less": "^6.0.0",
"stylelint": "^16.25.0",
@@ -9953,27 +9953,6 @@
"integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==",
"license": "MIT"
},
- "node_modules/livereload/node_modules/ws": {
- "version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -10601,6 +10580,22 @@
"url": "https://opencollective.com/mongoose"
}
},
+ "node_modules/mongoose/node_modules/gcp-metadata": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-7.0.1.tgz",
+ "integrity": "sha512-UcO3kefx6dCcZkgcTGgVOTFb7b1LlQ02hY1omMjjrrBzkajRMCFgYOjs7J71WqnuG1k2b+9ppGL7FsOfhZMQKQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "gaxios": "^7.0.0",
+ "google-logging-utils": "^1.0.0",
+ "json-bigint": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/mongoose/node_modules/mongodb": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.0.0.tgz",
@@ -15365,9 +15360,9 @@
}
},
"node_modules/whatwg-url": {
- "version": "16.0.1",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz",
- "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==",
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.0.tgz",
+ "integrity": "sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15606,6 +15601,27 @@
"integrity": "sha512-LhQ68uUnzHH0bwm/QiGA9JwqgadSDOwqB2AIs/LBsrOY6ScqVXKRN2slTCeKAhstDBJ/Of/Yxcjn0pnQmVlmtg==",
"license": "MIT"
},
+ "node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/xml-name-validator": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",