From 08d8f405c0cb558eefe7b8f6139d377a5e8ccb4e Mon Sep 17 00:00:00 2001 From: borisflagell Date: Mon, 23 May 2022 19:31:46 +0200 Subject: [PATCH 01/11] UI: Fixes #3132 several Sleeve can no longer works concurrently in the same company fixes #3132 fixes #3394 Fixed the faulty possibleJob() logic in Sleeve/UI/TaskSelector --- src/PersonObjects/Sleeve/ui/TaskSelector.tsx | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx index 0de75b9b0..e18418e78 100644 --- a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx +++ b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx @@ -44,7 +44,7 @@ interface ITaskDetails { function possibleJobs(player: IPlayer, sleeve: Sleeve): string[] { // Array of all companies that other sleeves are working at - const forbiddenCompanies = []; + const forbiddenCompanies: string[] = []; for (const otherSleeve of player.sleeves) { if (sleeve === otherSleeve) { continue; @@ -54,13 +54,8 @@ function possibleJobs(player: IPlayer, sleeve: Sleeve): string[] { } } const allJobs: string[] = Object.keys(player.jobs); - for (let i = 0; i < allJobs.length; ++i) { - if (!forbiddenCompanies.includes(allJobs[i])) { - allJobs[i]; - } - } - - return allJobs; + + return allJobs.filter((company) => !forbiddenCompanies.includes(company)); } function possibleFactions(player: IPlayer, sleeve: Sleeve): string[] { From ff75097149ed7813bfbfe1a86b1f5c144f17297e Mon Sep 17 00:00:00 2001 From: borisflagell Date: Mon, 23 May 2022 19:50:32 +0200 Subject: [PATCH 02/11] API: Fix #3661 Add missing memory property to Sleeve API fixes #3661 Add the missing memory stat to NS.SleeveSkills Interface. Update ns.Sleeve.GetSleeveStats accordingly. (fixing commit issue) --- src/NetscriptFunctions/Sleeve.ts | 1 + src/ScriptEditor/NetscriptDefinitions.d.ts | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/NetscriptFunctions/Sleeve.ts b/src/NetscriptFunctions/Sleeve.ts index cca654cac..e6a1e3dfd 100644 --- a/src/NetscriptFunctions/Sleeve.ts +++ b/src/NetscriptFunctions/Sleeve.ts @@ -38,6 +38,7 @@ export function NetscriptSleeve(player: IPlayer): InternalAPI { return { shock: 100 - sl.shock, sync: sl.sync, + memory: sl.memory, hacking: sl.hacking, strength: sl.strength, defense: sl.defense, diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index f18cfdba3..5e6bc458a 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -1050,6 +1050,8 @@ export interface SleeveSkills { shock: number; /** Current sync of the sleeve [0-100] */ sync: number; + /** Current memory of the sleeve [1-100] */ + memory: number; /** Current hacking skill of the sleeve */ hacking: number; /** Current strength of the sleeve */ From 9091441389182a261438ec16ea17edcf11ab6f39 Mon Sep 17 00:00:00 2001 From: borisflagell Date: Mon, 23 May 2022 19:43:46 +0200 Subject: [PATCH 03/11] Prettier (fixing commit issue) --- src/PersonObjects/Sleeve/ui/TaskSelector.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx index e18418e78..68bc14b36 100644 --- a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx +++ b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx @@ -54,7 +54,7 @@ function possibleJobs(player: IPlayer, sleeve: Sleeve): string[] { } } const allJobs: string[] = Object.keys(player.jobs); - + return allJobs.filter((company) => !forbiddenCompanies.includes(company)); } From 0abd760d359fc025f84d1daaf36df576a13b9a90 Mon Sep 17 00:00:00 2001 From: borisflagell Date: Tue, 24 May 2022 15:38:05 +0200 Subject: [PATCH 04/11] API FIX:#3732 Cannot assign two sleeve on "Take on contracts" regardless of contract type. ns.sleeve.setToBladeburnerAction() was not testing the contract value. --- src/NetscriptFunctions/Sleeve.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/NetscriptFunctions/Sleeve.ts b/src/NetscriptFunctions/Sleeve.ts index bd3c604bd..544a62f70 100644 --- a/src/NetscriptFunctions/Sleeve.ts +++ b/src/NetscriptFunctions/Sleeve.ts @@ -332,7 +332,11 @@ export function NetscriptSleeve(player: IPlayer): InternalAPI { continue; } const other = player.sleeves[i]; - if (other.currentTask === SleeveTaskType.Bladeburner && other.bbAction === action) { + if ( + other.currentTask === SleeveTaskType.Bladeburner && + other.bbAction === action && + other.bbContract === contract + ) { throw ctx.helper.makeRuntimeErrorMsg( `Sleeve ${sleeveNumber} cannot take of contracts because Sleeve ${i} is already performing that action.`, ); From 27e9cd53e1958f059c17e9b6b2227497d2bcaf91 Mon Sep 17 00:00:00 2001 From: Daniel Barbera <87785383+xRalic@users.noreply.github.com> Date: Sun, 22 May 2022 02:24:17 +0200 Subject: [PATCH 05/11] #3514: Clear recently killed tab on BN end event --- src/Prestige.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Prestige.ts b/src/Prestige.ts index a643018af..165966f5b 100755 --- a/src/Prestige.ts +++ b/src/Prestige.ts @@ -15,6 +15,7 @@ import { updateHashManagerCapacity } from "./Hacknet/HacknetHelpers"; import { prestigeWorkerScripts } from "./NetscriptWorker"; import { Player } from "./Player"; import { Router } from "./ui/GameRoot"; +import { recentScripts } from "./Netscript/RecentScripts"; import { resetPidCounter } from "./Netscript/Pid"; import { LiteratureNames } from "./Literature/data/LiteratureNames"; @@ -309,5 +310,7 @@ export function prestigeSourceFile(flume: boolean): void { // Gain int exp if (Player.sourceFileLvl(5) !== 0 && !flume) Player.gainIntelligenceExp(300); + // Clear recent scripts + recentScripts.splice(0, recentScripts.length); resetPidCounter(); } From 699d792e5bfe9b9084239126791ee61d112beeb2 Mon Sep 17 00:00:00 2001 From: Markus-D-M <105434903+Markus-D-M@users.noreply.github.com> Date: Wed, 25 May 2022 20:57:53 +0200 Subject: [PATCH 06/11] Update codingcontracttypes.ts two encryption contracts --- src/data/codingcontracttypes.ts | 232 ++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) diff --git a/src/data/codingcontracttypes.ts b/src/data/codingcontracttypes.ts index b7fce1441..9c76f0481 100644 --- a/src/data/codingcontracttypes.ts +++ b/src/data/codingcontracttypes.ts @@ -1610,4 +1610,236 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ return comprLZDecode(ans) === plain && ans.length <= comprLZEncode(plain).length; }, }, + { + desc: (data: [string, number]): string => { + return [ + "Caesar cipher is one of the simplest encryption technique.", + "It is a type of substitution cipher in which each letter in the plaintext ", + "is replaced by a letter some fixed number of positions down the alphabet.", + "For example, with a left shift of 3, D would be replaced by A, ", + "E would become B, and A would become X (because of rotation).\n\n", + "You are given the following plaintext\n", + `  ${data[0]}\n`, + `and a left shift of ${data[1]}\n\n`, + "Return the ciphertext as uppercase string. Spaces remains the same.", + ].join(" "); + }, + difficulty: 1, + gen: (): [string, number] => { + // return [plaintext, shift value] + const words = [ + "ARRAY", + "CACHE", + "CLOUD", + "DEBUG", + "EMAIL", + "ENTER", + "FLASH", + "FRAME", + "INBOX", + "LINUX", + "LOGIC", + "LOGIN", + "MACRO", + "MEDIA", + "MODEM", + "MOUSE", + "PASTE", + "POPUP", + "PRINT", + "QUEUE", + "SHELL", + "SHIFT", + "TABLE", + "TRASH", + "VIRUS", + ]; + return [ + words + .sort(() => Math.random() - 0.5) + .slice(0, 5) + .join(" "), + Math.floor(Math.random() * 26), + ]; + }, + name: "Encryption I: Caesar Cipher", + numTries: 10, + solver: (data: [string, number], ans: string): boolean => { + // data = [plaintext, shift value] + // build char array, shifting via map and join to final results + const cipher = [...data[0]] + .map((a) => (a === " " ? a : String.fromCharCode(((a.charCodeAt(0) - 65 - data[1] + 26) % 26) + 65))) + .join(""); + return cipher === ans; + }, + }, + { + desc: (data: [string, string]): string => { + return [ + "Vigenère cipher is a type of polyalphabetic substitution. It uses ", + "the Vigenère square to encrypt and decrypt plaintext with a keyword.\n\n", + "  Vignenère square:\n", + "         A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \n", + "       +----------------------------------------------------\n", + "     A | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \n", + "     B | B C D E F G H I J K L M N O P Q R S T U V W X Y Z A \n", + "     C | C D E F G H I J K L M N O P Q R S T U V W X Y Z A B\n", + "     D | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C\n", + "     E | E F G H I J K L M N O P Q R S T U V W X Y Z A B C D\n", + "                ...\n", + "     Y | Y Z A B C D E F G H I J K L M N O P Q R S T U V W X\n", + "     Z | Z A B C D E F G H I J K L M N O P Q R S T U V W X Y\n\n", + "For encryption each letter of the plaintext is paired with the corresponding letter of a repeating keyword.", + "For example, the plaintext DASHBOARD is encrypted with the keyword LINUX:\n", + "   Plaintext: DASHBOARD\n", + "   Keyword:   LINUXLINU\n", + "So, the first letter D is paired with the first letter of the key L. Therefore, row D and column L of the ", + "Vigenère square are used to get the first cipher letter O. This must be repeated for the whole ciphertext.\n\n", + "You are given the following plaintext\n", + `  ${data[0]}\n`, + `and a keyword ${data[1]}\n\n`, + "Return the ciphertext as uppercase string.", + ].join(" "); + }, + difficulty: 2, + gen: (): [string, string] => { + // return [plaintext, keyword] + const words = [ + "ARRAY", + "CACHE", + "CLOUD", + "DEBUG", + "EMAIL", + "ENTER", + "FLASH", + "FRAME", + "INBOX", + "LINUX", + "LOGIC", + "LOGIN", + "MACRO", + "MEDIA", + "MODEM", + "MOUSE", + "PASTE", + "POPUP", + "PRINT", + "QUEUE", + "SHELL", + "SHIFT", + "TABLE", + "TRASH", + "VIRUS", + ]; + const keys = [ + "ALGORITHM", + "BANDWIDTH", + "BLOGGER", + "BOOKMARK", + "BROADBAND", + "BROWSER", + "CAPTCHA", + "CLIPBOARD", + "COMPUTING", + "COMMAND", + "COMPILE", + "COMPRESS", + "COMPUTER", + "CONFIGURE", + "DASHBOARD", + "DATABASE", + "DESKTOP", + "DIGITAL", + "DOCUMENT", + "DOWNLOAD", + "DYNAMIC", + "EMOTICON", + "ENCRYPT", + "EXABYTE", + "FIREWALL", + "FIRMWARE", + "FLAMING", + "FLOWCHART", + "FREEWARE", + "GIGABYTE", + "GRAPHICS", + "HARDWARE", + "HYPERLINK", + "HYPERTEXT", + "INTEGER", + "INTERFACE", + "INTERNET", + "ITERATION", + "JOYSTICK", + "JUNKMAIL", + "KEYBOARD", + "KEYWORD", + "LURKING", + "MACINTOSH", + "MAINFRAME", + "MALWARE", + "MONITOR", + "NETWORK", + "NOTEBOOK", + "COMPUTER", + "OFFLINE", + "OPERATING", + "PASSWORD", + "PHISHING", + "PLATFORM", + "PODCAST", + "PRINTER", + "PRIVACY", + "PROCESS", + "PROGRAM", + "PROTOCOL", + "REALTIME", + "RESTORE", + "RUNTIME", + "SCANNER", + "SECURITY", + "SHAREWARE", + "SNAPSHOT", + "SOFTWARE", + "SPAMMER", + "SPYWARE", + "STORAGE", + "TERMINAL", + "TEMPLATE", + "TERABYTE", + "TOOLBAR", + "TYPEFACE", + "USERNAME", + "UTILITY", + "VERSION", + "VIRTUAL", + "WEBMASTER", + "WEBSITE", + "WINDOWS", + "WIRELESS", + "PROCESSOR", + ]; + return [ + words + .sort(() => Math.random() - 0.5) + .slice(0, 5) + .join(""), + keys.sort(() => Math.random() - 0.5)[0], + ]; + }, + name: "Encryption II: Vigenère Cipher", + numTries: 10, + solver: (data: [string, string], ans: string): boolean => { + // data = [plaintext, keyword] + // build char array, shifting via map and corresponding keyword letter and join to final results + const cipher = [...data[0]] + .map((a, i) => + (a === " " + ? a + : String.fromCharCode(((a.charCodeAt(0) - 2 * 65 + data[1].charCodeAt(i % data[1].length)) % 26) + 65)), + ) + .join(""); + return cipher === ans; + }, + }, ]; From 51ba358464ce5787ef472531e0bdb2b6b239955e Mon Sep 17 00:00:00 2001 From: Markus-D-M <105434903+Markus-D-M@users.noreply.github.com> Date: Wed, 25 May 2022 21:27:58 +0200 Subject: [PATCH 07/11] Update codingcontracttypes.ts prettier --- src/data/codingcontracttypes.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/data/codingcontracttypes.ts b/src/data/codingcontracttypes.ts index 9c76f0481..5effe8d73 100644 --- a/src/data/codingcontracttypes.ts +++ b/src/data/codingcontracttypes.ts @@ -1833,11 +1833,11 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ // data = [plaintext, keyword] // build char array, shifting via map and corresponding keyword letter and join to final results const cipher = [...data[0]] - .map((a, i) => - (a === " " + .map((a, i) => { + return a === " " ? a - : String.fromCharCode(((a.charCodeAt(0) - 2 * 65 + data[1].charCodeAt(i % data[1].length)) % 26) + 65)), - ) + : String.fromCharCode(((a.charCodeAt(0) - 2 * 65 + data[1].charCodeAt(i % data[1].length)) % 26) + 65); + }) .join(""); return cipher === ans; }, From 1d06273858f78c84adc518eb09e0a8ce746fff70 Mon Sep 17 00:00:00 2001 From: Markus-D-M <105434903+Markus-D-M@users.noreply.github.com> Date: Thu, 26 May 2022 09:40:05 +0200 Subject: [PATCH 08/11] Specify api data + Adding description to doc. --- doc/source/basicgameplay/codingcontracts.rst | 32 ++++++++++++++++++++ src/data/codingcontracttypes.ts | 14 ++++----- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/doc/source/basicgameplay/codingcontracts.rst b/doc/source/basicgameplay/codingcontracts.rst index e8fdabbd9..7dacae18e 100644 --- a/doc/source/basicgameplay/codingcontracts.rst +++ b/doc/source/basicgameplay/codingcontracts.rst @@ -370,3 +370,35 @@ The list contains the name of (i.e. the value returned by | | | aaaaaaaaaaaaa -> 1a91031 | | | | aaaaaaaaaaaaaa -> 1a91041 | +-----------------------------------------+------------------------------------------------------------------------------------------+ +| Encryption I: Caesar Cipher | | Caesar cipher is one of the simplest encryption technique. It is a type of | +| | | substitution cipher in which each letter in the plaintext is replaced by a letter some | +| | | fixed number of positions down the alphabet. For example, with a left shift of 3, D | +| | | would be replaced by A, E would become B, and A would become X (because of rotation). | +| | | You are given the an array with two elements.The first element is the plaintext, the | +| | | second element is the left shift value. Return the ciphertext as uppercase string. | +| | | Spaces remains the same. | ++-----------------------------------------+------------------------------------------------------------------------------------------+ +| Encryption II: Vigenère Cipher | | Vigenère cipher is a type of polyalphabetic substitution. It uses the Vigenère square | +| | | to encrypt and decrypt plaintext with a keyword. | +| | | Vignenère square: | +| | | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | +| | | +---------------------------------------------------- | +| | | A | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | +| | | B | B C D E F G H I J K L M N O P Q R S T U V W X Y Z A | +| | | C | C D E F G H I J K L M N O P Q R S T U V W X Y Z A B | +| | | D | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C | +| | | E | E F G H I J K L M N O P Q R S T U V W X Y Z A B C D | +| | | ... | +| | | Y | Y Z A B C D E F G H I J K L M N O P Q R S T U V W X | +| | | Z | Z A B C D E F G H I J K L M N O P Q R S T U V W X Y | +| | | For encryption each letter of the plaintext is paired with the corresponding letter of | +| | | a repeating keyword. For example, the plaintext DASHBOARD is encrypted with the | +| | | keyword LINUX: | +| | | Plaintext: DASHBOARD | +| | | Keyword: LINUXLINU | +| | | So, the first letter D is paired with the first letter of the key L. Therefore, row D | +| | | and column L of the Vigenère square are used to get the first cipher letter O. This | +| | | must be repeated for the whole ciphertext. | +| | | You are given an array with two elements. The first element is the plaintext, the | +| | | second element is the keyword. Return the ciphertext as uppercase string. | ++-----------------------------------------+------------------------------------------------------------------------------------------+ diff --git a/src/data/codingcontracttypes.ts b/src/data/codingcontracttypes.ts index 5effe8d73..48b16ae17 100644 --- a/src/data/codingcontracttypes.ts +++ b/src/data/codingcontracttypes.ts @@ -1618,9 +1618,9 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ "is replaced by a letter some fixed number of positions down the alphabet.", "For example, with a left shift of 3, D would be replaced by A, ", "E would become B, and A would become X (because of rotation).\n\n", - "You are given the following plaintext\n", - `  ${data[0]}\n`, - `and a left shift of ${data[1]}\n\n`, + "You are given the an array with two elements:\n", + `  ["${data[0]}", ${data[1]}]\n`, + "The first element is the plaintext, the second element is the left shift value.\n\n", "Return the ciphertext as uppercase string. Spaces remains the same.", ].join(" "); }, @@ -1659,7 +1659,7 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ .sort(() => Math.random() - 0.5) .slice(0, 5) .join(" "), - Math.floor(Math.random() * 26), + Math.floor(Math.random() * 25 + 1), ]; }, name: "Encryption I: Caesar Cipher", @@ -1695,9 +1695,9 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ "   Keyword:   LINUXLINU\n", "So, the first letter D is paired with the first letter of the key L. Therefore, row D and column L of the ", "Vigenère square are used to get the first cipher letter O. This must be repeated for the whole ciphertext.\n\n", - "You are given the following plaintext\n", - `  ${data[0]}\n`, - `and a keyword ${data[1]}\n\n`, + "You are given an array with two elements:\n", + `  ["${data[0]}", "${data[1]}"]\n`, + "The first element is the plaintext, the second element is the keyword.\n\n", "Return the ciphertext as uppercase string.", ].join(" "); }, From 30687ce74e1192a92608ce2da78052fb383b4fa2 Mon Sep 17 00:00:00 2001 From: Markus-D-M <105434903+Markus-D-M@users.noreply.github.com> Date: Thu, 26 May 2022 21:08:28 +0200 Subject: [PATCH 09/11] Typo --- doc/source/basicgameplay/codingcontracts.rst | 2 +- src/data/codingcontracttypes.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/basicgameplay/codingcontracts.rst b/doc/source/basicgameplay/codingcontracts.rst index 7dacae18e..d2fadbab7 100644 --- a/doc/source/basicgameplay/codingcontracts.rst +++ b/doc/source/basicgameplay/codingcontracts.rst @@ -374,7 +374,7 @@ The list contains the name of (i.e. the value returned by | | | substitution cipher in which each letter in the plaintext is replaced by a letter some | | | | fixed number of positions down the alphabet. For example, with a left shift of 3, D | | | | would be replaced by A, E would become B, and A would become X (because of rotation). | -| | | You are given the an array with two elements.The first element is the plaintext, the | +| | | You are given an array with two elements.The first element is the plaintext, the | | | | second element is the left shift value. Return the ciphertext as uppercase string. | | | | Spaces remains the same. | +-----------------------------------------+------------------------------------------------------------------------------------------+ diff --git a/src/data/codingcontracttypes.ts b/src/data/codingcontracttypes.ts index 48b16ae17..9e85ae1de 100644 --- a/src/data/codingcontracttypes.ts +++ b/src/data/codingcontracttypes.ts @@ -1618,7 +1618,7 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ "is replaced by a letter some fixed number of positions down the alphabet.", "For example, with a left shift of 3, D would be replaced by A, ", "E would become B, and A would become X (because of rotation).\n\n", - "You are given the an array with two elements:\n", + "You are given an array with two elements:\n", `  ["${data[0]}", ${data[1]}]\n`, "The first element is the plaintext, the second element is the left shift value.\n\n", "Return the ciphertext as uppercase string. Spaces remains the same.", From c5b68610a1c84b0831c5a965397fbc618d49949e Mon Sep 17 00:00:00 2001 From: borisflagell Date: Fri, 27 May 2022 17:59:37 +0200 Subject: [PATCH 10/11] fix typo in thrown error message --- src/NetscriptFunctions/Sleeve.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NetscriptFunctions/Sleeve.ts b/src/NetscriptFunctions/Sleeve.ts index 544a62f70..9275c0cce 100644 --- a/src/NetscriptFunctions/Sleeve.ts +++ b/src/NetscriptFunctions/Sleeve.ts @@ -338,7 +338,7 @@ export function NetscriptSleeve(player: IPlayer): InternalAPI { other.bbContract === contract ) { throw ctx.helper.makeRuntimeErrorMsg( - `Sleeve ${sleeveNumber} cannot take of contracts because Sleeve ${i} is already performing that action.`, + `Sleeve ${sleeveNumber} cannot take on contracts because Sleeve ${i} is already performing that action.`, ); } } From ac617ab90e750c6ffec826895507ca56b4ae30a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Jul 2022 06:18:12 +0000 Subject: [PATCH 11/11] Bump terser from 4.8.0 to 4.8.1 Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/terser/terser/releases) - [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md) - [Commits](https://github.com/terser/terser/commits) --- updated-dependencies: - dependency-name: terser dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20f43eee6..7fa0ecbb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19131,9 +19131,9 @@ } }, "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "dependencies": { "commander": "^2.20.0", @@ -37110,9 +37110,9 @@ } }, "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0",