combinedtranslate
Advanced tools
Comparing version 0.0.5 to 0.1.0
@@ -1,9 +0,6 @@ | ||
/** | ||
* A function to find both the name and ISO code of a language by either of the language | ||
* @param {string} query - The language name or ISO code | ||
* @returns An object containing both language name and ISO code | ||
*/ | ||
export default function getLanguage(query: string): { | ||
language: string | null; | ||
code: string | null; | ||
}; | ||
code: string; | ||
name: string; | ||
local: never[]; | ||
translate: boolean; | ||
} | null; |
@@ -1,18 +0,5 @@ | ||
"use strict"; | ||
import getLanguageByCode from "./getLanguageByCode.js"; | ||
import getLanguageByName from "./getLanguageByName.js"; | ||
/** | ||
* A function to find both the name and ISO code of a language by either of the language | ||
* @param {string} query - The language name or ISO code | ||
* @returns An object containing both language name and ISO code | ||
*/ | ||
export default function getLanguage(query) { | ||
if (typeof query !== "string") | ||
throw new Error("Can't find language by non-string values."); | ||
let language = getLanguageByCode(query), code = getLanguageByName(query); | ||
if (!language) | ||
language = getLanguageByCode(code); | ||
if (!code) | ||
code = getLanguageByName(language); | ||
return { language, code }; | ||
return getLanguageByCode(query) || getLanguageByName(query); | ||
} |
@@ -6,2 +6,7 @@ /** | ||
*/ | ||
export default function getLanguageByCode(code: string): string | null; | ||
export default function getLanguageByCode(code: string): { | ||
code: string; | ||
name: string; | ||
local: never[]; | ||
translate: boolean; | ||
} | null; |
@@ -1,3 +0,2 @@ | ||
"use strict"; | ||
import getLanguages from "./getLanguages.js"; | ||
import languages from "../tools/languages.js"; | ||
/** | ||
@@ -9,7 +8,13 @@ * A function to get the language name by it's ISO code | ||
export default function getLanguageByCode(code) { | ||
if (typeof code !== "string") | ||
throw new Error("Can't find language by non-string values."); | ||
return getLanguages().languagesByCode[`${code.split(/-/g)[0].toLowerCase()}${code.split(/-/g)[1] | ||
? `-${code.split(/-/g)[1].toUpperCase()}` | ||
: ""}`] || null; | ||
if (typeof code !== "string") | ||
throw new Error("Can't find language by non-string values."); | ||
return ( | ||
languages.find( | ||
(l) => | ||
l.code == | ||
`${code.split(/-/g)[0].toLowerCase()}${ | ||
code.split(/-/g)[1] ? `-${code.split(/-/g)[1].toLowerCase()}` : "" | ||
}` | ||
) || null | ||
); | ||
} |
@@ -1,9 +0,1 @@ | ||
/** | ||
* A function that will return a list of languages. | ||
* @returns | ||
*/ | ||
export default function getLanguages(): { | ||
languagesByCode: Record<string, string>; | ||
languagesByName: Record<string, string>; | ||
languages: string[]; | ||
}; | ||
export {}; |
@@ -1,58 +0,57 @@ | ||
"use strict"; | ||
import * as asma from "@asmagin/google-translate-api"; | ||
import * as imli from "@imlinhanchao/google-translate-api"; | ||
import * as iuse from "@iuser/google-translate-api"; | ||
import * as plai from "@plainheart/google-translate-api"; | ||
import * as gtae from "google-translate-api-extend"; | ||
import * as gtan from "google-translate-api-next"; | ||
/** | ||
* A function that will return a list of languages. | ||
* @returns | ||
*/ | ||
export default function getLanguages() { | ||
const languagesByCode = { | ||
zh: "Chinese", | ||
"zh-cn": "Chinese Simplified", | ||
"zh-tw": "Chinese Traditional", | ||
ma: "Mandarin", | ||
}, languagesByName = { | ||
Chinese: "zh", | ||
"Chinese Simplified": "zh-cn", | ||
"Chinese Traditional": "zh-tw", | ||
Mandarin: "ma", | ||
}; | ||
[ | ||
asma.languages, | ||
imli.languages, | ||
iuse.languages, | ||
plai.languages, | ||
gtae.languages, | ||
gtan.languages, | ||
].map((language) => { | ||
Object.entries(language).map(([code, name]) => { | ||
if (typeof name === "function") | ||
return; | ||
try { | ||
Object.defineProperty(languagesByCode, code, { | ||
value: name, | ||
writable: false, | ||
enumerable: true, | ||
}); | ||
} | ||
catch { } | ||
try { | ||
Object.defineProperty(languagesByName, name, { | ||
value: code, | ||
writable: false, | ||
enumerable: true, | ||
}); | ||
} | ||
catch { } | ||
}); | ||
}); | ||
return { | ||
languagesByCode, | ||
languagesByName, | ||
languages: Object.keys(languagesByName), | ||
}; | ||
} | ||
// "use strict"; | ||
export {}; | ||
// import * as asma from "@asmagin/google-translate-api"; | ||
// import * as imli from "@imlinhanchao/google-translate-api"; | ||
// import * as iuse from "@iuser/google-translate-api"; | ||
// import * as plai from "@plainheart/google-translate-api"; | ||
// import * as gtae from "google-translate-api-extend"; | ||
// import * as gtan from "google-translate-api-next"; | ||
// /** | ||
// * A function that will return a list of languages. | ||
// * @returns | ||
// */ | ||
// export default function getLanguages() { | ||
// const languagesByCode: Record<string, string> = { | ||
// zh: "Chinese", | ||
// "zh-cn": "Chinese Simplified", | ||
// "zh-tw": "Chinese Traditional", | ||
// ma: "Mandarin", | ||
// }, | ||
// languagesByName: Record<string, string> = { | ||
// Chinese: "zh", | ||
// "Chinese Simplified": "zh-cn", | ||
// "Chinese Traditional": "zh-tw", | ||
// Mandarin: "ma", | ||
// }; | ||
// [ | ||
// asma.languages, | ||
// imli.languages, | ||
// iuse.languages, | ||
// plai.languages, | ||
// gtae.languages, | ||
// gtan.languages, | ||
// ].map((language) => { | ||
// Object.entries(language).map(([code, name]) => { | ||
// if (typeof name === "function") return; | ||
// try { | ||
// Object.defineProperty(languagesByCode, code, { | ||
// value: name, | ||
// writable: false, | ||
// enumerable: true, | ||
// }); | ||
// } catch { } | ||
// try { | ||
// Object.defineProperty(languagesByName, name, { | ||
// value: code, | ||
// writable: false, | ||
// enumerable: true, | ||
// }); | ||
// } catch { } | ||
// }); | ||
// }); | ||
// return { | ||
// languagesByCode, | ||
// languagesByName, | ||
// languages: Object.keys(languagesByName), | ||
// }; | ||
// } |
@@ -1,38 +0,1 @@ | ||
interface Options { | ||
to?: string; | ||
from?: string | null; | ||
logOnFail?: boolean; | ||
} | ||
/** | ||
* | ||
* @param {string} text - A string value with any characters up to 5000 at once | ||
* @param {Options} options - A set of optional options | ||
* @returns an object containing translation, source and target language and much more. | ||
*/ | ||
export default function translate(text: string, options?: Options): Promise<{ | ||
readonly content: any; | ||
readonly pronunciation: any; | ||
readonly translated: boolean; | ||
readonly tries: number; | ||
readonly time: number; | ||
readonly language: { | ||
readonly source: { | ||
readonly name: string | null; | ||
readonly code: any; | ||
}; | ||
readonly target: { | ||
readonly name: string | null; | ||
readonly code: string | null; | ||
}; | ||
readonly corrected: any; | ||
readonly certainty: any; | ||
}; | ||
readonly text: { | ||
readonly input: string; | ||
readonly output: any; | ||
readonly corrected: any; | ||
readonly value: any; | ||
}; | ||
readonly raw: any; | ||
}>; | ||
export {}; |
@@ -1,167 +0,161 @@ | ||
"use strict"; | ||
import asma from "@asmagin/google-translate-api"; | ||
import imli from "@imlinhanchao/google-translate-api"; | ||
import iuse from "@iuser/google-translate-api"; | ||
import leiz from "@leizl/google-translate-open-api"; | ||
import plai from "@plainheart/google-translate-api"; | ||
import vita from "@vitalets/google-translate-api"; | ||
import gtae from "google-translate-api-extend"; | ||
import gtan from "google-translate-api-next"; | ||
import gtax from "google-translate-api-x"; | ||
import gtoa from "google-translate-open-api"; | ||
import trga from "trgoogleapi"; | ||
import * as main from "../main.js"; | ||
/** | ||
* | ||
* @param {string} text - A string value with any characters up to 5000 at once | ||
* @param {Options} options - A set of optional options | ||
* @returns an object containing translation, source and target language and much more. | ||
*/ | ||
export default async function translate(text, options = {}) { | ||
const start = Number(Date.now()); | ||
if (!options.to) | ||
options.to = "English"; | ||
if (typeof text !== "string") | ||
throw new Error("Can't translate non-string values."); | ||
const target = getCredentials(options.to); | ||
const from = getCredentials(options.from); | ||
let response, tries = 0; | ||
for (const translate of [asma, gtan, iuse, imli, gtae, plai]) { | ||
for (const to of target) { | ||
if (!to) | ||
break; | ||
let translated; | ||
if (!from[0] && !from[1]) { | ||
try { | ||
translated = await translate(text, { to }); | ||
} | ||
catch { } | ||
} | ||
else { | ||
try { | ||
translated = await translate(text, { | ||
to, | ||
from: from[target.indexOf(to)], | ||
}); | ||
} | ||
catch { } | ||
} | ||
if (translated?.text) { | ||
response = translated; | ||
break; | ||
} | ||
else { | ||
tries++; | ||
if (options.logOnFail) | ||
console.log(`[${tries}] Failed to translate with "${to}".`); | ||
continue; | ||
} | ||
} | ||
if (response) | ||
break; | ||
else | ||
continue; | ||
} | ||
for (const translator of [leiz, gtax, gtoa, trga]) { | ||
for (const to of target) { | ||
if (!to) | ||
break; | ||
let translated; | ||
if (!from[0] && !from[1]) { | ||
try { | ||
translated = await translator.default(text, { to }); | ||
} | ||
catch { } | ||
} | ||
else { | ||
translated = await translator.default(text, { | ||
to, | ||
from: from[target.indexOf(to)], | ||
}); | ||
} | ||
if (translated?.text) { | ||
response = translated; | ||
break; | ||
} | ||
else { | ||
tries++; | ||
if (options.logOnFail) | ||
console.log(`[${tries}] Failed to translate with "${to}".`); | ||
continue; | ||
} | ||
} | ||
if (response) | ||
break; | ||
else | ||
continue; | ||
} | ||
for (const to of target) { | ||
if (!to) | ||
break; | ||
let translated; | ||
if (!from[0] && !from[1]) { | ||
try { | ||
translated = await vita.translate(text, { to }); | ||
} | ||
catch { } | ||
} | ||
else { | ||
translated = await vita.translate(text, { | ||
to, | ||
from: from[target.indexOf(to)], | ||
}); | ||
} | ||
if (translated?.text) { | ||
response = translated; | ||
break; | ||
} | ||
else { | ||
tries++; | ||
if (options.logOnFail) | ||
console.log(`[${tries}] Failed to translate with "${to}".`); | ||
continue; | ||
} | ||
} | ||
return { | ||
content: response?.text || text, | ||
pronunciation: response?.pronunciation || null, | ||
translated: !!response?.text, | ||
tries: tries, | ||
time: Number(Date.now()) - start, | ||
language: { | ||
source: { | ||
name: main.languagesByCode[response?.from?.language?.iso || response?.raw?.src || ""] || null, | ||
code: response?.from?.language?.iso || response?.raw?.src || null, | ||
}, | ||
target: { | ||
name: target[1], | ||
code: target[0], | ||
}, | ||
corrected: response?.from?.language?.didYouMean || false, | ||
certainty: response?.raw?.confidence || null, | ||
}, | ||
text: { | ||
input: text, | ||
output: response?.text || text, | ||
corrected: response?.from?.text?.autoCorrected || false, | ||
value: response?.from?.text?.value || null, | ||
}, | ||
raw: response?.raw || null, | ||
}; | ||
} | ||
function getCredentials(language) { | ||
let code, name; | ||
if (language) | ||
code = | ||
main.languagesByName[language.charAt(0).toUpperCase() + language.slice(1).toLowerCase()]; | ||
if (language) | ||
name = | ||
main.languagesByCode[`${language.split(/-/g)[0].toLowerCase()}${language.split(/-/g)[1] | ||
? `-${language.split(/-/g)[1].toUpperCase()}` | ||
: ""}`]; | ||
if (!code && name) | ||
code = main.languagesByName[name]; | ||
if (!name && code) | ||
name = main.languagesByCode[code]; | ||
return [code || null, name || null]; | ||
} | ||
// 'use strict'; | ||
export {}; | ||
// // @ts-ignore | ||
// import asma from '@asmagin/google-translate-api'; | ||
// // @ts-ignore | ||
// import imli from '@imlinhanchao/google-translate-api'; | ||
// // @ts-ignore | ||
// import iuse from '@iuser/google-translate-api'; | ||
// // @ts-ignore | ||
// import leiz from '@leizl/google-translate-open-api'; | ||
// // @ts-ignore | ||
// import plai from '@plainheart/google-translate-api'; | ||
// // @ts-ignore | ||
// import vita from '@vitalets/google-translate-api'; | ||
// // @ts-ignore | ||
// import gtae from 'google-translate-api-extend'; | ||
// // @ts-ignore | ||
// import gtan from 'google-translate-api-next'; | ||
// // @ts-ignore | ||
// import gtax from 'google-translate-api-x'; | ||
// // @ts-ignore | ||
// import gtoa from 'google-translate-open-api'; | ||
// // @ts-ignore | ||
// import trga from 'trgoogleapi'; | ||
// import * as main from '../main.js'; | ||
// interface Options { | ||
// to?: string; | ||
// from?: string | null; | ||
// logOnFail?: boolean; | ||
// } | ||
// /** | ||
// * | ||
// * @param {string} text - A string value with any characters up to 5000 at once | ||
// * @param {Options} options - A set of optional options | ||
// * @returns an object containing translation, source and target language and much more. | ||
// */ | ||
// export default async function translate(text: string, options: Options = {}) { | ||
// const start: number = Number(Date.now()); | ||
// if (!options.to) options.to = 'English'; | ||
// if (typeof text !== 'string') throw new Error("Can't translate non-string values."); | ||
// const target = getCredentials(options.to); | ||
// const from = getCredentials(options.from as string | null); | ||
// let response, | ||
// tries = 0; | ||
// for (const translate of [asma, gtan, iuse, imli, gtae, plai]) { | ||
// for (const to of target) { | ||
// if (!to) break; | ||
// let translated; | ||
// if (!from[0] && !from[1]) { | ||
// try { | ||
// translated = await translate(text, { to }); | ||
// } catch {} | ||
// } else { | ||
// try { | ||
// translated = await translate(text, { | ||
// to, | ||
// from: from[target.indexOf(to)] as string, | ||
// }); | ||
// } catch {} | ||
// } | ||
// if (translated?.text) { | ||
// response = translated; | ||
// break; | ||
// } else { | ||
// tries++; | ||
// if (options.logOnFail) console.log(`[${tries}] Failed to translate with "${to}".`); | ||
// continue; | ||
// } | ||
// } | ||
// if (response) break; | ||
// else continue; | ||
// } | ||
// for (const translator of [leiz, gtax, gtoa, trga]) { | ||
// for (const to of target) { | ||
// if (!to) break; | ||
// let translated; | ||
// if (!from[0] && !from[1]) { | ||
// try { | ||
// translated = await translator.default(text, { to }); | ||
// } catch {} | ||
// } else { | ||
// translated = await translator.default(text, { | ||
// to, | ||
// from: from[target.indexOf(to)] as string, | ||
// }); | ||
// } | ||
// if (translated?.text) { | ||
// response = translated; | ||
// break; | ||
// } else { | ||
// tries++; | ||
// if (options.logOnFail) console.log(`[${tries}] Failed to translate with "${to}".`); | ||
// continue; | ||
// } | ||
// } | ||
// if (response) break; | ||
// else continue; | ||
// } | ||
// for (const to of target) { | ||
// if (!to) break; | ||
// let translated; | ||
// if (!from[0] && !from[1]) { | ||
// try { | ||
// translated = await vita.translate(text, { to }); | ||
// } catch {} | ||
// } else { | ||
// translated = await vita.translate(text, { | ||
// to, | ||
// from: from[target.indexOf(to)] as string, | ||
// }); | ||
// } | ||
// if (translated?.text) { | ||
// response = translated; | ||
// break; | ||
// } else { | ||
// tries++; | ||
// if (options.logOnFail) console.log(`[${tries}] Failed to translate with "${to}".`); | ||
// continue; | ||
// } | ||
// } | ||
// return { | ||
// content: response?.text || text, | ||
// pronunciation: response?.pronunciation || null, | ||
// translated: !!response?.text, | ||
// tries: tries, | ||
// time: Number(Date.now()) - start, | ||
// language: { | ||
// source: { | ||
// name: main.languagesByCode[response?.from?.language?.iso || response?.raw?.src || ''] || null, | ||
// code: response?.from?.language?.iso || response?.raw?.src || null, | ||
// }, | ||
// target: { | ||
// name: target[1], | ||
// code: target[0], | ||
// }, | ||
// corrected: response?.from?.language?.didYouMean || false, | ||
// certainty: response?.raw?.confidence || null, | ||
// }, | ||
// text: { | ||
// input: text, | ||
// output: response?.text || text, | ||
// corrected: response?.from?.text?.autoCorrected || false, | ||
// value: response?.from?.text?.value || null, | ||
// }, | ||
// raw: response?.raw || null, | ||
// } as const; | ||
// } | ||
// function getCredentials(language: string | null) { | ||
// let code, name; | ||
// if (language) code = main.languagesByName[language.charAt(0).toUpperCase() + language.slice(1).toLowerCase()]; | ||
// if (language) | ||
// name = | ||
// main.languagesByCode[ | ||
// `${language.split(/-/g)[0].toLowerCase()}${ | ||
// language.split(/-/g)[1] ? `-${language.split(/-/g)[1].toUpperCase()}` : '' | ||
// }` | ||
// ]; | ||
// if (!code && name) code = main.languagesByName[name]; | ||
// if (!name && code) name = main.languagesByCode[code]; | ||
// return [code || null, name || null]; | ||
// } |
@@ -1,7 +0,8 @@ | ||
import translate from "./functions/translate.js"; | ||
import getLanguageByName from "./functions/getLanguageByName.js"; | ||
import getLanguageByCode from "./functions/getLanguageByCode.js"; | ||
import getLanguage from "./functions/getLanguage.js"; | ||
declare const languagesByCode: Record<string, string>, languagesByName: Record<string, string>, languagesList: string[]; | ||
export { languagesByCode, languagesByName, languagesList, translate, getLanguageByCode, getLanguageByName, getLanguage }; | ||
export default translate; | ||
import emojify from "./models/emojify.js"; | ||
import morse from "./models/morse.js"; | ||
import pigify from "./models/pigify.js"; | ||
import convert from "convert-units"; | ||
import translate from "./models/translate.js"; | ||
import detect from "./models/detect.js"; | ||
import languages from "./tools/languages.js"; | ||
export { morse, pigify, emojify, convert, translate, detect, languages }; |
@@ -1,13 +0,8 @@ | ||
"use strict"; | ||
import translate from "./functions/translate.js"; | ||
import getLanguages from "./functions/getLanguages.js"; | ||
import getLanguageByName from "./functions/getLanguageByName.js"; | ||
import getLanguageByCode from "./functions/getLanguageByCode.js"; | ||
import getLanguage from "./functions/getLanguage.js"; | ||
const languagesByCode = getLanguages().languagesByCode, languagesByName = getLanguages().languagesByName, languagesList = getLanguages().languages; | ||
export { | ||
// Constants | ||
languagesByCode, languagesByName, languagesList, | ||
// Functions | ||
translate, getLanguageByCode, getLanguageByName, getLanguage }; | ||
export default translate; | ||
import emojify from "./models/emojify.js"; | ||
import morse from "./models/morse.js"; | ||
import pigify from "./models/pigify.js"; | ||
import convert from "convert-units"; | ||
import translate from "./models/translate.js"; | ||
import detect from "./models/detect.js"; | ||
import languages from "./tools/languages.js"; | ||
export { morse, pigify, emojify, convert, translate, detect, languages }; |
{ | ||
"name": "combinedtranslate", | ||
"version": "0.0.5", | ||
"description": "A translate package that combines multiple API's and packages.", | ||
"main": "dist/main.js", | ||
"scripts": { | ||
"dummi": "echo Hi!" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/TheDummi/combinedTranslate.git" | ||
}, | ||
"keywords": [ | ||
"translate", | ||
"free" | ||
], | ||
"author": "Dummi", | ||
"type": "module", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/TheDummi/combinedTranslate/issues" | ||
}, | ||
"homepage": "https://github.com/TheDummi/combinedTranslate#readme", | ||
"dependencies": { | ||
"@asmagin/google-translate-api": "^8.0.2", | ||
"@imlinhanchao/google-translate-api": "^8.0.1", | ||
"@iuser/google-translate-api": "^0.0.2", | ||
"@leizl/google-translate-open-api": "^0.0.2", | ||
"@plainheart/google-translate-api": "^1.2.0", | ||
"@vitalets/google-translate-api": "^9.0.0", | ||
"google-translate-api-extend": "^8.0.1", | ||
"google-translate-api-next": "^0.1.0", | ||
"google-translate-api-x": "^10.5.0", | ||
"google-translate-open-api": "^1.3.7", | ||
"trgoogleapi": "^1.5.1" | ||
} | ||
"name": "combinedtranslate", | ||
"version": "0.1.0", | ||
"description": "A translate package that combines multiple API's and packages.", | ||
"main": "dist/main.js", | ||
"scripts": { | ||
"build": "tsc && npx prettier --write ." | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/TheDummi/combinedTranslate.git" | ||
}, | ||
"keywords": [ | ||
"translate", | ||
"free" | ||
], | ||
"author": "Dummi", | ||
"type": "module", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/TheDummi/combinedTranslate/issues" | ||
}, | ||
"homepage": "https://github.com/TheDummi/combinedTranslate#readme", | ||
"dependencies": { | ||
"@asmagin/google-translate-api": "^8.0.2", | ||
"@imlinhanchao/google-translate-api": "^8.0.1", | ||
"@iuser/google-translate-api": "^0.0.2", | ||
"@leizl/google-translate-open-api": "^0.0.2", | ||
"@vitalets/google-translate-api": "^9.2.0", | ||
"convert-units": "^2.3.4", | ||
"fanyi-google": "^1.1.1", | ||
"google-translate-api": "^0.1.1", | ||
"google-translate-api-extend": "^8.0.1", | ||
"google-translate-api-next": "^0.1.0", | ||
"google-translate-api-x": "^10.6.7", | ||
"moji-translate": "^1.0.8", | ||
"morcedecoder": "^1.0.1", | ||
"open-translate": "^1.4.2", | ||
"pig-latin": "^2.0.2", | ||
"translate-emoji": "^1.0.0", | ||
"trgoogleapi": "^1.5.1" | ||
}, | ||
"devDependencies": { | ||
"@types/convert-units": "^2.3.5", | ||
"@types/google-translate-api": "^2.3.2", | ||
"prettier": "^2.8.8", | ||
"typescript": "^5.1.3" | ||
} | ||
} |
@@ -18,5 +18,5 @@ # CombinedTranslate \[BETA\] | ||
```js | ||
import translate from 'combinedtranslate'; | ||
import translate from "combinedtranslate"; | ||
const translation = await translate('Hallo Wereld', { to: 'English' }); | ||
const translation = await translate("Hallo Wereld", { to: "English" }); | ||
// Output: translation.content = 'Hello World' | ||
@@ -69,3 +69,7 @@ ``` | ||
```js | ||
import translate, { languagesByCode, languagesByName, languageList } from 'combinedtranslate'; | ||
import translate, { | ||
languagesByCode, | ||
languagesByName, | ||
languageList, | ||
} from "combinedtranslate"; | ||
@@ -72,0 +76,0 @@ languagesByCode; // An object with all supported languages by their ISO code. |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
38867
34
822
85
17
4
1
+ Addedconvert-units@^2.3.4
+ Addedfanyi-google@^1.1.1
+ Addedgoogle-translate-api@^0.1.1
+ Addedmoji-translate@^1.0.8
+ Addedmorcedecoder@^1.0.1
+ Addedopen-translate@^1.4.2
+ Addedpig-latin@^2.0.2
+ Addedtranslate-emoji@^1.0.0
+ Addedajv@6.12.6(transitive)
+ Addedasn1@0.2.6(transitive)
+ Addedassert-plus@1.0.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedaws4@1.13.0(transitive)
+ Addedbcrypt-pbkdf@1.0.2(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedconfigstore@2.1.0(transitive)
+ Addedconvert-units@2.3.4(transitive)
+ Addedcore-util-is@1.0.2(transitive)
+ Addeddashdash@1.14.1(transitive)
+ Addeddot-prop@3.0.0(transitive)
+ Addedecc-jsbn@0.1.2(transitive)
+ Addedemojilib@2.4.0(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedextsprintf@1.3.0(transitive)
+ Addedfanyi-google@1.1.1(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedforever-agent@0.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedgetpass@0.1.7(transitive)
+ Addedgoogle-translate-api@0.1.1(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedis-obj@1.0.1(transitive)
+ Addedisstream@0.1.2(transitive)
+ Addedjsbn@0.1.1(transitive)
+ Addedjson-schema@0.4.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsprim@1.4.2(transitive)
+ Addedlodash@2.4.2(transitive)
+ Addedlodash._basebind@2.3.0(transitive)
+ Addedlodash._basecreate@2.3.0(transitive)
+ Addedlodash._basecreatecallback@2.3.0(transitive)
+ Addedlodash._basecreatewrapper@2.3.0(transitive)
+ Addedlodash._createwrapper@2.3.0(transitive)
+ Addedlodash._objecttypes@2.3.0(transitive)
+ Addedlodash._renative@2.3.0(transitive)
+ Addedlodash._setbinddata@2.3.0(transitive)
+ Addedlodash._shimkeys@2.3.0(transitive)
+ Addedlodash._slice@2.3.0(transitive)
+ Addedlodash.bind@2.3.0(transitive)
+ Addedlodash.foreach@2.3.0(transitive)
+ Addedlodash.forown@2.3.0(transitive)
+ Addedlodash.identity@2.3.0(transitive)
+ Addedlodash.isfunction@2.3.0(transitive)
+ Addedlodash.isobject@2.3.0(transitive)
+ Addedlodash.keys@2.3.0(transitive)
+ Addedlodash.noop@2.3.0(transitive)
+ Addedlodash.support@2.3.0(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedmoji-translate@1.0.8(transitive)
+ Addedmorcedecoder@1.0.1(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedobject-assign@4.1.1(transitive)
+ Addedopen-translate@1.4.3(transitive)
+ Addedos-homedir@1.0.2(transitive)
+ Addedos-tmpdir@1.0.2(transitive)
+ Addedosenv@0.1.5(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpig-latin@2.0.2(transitive)
+ Addedpsl@1.9.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedslide@1.1.6(transitive)
+ Addedsshpk@1.18.0(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtranslate-emoji@1.0.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedtweetnacl@0.14.5(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addeduuid@2.0.33.4.0(transitive)
+ Addedverror@1.10.0(transitive)
+ Addedwrite-file-atomic@1.3.4(transitive)
+ Addedxdg-basedir@2.0.0(transitive)
- Removedgoogle-translate-open-api@^1.3.7
- Removed@plainheart/google-translate-api@1.2.0(transitive)
- Removed@sindresorhus/is@4.6.0(transitive)
- Removed@szmarczak/http-timer@4.0.6(transitive)
- Removed@types/cacheable-request@6.0.3(transitive)
- Removed@types/http-cache-semantics@4.0.4(transitive)
- Removed@types/keyv@3.1.4(transitive)
- Removed@types/node@20.14.2(transitive)
- Removed@types/responselike@1.0.3(transitive)
- Removedcacheable-lookup@5.0.4(transitive)
- Removedcacheable-request@7.0.4(transitive)
- Removeddecompress-response@6.0.0(transitive)
- Removeddefer-to-connect@2.0.1(transitive)
- Removedgoogle-translate-open-api@1.3.7(transitive)
- Removedgot@11.8.6(transitive)
- Removedhttp2-wrapper@1.0.3(transitive)
- Removedjson-buffer@3.0.1(transitive)
- Removedkeyv@4.5.4(transitive)
- Removedlodash.clonedeep@4.5.0(transitive)
- Removedmimic-response@3.1.0(transitive)
- Removednormalize-url@6.1.0(transitive)
- Removedp-cancelable@2.1.1(transitive)
- Removedquick-lru@5.1.1(transitive)
- Removedresolve-alpn@1.2.1(transitive)
- Removedresponselike@2.0.1(transitive)
- Removedundici-types@5.26.5(transitive)