chore: cleaned package.json & string TODOs

pull/3206/head
Audric Ackermann 8 months ago
parent 9754a095be
commit 3d4a8ff8df

@ -116,24 +116,24 @@ Setup instructions for Windows using Chocolatey:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
``` ```
### Linux ### Linux
1. Install build tools `apt install build-essential cmake` (this installs make, g++, gcc) 1. Install build tools `apt install build-essential cmake` (this installs make, g++, gcc)
2. Depending on your distro, you might need to install `hunspell` and `hunspell-<lan>` (e.g. `hunspell-en-au`) 2. Depending on your distro, you might need to install `hunspell` and `hunspell-<lan>` (e.g. `hunspell-en-au`)
In Ubuntu, you may also need to install In Ubuntu, you may also need to install
``` ```
sudo apt install cmake sudo apt install cmake
npm install cmake-js npm install cmake-js
``` ```
In Fedora, you may also need to install In Fedora, you may also need to install
``` ```
sudo dnf install make automake gcc gcc-c++ kernel-devel sudo dnf install make automake gcc gcc-c++ kernel-devel
``` ```
### All platforms ### All platforms
Now, run these commands in your preferred terminal in a good directory for development: Now, run these commands in your preferred terminal in a good directory for development:
@ -237,7 +237,7 @@ So you wanna make a pull request? Please observe the following guidelines.
this script generates updated TypeScript type definitions to ensure you aren't this script generates updated TypeScript type definitions to ensure you aren't
using a localisation key which doesn't exist. using a localisation key which doesn't exist.
- Please do not submit pull requests for pure translation fixes. Anyone can update - Please do not submit pull requests for pure translation fixes. Anyone can update
the translations at [Crowdin](https://crowdin.com/project/session-desktop). the translations at [Crowdin](https://crowdin.com/project/session-crossplatform-strings).
- [Rebase](https://nathanleclaire.com/blog/2014/09/14/dont-be-scared-of-git-rebase/) your - [Rebase](https://nathanleclaire.com/blog/2014/09/14/dont-be-scared-of-git-rebase/) your
changes on the latest `clearnet` branch, resolving any conflicts. changes on the latest `clearnet` branch, resolving any conflicts.
This ensures that your changes will merge cleanly when you open your PR. This ensures that your changes will merge cleanly when you open your PR.

@ -37,15 +37,12 @@
"start-prod:pretty": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron . | npx bunyan", "start-prod:pretty": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron . | npx bunyan",
"start-dev": "cross-env NODE_ENV=development NODE_APP_INSTANCE=devprod$MULTI electron .", "start-dev": "cross-env NODE_ENV=development NODE_APP_INSTANCE=devprod$MULTI electron .",
"build-everything": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales && tsc && yarn build:workers", "build-everything": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales && tsc && yarn build:workers",
"build-everything:en": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales-soft && tsc && yarn build:workers", "build-everything:soft": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales-soft && tsc && yarn build:workers",
"build-everything:watch": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales && yarn build:workers && concurrently \"tsc -w\" \"yarn build-watch:locales\"", "build-everything:watch": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales-soft && yarn build:workers && yarn tsc -w",
"build-everything:watch-en": "yarn clean && yarn protobuf && yarn update-git-info && yarn sass && yarn build:locales-soft && yarn build:workers && concurrently \"tsc -w\" \"yarn build-watch:locales-en\"",
"start-dev:pretty": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron . | npx bunyan", "start-dev:pretty": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron . | npx bunyan",
"build:workers": "yarn worker:utils && yarn worker:libsession", "build:workers": "yarn worker:utils && yarn worker:libsession",
"build:locales": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems --error-on-problems --error-old-dynamic-variables", "build:locales": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems --error-on-problems --error-old-dynamic-variables",
"build:locales-soft": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems", "build:locales-soft": "python3 ./tools/localization/generateLocales.py --generate-types --print-problems",
"build-watch:locales": "nodemon --watch _locales/en/messages.json --exec \"yarn build:locales\"",
"build-watch:locales-en": "nodemon --watch _locales/en/messages.json --exec \"yarn build:locales-soft\"",
"watch": "yarn clean && yarn protobuf && yarn update-git-info && yarn build-everything:watch", "watch": "yarn clean && yarn protobuf && yarn update-git-info && yarn build-everything:watch",
"protobuf": "pbjs --target static-module --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js --force-long", "protobuf": "pbjs --target static-module --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js --force-long",
"sass": "rimraf 'stylesheets/dist/' && webpack --config=./sass.config.js", "sass": "rimraf 'stylesheets/dist/' && webpack --config=./sass.config.js",
@ -208,7 +205,6 @@
"mini-css-extract-plugin": "^2.7.5", "mini-css-extract-plugin": "^2.7.5",
"mocha": "10.0.0", "mocha": "10.0.0",
"node-loader": "^2.0.0", "node-loader": "^2.0.0",
"nodemon": "^3.1.0",
"patch-package": "^6.4.7", "patch-package": "^6.4.7",
"postinstall-prepare": "^1.0.1", "postinstall-prepare": "^1.0.1",
"prettier": "3.2.5", "prettier": "3.2.5",

@ -57,10 +57,8 @@ python3 ./tools/findString.py <token> --open --limit 5
When a CrowdIn PR is made to update the localizations When a CrowdIn PR is made to update the localizations
the [./localization/crowdInPostInstall.sh](./localization/crowdInPostImport.sh) - This script processes the imported the [./localization/crowdInPostInstall.sh](./localization/crowdInPostImport.sh) - This script processes the imported
files by running the following scripts: files by running the following script:
- [./util/sortJson.py](./util/sortJson.py) - This script sorts a json file and is run for all `messages.json` files
located in `./_locales/`.
- [./localization/generateLocales.py](./localization/generateLocales.py) - This script generates the TypeScript type - [./localization/generateLocales.py](./localization/generateLocales.py) - This script generates the TypeScript type
definitions [locales.ts](../ts/localization/locales.ts). This script also validates the dynamic variables in each definitions [locales.ts](../ts/localization/locales.ts). This script also validates the dynamic variables in each
locale file and flags any errors. locale file and flags any errors.

@ -2,22 +2,7 @@
echo 'Cleaning up CrowdIn import' echo 'Cleaning up CrowdIn import'
SORT_JSON_FILE=$PWD/tools/util/sortJson.py
GENERATE_LOCALES_FILE=$PWD/tools/localization/generateLocales.py GENERATE_LOCALES_FILE=$PWD/tools/localization/generateLocales.py
# Sort all the messages.json files
for dir in $PWD/_locales/*/
do
dir=${dir%*/}
file="${dir}/messages.json"
if [ -f "$file" ]
then
python $SORT_JSON_FILE "$file"
else
echo "$file not found."
fi
done
# Generate Types and find problems if the python script exists with a non-zero exit code then the build will fail # Generate Types and find problems if the python script exists with a non-zero exit code then the build will fail
python3 $GENERATE_LOCALES_FILE --print-problems --error-on-problems --error-old-dynamic-variables --print-old-dynamic-variables python3 $GENERATE_LOCALES_FILE --print-problems --error-on-problems --error-old-dynamic-variables --print-old-dynamic-variables

@ -129,10 +129,11 @@ export const ClickToTrustSender = (props: { messageId: string }) => {
// eslint-disable-next-line @typescript-eslint/no-misused-promises // eslint-disable-next-line @typescript-eslint/no-misused-promises
<StyledTrustSenderUI onClick={openConfirmationModal}> <StyledTrustSenderUI onClick={openConfirmationModal}>
<SessionIcon iconSize="small" iconType="gallery" /> <SessionIcon iconSize="small" iconType="gallery" />
{/** TODO - Add file type */}
<ClickToDownload> <ClickToDownload>
{window.i18n('attachmentsClickToDownload', { {window.i18n('attachmentsClickToDownload', {
file_type: fileType, // Note: we don't want to change the case of a localized string, but as an exception this one is approved.
// The reason is that the attachments logic is scheduled to be changed soon :tm:
file_type: fileType.toLocaleLowerCase(),
})} })}
</ClickToDownload> </ClickToDownload>
</StyledTrustSenderUI> </StyledTrustSenderUI>

@ -59,7 +59,7 @@ const generateContactsString = (
let hasMe = false; let hasMe = false;
let numberOfReactors = 0; let numberOfReactors = 0;
senders.forEach(sender => { senders.forEach(sender => {
// TODO - make sure to truncate with ellipsis if too long @will // TODO truncate with ellipsis if too long?
const contact = findAndFormatContact(sender); const contact = findAndFormatContact(sender);
if (contact.isMe) { if (contact.isMe) {
hasMe = true; hasMe = true;

@ -184,7 +184,6 @@ export const UpdateGroupMembersDialog = (props: Props) => {
const showNoMembersMessage = existingMembers.length === 0; const showNoMembersMessage = existingMembers.length === 0;
const okText = window.i18n('okay'); const okText = window.i18n('okay');
const cancelText = window.i18n('cancel'); const cancelText = window.i18n('cancel');
// TODO: String localization - remove
const titleText = window.i18n('groupName'); const titleText = window.i18n('groupName');
return ( return (

@ -149,7 +149,6 @@ export const LeftPaneBanner = () => {
padding={'var(--margins-md)'} padding={'var(--margins-md)'}
> >
<Flex container={true} width={'100%'} alignItems="flex-start"> <Flex container={true} width={'100%'} alignItems="flex-start">
{/** TODO: String localization - remove */}
<StyledBannerTitle>{window.i18n('recoveryPasswordBannerTitle')}</StyledBannerTitle> <StyledBannerTitle>{window.i18n('recoveryPasswordBannerTitle')}</StyledBannerTitle>
<SessionIcon <SessionIcon
iconType={isDarkTheme ? 'recoveryPasswordFill' : 'recoveryPasswordOutline'} iconType={isDarkTheme ? 'recoveryPasswordFill' : 'recoveryPasswordOutline'}

@ -16,7 +16,6 @@ export const SettingsCategoryAppearance = () => {
? true ? true
: window.getSettingValue(SettingsKey.settingsMenuBar); : window.getSettingValue(SettingsKey.settingsMenuBar);
// TODO: strings - verify this merge
return ( return (
<> <>
<SettingsThemeSwitcher /> <SettingsThemeSwitcher />

@ -56,7 +56,6 @@ export const SettingsCategoryPermissions = () => {
const forceUpdate = useUpdate(); const forceUpdate = useUpdate();
const isStartInTrayActive = Boolean(window.getSettingValue(SettingsKey.settingsStartInTray)); const isStartInTrayActive = Boolean(window.getSettingValue(SettingsKey.settingsStartInTray));
// TODO: strings - verify merge
return ( return (
<> <>
<SessionToggleWithDescription <SessionToggleWithDescription

@ -60,7 +60,6 @@ export const SettingsCategoryPrivacy = (props: {
const isLinkPreviewsOn = useHasLinkPreviewEnabled(); const isLinkPreviewsOn = useHasLinkPreviewEnabled();
const areBlindedRequestsEnabled = useHasBlindedMsgRequestsEnabled(); const areBlindedRequestsEnabled = useHasBlindedMsgRequestsEnabled();
// TODO: strings - verify merge
return ( return (
<> <>
<SessionToggleWithDescription <SessionToggleWithDescription
@ -108,7 +107,6 @@ export const SettingsCategoryPrivacy = (props: {
active={areBlindedRequestsEnabled} active={areBlindedRequestsEnabled}
/> />
{/* TODO: strings - verify merge */}
{!props.hasPassword ? ( {!props.hasPassword ? (
<SessionSettingButtonItem <SessionSettingButtonItem
title={window.i18n('lockApp')} title={window.i18n('lockApp')}
@ -124,7 +122,6 @@ export const SettingsCategoryPrivacy = (props: {
<> <>
{/* We have a password, let's show the 'change' and 'remove' password buttons */} {/* We have a password, let's show the 'change' and 'remove' password buttons */}
<SessionSettingButtonItem <SessionSettingButtonItem
// TODO: String localization - remove
title={window.i18n('passwordChange')} title={window.i18n('passwordChange')}
description={window.i18n('passwordChangeDescription')} description={window.i18n('passwordChangeDescription')}
onClick={() => { onClick={() => {

@ -331,7 +331,6 @@ export function useSelectedShortenedPubkeyOrFallback() {
if (isPrivate) { if (isPrivate) {
return window.i18n('anonymous'); return window.i18n('anonymous');
} }
// TODO: String localization - remove
return window.i18n('unknown'); return window.i18n('unknown');
} }

@ -1,15 +1,17 @@
import { timeLocaleMap } from './timeLocaleMap'; import { timeLocaleMap } from './timeLocaleMap';
let mappedBrowserLocaleDisplayed = false;
let initialLocale: Locale | undefined;
/** /**
* Logs an i18n message to the console. * Logs an i18n message to the console.
* @param message - The message to log. * @param message - The message to log.
* *
* TODO - Replace this logging method when the new logger is created
*/ */
export function i18nLog(message: string) { export function i18nLog(message: string) {
// eslint:disable: no-console // eslint:disable: no-console
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
(window?.log?.error ?? console.log)(`i18n: ${message}`); (window?.log?.info ?? console.log)(`i18n: ${message}`);
} }
export type Locale = keyof typeof timeLocaleMap; export type Locale = keyof typeof timeLocaleMap;
@ -37,16 +39,16 @@ export function getBrowserLocale() {
const userLocaleDashed = getLocale(); const userLocaleDashed = getLocale();
const matchinglocales = Intl.DateTimeFormat.supportedLocalesOf(userLocaleDashed); const matchinglocales = Intl.DateTimeFormat.supportedLocalesOf(userLocaleDashed);
const mappingTo = matchinglocales?.[0] || 'en';
if (matchinglocales.length) { if (!mappedBrowserLocaleDisplayed) {
return matchinglocales[0]; mappedBrowserLocaleDisplayed = true;
i18nLog(`userLocaleDashed: '${userLocaleDashed}', mapping to browser locale: ${mappingTo}`);
} }
return 'en'; return mappingTo;
} }
let initialLocale: Locale | undefined;
export function setInitialLocale(locale: Locale) { export function setInitialLocale(locale: Locale) {
initialLocale = locale; initialLocale = locale;
} }

@ -1,5 +1,8 @@
import timeLocales from 'date-fns/locale'; import timeLocales from 'date-fns/locale';
// Note: to find new mapping you can use:
// https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
export const timeLocaleMap = { export const timeLocaleMap = {
ar: timeLocales.ar, ar: timeLocales.ar,
be: timeLocales.be, be: timeLocales.be,
@ -12,45 +15,38 @@ export const timeLocaleMap = {
en: timeLocales.enUS, en: timeLocales.enUS,
eo: timeLocales.eo, eo: timeLocales.eo,
es: timeLocales.es, es: timeLocales.es,
/** TODO - Check this */
'es-419': timeLocales.es, 'es-419': timeLocales.es,
et: timeLocales.et, et: timeLocales.et,
fa: timeLocales.faIR, fa: timeLocales.faIR,
fi: timeLocales.fi, fi: timeLocales.fi,
/** TODO - Check this */
fil: timeLocales.fi, fil: timeLocales.fi,
fr: timeLocales.fr, fr: timeLocales.fr,
he: timeLocales.he, he: timeLocales.he,
hi: timeLocales.hi, hi: timeLocales.hi,
hr: timeLocales.hr, hr: timeLocales.hr,
hu: timeLocales.hu, hu: timeLocales.hu,
/** TODO - Check this */
'hy-AM': timeLocales.hy, 'hy-AM': timeLocales.hy,
id: timeLocales.id, id: timeLocales.id,
it: timeLocales.it, it: timeLocales.it,
ja: timeLocales.ja, ja: timeLocales.ja,
ka: timeLocales.ka, ka: timeLocales.ka,
km: timeLocales.km, km: timeLocales.km,
/** TODO - Check this */ kmr: timeLocales.km, // central khmer, mapped to date-fns khmer: km
kmr: timeLocales.km,
kn: timeLocales.kn, kn: timeLocales.kn,
ko: timeLocales.ko, ko: timeLocales.ko,
lt: timeLocales.lt, lt: timeLocales.lt,
lv: timeLocales.lv, lv: timeLocales.lv,
mk: timeLocales.mk, mk: timeLocales.mk,
nb: timeLocales.nb, nb: timeLocales.nb, // Norwegian Bokmål, mapped to date-fns "Norwegian Bokmål": nb
nl: timeLocales.nl, nl: timeLocales.nl, // dutch/flemish
/** TODO - Find this this */ no: timeLocales.nb, // norwegian, mapped to date-fns "Norwegian Bokmål": nb
no: timeLocales.enUS, pa: timeLocales.hi, // punjabi: not supported by date-fns, mapped to Hindi: hi
/** TODO - Find this this */
pa: timeLocales.enUS,
pl: timeLocales.pl, pl: timeLocales.pl,
'pt-BR': timeLocales.ptBR, 'pt-BR': timeLocales.ptBR,
'pt-PT': timeLocales.pt, 'pt-PT': timeLocales.pt,
ro: timeLocales.ro, ro: timeLocales.ro,
ru: timeLocales.ru, ru: timeLocales.ru,
/** TODO - Find this this */ si: timeLocales.enUS, // sinhala, not suported by date-fns, mapped to english for now
si: timeLocales.enUS,
sk: timeLocales.sk, sk: timeLocales.sk,
sl: timeLocales.sl, sl: timeLocales.sl,
sq: timeLocales.sq, sq: timeLocales.sq,
@ -58,8 +54,7 @@ export const timeLocaleMap = {
sv: timeLocales.sv, sv: timeLocales.sv,
ta: timeLocales.ta, ta: timeLocales.ta,
th: timeLocales.th, th: timeLocales.th,
/** TODO - Find this this */ tl: timeLocales.enUS, // tagalog, not suported by date-fns, mapped to english for now
tl: timeLocales.enUS,
tr: timeLocales.tr, tr: timeLocales.tr,
uk: timeLocales.uk, uk: timeLocales.uk,
uz: timeLocales.uz, uz: timeLocales.uz,

@ -765,13 +765,6 @@
resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-3.6.0.tgz#5f1a25c7b4e3d5ee2bc63133d374d096b7008c8d" resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-3.6.0.tgz#5f1a25c7b4e3d5ee2bc63133d374d096b7008c8d"
integrity sha512-rOWxCKMjt2DBuwddUnl5GOpf/jAkkqteB+XldncpVxVX+HPTmK2c5ACMOVEbp9gaH81IlhTdC3TwvRa5nopasw== integrity sha512-rOWxCKMjt2DBuwddUnl5GOpf/jAkkqteB+XldncpVxVX+HPTmK2c5ACMOVEbp9gaH81IlhTdC3TwvRa5nopasw==
"@types/firstline@^2.0.2":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/firstline/-/firstline-2.0.4.tgz#b8d3f8f7396d1589efea89db183c047a42efaf04"
integrity sha512-EYoMzk783ncj3soLGADXD/rklDMw1PAO5Hc3lRZa5G21vkfacwkdTlIdhTJ39omqDLezTSmxjDG1psd4A/mUHg==
dependencies:
"@types/node" "*"
"@types/fs-extra@5.0.5": "@types/fs-extra@5.0.5":
version "5.0.5" version "5.0.5"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.5.tgz#080d90a792f3fa2c5559eb44bd8ef840aae9104b" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.5.tgz#080d90a792f3fa2c5559eb44bd8ef840aae9104b"
@ -2174,7 +2167,7 @@ chokidar@3.5.3:
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2: "chokidar@>=3.0.0 <4.0.0":
version "3.6.0" version "3.6.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
@ -3696,11 +3689,6 @@ find-yarn-workspace-root@^2.0.0:
dependencies: dependencies:
micromatch "^4.0.2" micromatch "^4.0.2"
firstline@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/firstline/-/firstline-1.2.1.tgz#b88673c42009f8821fac2926e99720acee924fae"
integrity sha512-6eMQNJtDzyXSC1yeCBWspqA6LeV5la2XHGTXQq4O0xkglAutpyny/sB+zVdXTZ9nzcDW9ZGLxwXXkB+ZEtJuPw==
flat-cache@^3.0.4: flat-cache@^3.0.4:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
@ -4260,11 +4248,6 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ignore-by-default@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
ignore@^5.2.0, ignore@^5.2.4: ignore@^5.2.0, ignore@^5.2.4:
version "5.3.1" version "5.3.1"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
@ -5467,7 +5450,7 @@ mocha@10.0.0:
yargs-parser "20.2.4" yargs-parser "20.2.4"
yargs-unparser "2.0.0" yargs-unparser "2.0.0"
moment@^2.19.3, moment@^2.29.4: moment@^2.19.3:
version "2.30.1" version "2.30.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae"
integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==
@ -5585,22 +5568,6 @@ node-releases@^2.0.14:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
nodemon@^3.1.0:
version "3.1.4"
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.4.tgz#c34dcd8eb46a05723ccde60cbdd25addcc8725e4"
integrity sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==
dependencies:
chokidar "^3.5.2"
debug "^4"
ignore-by-default "^1.0.1"
minimatch "^3.1.2"
pstree.remy "^1.1.8"
semver "^7.5.3"
simple-update-notifier "^2.0.0"
supports-color "^5.5.0"
touch "^3.1.0"
undefsafe "^2.0.5"
normalize-package-data@^2.5.0: normalize-package-data@^2.5.0:
version "2.5.0" version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
@ -6151,11 +6118,6 @@ psl@^1.1.33:
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
pstree.remy@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
pump@^3.0.0: pump@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
@ -6429,11 +6391,6 @@ read-config-file@6.2.0:
json5 "^2.2.0" json5 "^2.2.0"
lazy-val "^1.0.4" lazy-val "^1.0.4"
read-last-lines-ts@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/read-last-lines-ts/-/read-last-lines-ts-1.2.1.tgz#99e46288c5373c06e16e90e666a46b595dad80a1"
integrity sha512-1VcCrAU38DILYiF4sbNY13zdrMGwrFqjGQnXJy28G1zLJItvnWtgCbqoAJlnZZSiEICMKdM4Ol7LYvVMEoKrAg==
read-pkg-up@^7.0.1: read-pkg-up@^7.0.1:
version "7.0.1" version "7.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
@ -6894,7 +6851,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4: semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.0, semver@^7.5.4:
version "7.6.3" version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@ -7008,13 +6965,6 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
simple-update-notifier@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
dependencies:
semver "^7.5.3"
sinon@9.0.2: sinon@9.0.2:
version "9.0.2" version "9.0.2"
resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d" resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d"
@ -7329,7 +7279,7 @@ supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1:
dependencies: dependencies:
has-flag "^4.0.0" has-flag "^4.0.0"
supports-color@^5.3.0, supports-color@^5.5.0: supports-color@^5.3.0:
version "5.5.0" version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@ -7467,11 +7417,6 @@ toggle-selection@^1.0.6:
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
touch@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694"
integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==
tough-cookie@^4.1.2: tough-cookie@^4.1.2:
version "4.1.4" version "4.1.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
@ -7701,11 +7646,6 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3" has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2" which-boxed-primitive "^1.0.2"
undefsafe@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
underscore@>=1.8.3, underscore@~1.13.2: underscore@>=1.8.3, underscore@~1.13.2:
version "1.13.6" version "1.13.6"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441"

Loading…
Cancel
Save