diff --git a/.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-190abd03e4.zip b/.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-190abd03e4.zip deleted file mode 100644 index 39b464037..000000000 Binary files a/.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-190abd03e4.zip and /dev/null differ diff --git a/.yarn/cache/ansi-regex-npm-4.1.0-4a7d8413fe-97aa465953.zip b/.yarn/cache/ansi-regex-npm-4.1.0-4a7d8413fe-97aa465953.zip deleted file mode 100644 index 7ff4a9216..000000000 Binary files a/.yarn/cache/ansi-regex-npm-4.1.0-4a7d8413fe-97aa465953.zip and /dev/null differ diff --git a/.yarn/cache/ansi-styles-npm-2.2.1-f3297e782c-ebc0e00381.zip b/.yarn/cache/ansi-styles-npm-2.2.1-f3297e782c-ebc0e00381.zip deleted file mode 100644 index 5581240ca..000000000 Binary files a/.yarn/cache/ansi-styles-npm-2.2.1-f3297e782c-ebc0e00381.zip and /dev/null differ diff --git a/.yarn/cache/boxen-npm-4.2.0-471e88ddba-ce2b565a2e.zip b/.yarn/cache/boxen-npm-4.2.0-471e88ddba-ce2b565a2e.zip deleted file mode 100644 index 120c59dbf..000000000 Binary files a/.yarn/cache/boxen-npm-4.2.0-471e88ddba-ce2b565a2e.zip and /dev/null differ diff --git a/.yarn/cache/chalk-npm-1.1.3-59144c3a87-9d2ea6b98f.zip b/.yarn/cache/chalk-npm-1.1.3-59144c3a87-9d2ea6b98f.zip deleted file mode 100644 index e7d3003b9..000000000 Binary files a/.yarn/cache/chalk-npm-1.1.3-59144c3a87-9d2ea6b98f.zip and /dev/null differ diff --git a/.yarn/cache/chalk-npm-3.0.0-e813208025-8e3ddf3981.zip b/.yarn/cache/chalk-npm-3.0.0-e813208025-8e3ddf3981.zip deleted file mode 100644 index 47b36c701..000000000 Binary files a/.yarn/cache/chalk-npm-3.0.0-e813208025-8e3ddf3981.zip and /dev/null differ diff --git a/.yarn/cache/cliui-npm-5.0.0-885b5f48ee-0bb8779efe.zip b/.yarn/cache/cliui-npm-5.0.0-885b5f48ee-0bb8779efe.zip deleted file mode 100644 index 96db49ca4..000000000 Binary files a/.yarn/cache/cliui-npm-5.0.0-885b5f48ee-0bb8779efe.zip and /dev/null differ diff --git a/.yarn/cache/connect-livereload-npm-0.6.1-5099bc26cc-a0d2d8ca31.zip b/.yarn/cache/connect-livereload-npm-0.6.1-5099bc26cc-a0d2d8ca31.zip deleted file mode 100644 index dab6676b5..000000000 Binary files a/.yarn/cache/connect-livereload-npm-0.6.1-5099bc26cc-a0d2d8ca31.zip and /dev/null differ diff --git a/.yarn/cache/connect-npm-3.7.0-25ccb085cc-96e1c4effc.zip b/.yarn/cache/connect-npm-3.7.0-25ccb085cc-96e1c4effc.zip deleted file mode 100644 index 584ac00ab..000000000 Binary files a/.yarn/cache/connect-npm-3.7.0-25ccb085cc-96e1c4effc.zip and /dev/null differ diff --git a/.yarn/cache/cp-file-npm-7.0.0-f8cf3451db-dd60ed8d86.zip b/.yarn/cache/cp-file-npm-7.0.0-f8cf3451db-dd60ed8d86.zip deleted file mode 100644 index c1a91a892..000000000 Binary files a/.yarn/cache/cp-file-npm-7.0.0-f8cf3451db-dd60ed8d86.zip and /dev/null differ diff --git a/.yarn/cache/cross-env-npm-5.0.5-12cf8d0dc2-232ff7c8fa.zip b/.yarn/cache/cross-env-npm-5.0.5-12cf8d0dc2-232ff7c8fa.zip deleted file mode 100644 index 402d3643f..000000000 Binary files a/.yarn/cache/cross-env-npm-5.0.5-12cf8d0dc2-232ff7c8fa.zip and /dev/null differ diff --git a/.yarn/cache/cross-spawn-npm-5.1.0-a3e220603e-726939c995.zip b/.yarn/cache/cross-spawn-npm-5.1.0-a3e220603e-726939c995.zip deleted file mode 100644 index aec32b807..000000000 Binary files a/.yarn/cache/cross-spawn-npm-5.1.0-a3e220603e-726939c995.zip and /dev/null differ diff --git a/.yarn/cache/docsify-cli-npm-4.4.3-bc58c336a0-9e662c071b.zip b/.yarn/cache/docsify-cli-npm-4.4.3-bc58c336a0-9e662c071b.zip deleted file mode 100644 index 31aa0480b..000000000 Binary files a/.yarn/cache/docsify-cli-npm-4.4.3-bc58c336a0-9e662c071b.zip and /dev/null differ diff --git a/.yarn/cache/docsify-server-renderer-npm-4.12.3-b44f5e8fc4-8b897f8341.zip b/.yarn/cache/docsify-server-renderer-npm-4.12.3-b44f5e8fc4-8b897f8341.zip deleted file mode 100644 index 647f09726..000000000 Binary files a/.yarn/cache/docsify-server-renderer-npm-4.12.3-b44f5e8fc4-8b897f8341.zip and /dev/null differ diff --git a/.yarn/cache/emoji-regex-npm-7.0.3-cfe9479bb3-9159b2228b.zip b/.yarn/cache/emoji-regex-npm-7.0.3-cfe9479bb3-9159b2228b.zip deleted file mode 100644 index 22e27d234..000000000 Binary files a/.yarn/cache/emoji-regex-npm-7.0.3-cfe9479bb3-9159b2228b.zip and /dev/null differ diff --git a/.yarn/cache/enquirer-npm-2.3.6-7899175762-1c0911e14a.zip b/.yarn/cache/enquirer-npm-2.3.6-7899175762-1c0911e14a.zip deleted file mode 100644 index 22c981f2b..000000000 Binary files a/.yarn/cache/enquirer-npm-2.3.6-7899175762-1c0911e14a.zip and /dev/null differ diff --git a/.yarn/cache/figlet-npm-1.5.2-5f7d8f3af4-cc86039166.zip b/.yarn/cache/figlet-npm-1.5.2-5f7d8f3af4-cc86039166.zip deleted file mode 100644 index ff9dca712..000000000 Binary files a/.yarn/cache/figlet-npm-1.5.2-5f7d8f3af4-cc86039166.zip and /dev/null differ diff --git a/.yarn/cache/fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip b/.yarn/cache/fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip deleted file mode 100644 index feb64dafe..000000000 Binary files a/.yarn/cache/fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip and /dev/null differ diff --git a/.yarn/cache/get-port-npm-5.1.1-2f6074007a-0162663ffe.zip b/.yarn/cache/get-port-npm-5.1.1-2f6074007a-0162663ffe.zip deleted file mode 100644 index bfec402ae..000000000 Binary files a/.yarn/cache/get-port-npm-5.1.1-2f6074007a-0162663ffe.zip and /dev/null differ diff --git a/.yarn/cache/global-dirs-npm-2.1.0-790e02e61c-f80b74032c.zip b/.yarn/cache/global-dirs-npm-2.1.0-790e02e61c-f80b74032c.zip deleted file mode 100644 index e15d4cc46..000000000 Binary files a/.yarn/cache/global-dirs-npm-2.1.0-790e02e61c-f80b74032c.zip and /dev/null differ diff --git a/.yarn/cache/has-ansi-npm-2.0.0-9bf0cff2af-1b51daa021.zip b/.yarn/cache/has-ansi-npm-2.0.0-9bf0cff2af-1b51daa021.zip deleted file mode 100644 index 61a5a3439..000000000 Binary files a/.yarn/cache/has-ansi-npm-2.0.0-9bf0cff2af-1b51daa021.zip and /dev/null differ diff --git a/.yarn/cache/ini-npm-1.3.7-188ee858c0-f8f3801e8e.zip b/.yarn/cache/ini-npm-1.3.7-188ee858c0-f8f3801e8e.zip deleted file mode 100644 index 82e8547f5..000000000 Binary files a/.yarn/cache/ini-npm-1.3.7-188ee858c0-f8f3801e8e.zip and /dev/null differ diff --git a/.yarn/cache/is-fullwidth-code-point-npm-2.0.0-507f56ec71-eef9c6e15f.zip b/.yarn/cache/is-fullwidth-code-point-npm-2.0.0-507f56ec71-eef9c6e15f.zip deleted file mode 100644 index 56f17d398..000000000 Binary files a/.yarn/cache/is-fullwidth-code-point-npm-2.0.0-507f56ec71-eef9c6e15f.zip and /dev/null differ diff --git a/.yarn/cache/is-installed-globally-npm-0.3.2-a593acf078-7f7489ae30.zip b/.yarn/cache/is-installed-globally-npm-0.3.2-a593acf078-7f7489ae30.zip deleted file mode 100644 index 51131d233..000000000 Binary files a/.yarn/cache/is-installed-globally-npm-0.3.2-a593acf078-7f7489ae30.zip and /dev/null differ diff --git a/.yarn/cache/is-npm-npm-4.0.0-86d312340b-c0d1550266.zip b/.yarn/cache/is-npm-npm-4.0.0-86d312340b-c0d1550266.zip deleted file mode 100644 index 8f77a0381..000000000 Binary files a/.yarn/cache/is-npm-npm-4.0.0-86d312340b-c0d1550266.zip and /dev/null differ diff --git a/.yarn/cache/is-wsl-npm-1.1.0-136e2b7c74-ea157d2323.zip b/.yarn/cache/is-wsl-npm-1.1.0-136e2b7c74-ea157d2323.zip deleted file mode 100644 index 7b4337635..000000000 Binary files a/.yarn/cache/is-wsl-npm-1.1.0-136e2b7c74-ea157d2323.zip and /dev/null differ diff --git a/.yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-6447d6224f.zip b/.yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-6447d6224f.zip deleted file mode 100644 index a8f0e975a..000000000 Binary files a/.yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-6447d6224f.zip and /dev/null differ diff --git a/.yarn/cache/livereload-js-npm-3.3.3-f95f56fa36-802dec07d2.zip b/.yarn/cache/livereload-js-npm-3.3.3-f95f56fa36-802dec07d2.zip deleted file mode 100644 index df8379b05..000000000 Binary files a/.yarn/cache/livereload-js-npm-3.3.3-f95f56fa36-802dec07d2.zip and /dev/null differ diff --git a/.yarn/cache/livereload-npm-0.9.3-d287d317a6-c5d62a974f.zip b/.yarn/cache/livereload-npm-0.9.3-d287d317a6-c5d62a974f.zip deleted file mode 100644 index f0e8f5608..000000000 Binary files a/.yarn/cache/livereload-npm-0.9.3-d287d317a6-c5d62a974f.zip and /dev/null differ diff --git a/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip b/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip deleted file mode 100644 index ec03fb512..000000000 Binary files a/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip and /dev/null differ diff --git a/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip b/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip deleted file mode 100644 index 3f6ba116e..000000000 Binary files a/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip and /dev/null differ diff --git a/.yarn/cache/nested-error-stacks-npm-2.1.0-e928907e75-206ee736f9.zip b/.yarn/cache/nested-error-stacks-npm-2.1.0-e928907e75-206ee736f9.zip deleted file mode 100644 index aa9fd0e73..000000000 Binary files a/.yarn/cache/nested-error-stacks-npm-2.1.0-e928907e75-206ee736f9.zip and /dev/null differ diff --git a/.yarn/cache/open-npm-6.4.0-d2020c939f-e5037facf3.zip b/.yarn/cache/open-npm-6.4.0-d2020c939f-e5037facf3.zip deleted file mode 100644 index 968410615..000000000 Binary files a/.yarn/cache/open-npm-6.4.0-d2020c939f-e5037facf3.zip and /dev/null differ diff --git a/.yarn/cache/opts-npm-2.0.2-62d5ec5b16-9389c32a4d.zip b/.yarn/cache/opts-npm-2.0.2-62d5ec5b16-9389c32a4d.zip deleted file mode 100644 index 899ff79bc..000000000 Binary files a/.yarn/cache/opts-npm-2.0.2-62d5ec5b16-9389c32a4d.zip and /dev/null differ diff --git a/.yarn/cache/p-event-npm-4.2.0-1d17e9941e-8a3588f7a8.zip b/.yarn/cache/p-event-npm-4.2.0-1d17e9941e-8a3588f7a8.zip deleted file mode 100644 index 5cb9fdd75..000000000 Binary files a/.yarn/cache/p-event-npm-4.2.0-1d17e9941e-8a3588f7a8.zip and /dev/null differ diff --git a/.yarn/cache/p-finally-npm-1.0.0-35fbaa57c6-93a654c53d.zip b/.yarn/cache/p-finally-npm-1.0.0-35fbaa57c6-93a654c53d.zip deleted file mode 100644 index 091273a2a..000000000 Binary files a/.yarn/cache/p-finally-npm-1.0.0-35fbaa57c6-93a654c53d.zip and /dev/null differ diff --git a/.yarn/cache/p-timeout-npm-3.2.0-7fdb33f733-3dd0eaa048.zip b/.yarn/cache/p-timeout-npm-3.2.0-7fdb33f733-3dd0eaa048.zip deleted file mode 100644 index eaf8f71c7..000000000 Binary files a/.yarn/cache/p-timeout-npm-3.2.0-7fdb33f733-3dd0eaa048.zip and /dev/null differ diff --git a/.yarn/cache/parent-require-npm-1.0.0-c3b884e494-91ecef2c8e.zip b/.yarn/cache/parent-require-npm-1.0.0-c3b884e494-91ecef2c8e.zip deleted file mode 100644 index cd660886d..000000000 Binary files a/.yarn/cache/parent-require-npm-1.0.0-c3b884e494-91ecef2c8e.zip and /dev/null differ diff --git a/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip b/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip deleted file mode 100644 index d2e77cac7..000000000 Binary files a/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip and /dev/null differ diff --git a/.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip b/.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip deleted file mode 100644 index 9b734d105..000000000 Binary files a/.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip and /dev/null differ diff --git a/.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip b/.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip deleted file mode 100644 index 607d724c3..000000000 Binary files a/.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip and /dev/null differ diff --git a/.yarn/cache/string-width-npm-3.1.0-e031bfa4e0-57f7ca73d2.zip b/.yarn/cache/string-width-npm-3.1.0-e031bfa4e0-57f7ca73d2.zip deleted file mode 100644 index 706d03c8c..000000000 Binary files a/.yarn/cache/string-width-npm-3.1.0-e031bfa4e0-57f7ca73d2.zip and /dev/null differ diff --git a/.yarn/cache/strip-ansi-npm-3.0.1-6aec1365b9-9b974de611.zip b/.yarn/cache/strip-ansi-npm-3.0.1-6aec1365b9-9b974de611.zip deleted file mode 100644 index a1c9f6a0b..000000000 Binary files a/.yarn/cache/strip-ansi-npm-3.0.1-6aec1365b9-9b974de611.zip and /dev/null differ diff --git a/.yarn/cache/strip-ansi-npm-5.2.0-275214c316-bdb5f76ade.zip b/.yarn/cache/strip-ansi-npm-5.2.0-275214c316-bdb5f76ade.zip deleted file mode 100644 index 2231cf589..000000000 Binary files a/.yarn/cache/strip-ansi-npm-5.2.0-275214c316-bdb5f76ade.zip and /dev/null differ diff --git a/.yarn/cache/supports-color-npm-2.0.0-22c0f0adbc-602538c581.zip b/.yarn/cache/supports-color-npm-2.0.0-22c0f0adbc-602538c581.zip deleted file mode 100644 index c4608ecfe..000000000 Binary files a/.yarn/cache/supports-color-npm-2.0.0-22c0f0adbc-602538c581.zip and /dev/null differ diff --git a/.yarn/cache/term-size-npm-2.2.1-77ce7141d0-1ed9813354.zip b/.yarn/cache/term-size-npm-2.2.1-77ce7141d0-1ed9813354.zip deleted file mode 100644 index 062b405ad..000000000 Binary files a/.yarn/cache/term-size-npm-2.2.1-77ce7141d0-1ed9813354.zip and /dev/null differ diff --git a/.yarn/cache/update-notifier-npm-4.1.3-837e724aca-67652056e6.zip b/.yarn/cache/update-notifier-npm-4.1.3-837e724aca-67652056e6.zip deleted file mode 100644 index 6e6240d73..000000000 Binary files a/.yarn/cache/update-notifier-npm-4.1.3-837e724aca-67652056e6.zip and /dev/null differ diff --git a/.yarn/cache/wrap-ansi-npm-5.1.0-293b407c18-9b48c86222.zip b/.yarn/cache/wrap-ansi-npm-5.1.0-293b407c18-9b48c86222.zip deleted file mode 100644 index c6936069b..000000000 Binary files a/.yarn/cache/wrap-ansi-npm-5.1.0-293b407c18-9b48c86222.zip and /dev/null differ diff --git a/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip b/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip deleted file mode 100644 index 6cf78a6ab..000000000 Binary files a/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip and /dev/null differ diff --git a/.yarn/cache/yallist-npm-3.1.1-a568a556b4-48f7bb00dc.zip b/.yarn/cache/yallist-npm-3.1.1-a568a556b4-48f7bb00dc.zip deleted file mode 100644 index 04dc748b8..000000000 Binary files a/.yarn/cache/yallist-npm-3.1.1-a568a556b4-48f7bb00dc.zip and /dev/null differ diff --git a/.yarn/cache/yargonaut-npm-1.1.4-b6e76a38bc-d0ffc310a7.zip b/.yarn/cache/yargonaut-npm-1.1.4-b6e76a38bc-d0ffc310a7.zip deleted file mode 100644 index fc0ef2d83..000000000 Binary files a/.yarn/cache/yargonaut-npm-1.1.4-b6e76a38bc-d0ffc310a7.zip and /dev/null differ diff --git a/.yarn/cache/yargs-npm-14.2.3-b84ca3cee2-684fcb1896.zip b/.yarn/cache/yargs-npm-14.2.3-b84ca3cee2-684fcb1896.zip deleted file mode 100644 index 47545d7c9..000000000 Binary files a/.yarn/cache/yargs-npm-14.2.3-b84ca3cee2-684fcb1896.zip and /dev/null differ diff --git a/.yarn/cache/yargs-parser-npm-15.0.3-e79e7aa32c-06611c1893.zip b/.yarn/cache/yargs-parser-npm-15.0.3-e79e7aa32c-06611c1893.zip deleted file mode 100644 index 9513c3233..000000000 Binary files a/.yarn/cache/yargs-parser-npm-15.0.3-e79e7aa32c-06611c1893.zip and /dev/null differ diff --git a/packages/api/src/database/migrations/07_settings_add_group.ts b/packages/api/src/database/migrations/07_settings_add_group.ts new file mode 100644 index 000000000..a0903a562 --- /dev/null +++ b/packages/api/src/database/migrations/07_settings_add_group.ts @@ -0,0 +1,131 @@ +import { SettingGroup } from '@settings/types'; +import { SettingsModel } from '../../settings/entities'; + +const overridableSettingKeys = [ + 'PRAISE_QUANTIFIERS_PER_PRAISE_RECEIVER', + 'PRAISE_PER_QUANTIFIER', + 'PRAISE_QUANTIFY_RECEIVER_PSEUDONYMS', + 'PRAISE_QUANTIFY_DUPLICATE_PRAISE_PERCENTAGE', + 'PRAISE_QUANTIFY_ALLOWED_VALUES', +]; + +const settings = [ + { + key: 'NAME', + group: SettingGroup.APPLICATION, + }, + { + key: 'DESCRIPTION', + group: SettingGroup.APPLICATION, + }, + { + key: 'LOGO', + group: SettingGroup.APPLICATION, + }, + { + key: 'PRAISE_QUANTIFIERS_PER_PRAISE_RECEIVER', + group: SettingGroup.PERIOD_DEFAULT, + }, + { + key: 'PRAISE_PER_QUANTIFIER', + group: SettingGroup.PERIOD_DEFAULT, + }, + { + key: 'PRAISE_QUANTIFY_RECEIVER_PSEUDONYMS', + group: SettingGroup.PERIOD_DEFAULT, + }, + { + key: 'PRAISE_QUANTIFY_DUPLICATE_PRAISE_PERCENTAGE', + group: SettingGroup.PERIOD_DEFAULT, + }, + { + key: 'PRAISE_QUANTIFY_ALLOWED_VALUES', + group: SettingGroup.PERIOD_DEFAULT, + }, + { + key: 'PRAISE_GIVER_ROLE_ID', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_SUCCESS_MESSAGE', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_ACCOUNT_NOT_ACTIVATED_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'DM_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_WITHOUT_PRAISE_GIVER_ROLE_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_INVALID_RECEIVERS_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_REASON_MISSING_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_UNDEFINED_RECEIVERS_WARNING', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_TO_ROLE_WARNING', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_SUCCESS_DM', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_ACCOUNT_NOT_ACTIVATED_ERROR_DM', + group: SettingGroup.DISCORD, + }, + { + key: 'PRAISE_ACCOUNT_ALREADY_ACTIVATED_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'FORWARD_FROM_USER_WITHOUT_PRAISE_GIVER_ROLE_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'FORWARD_FROM_UNACTIVATED_GIVER_ERROR', + group: SettingGroup.DISCORD, + }, + { + key: 'FORWARD_SUCCESS_MESSAGE', + group: SettingGroup.DISCORD, + }, +]; + +const up = async (): Promise => { + const settingUpdates = settings.map((s) => ({ + updateOne: { + filter: { key: s.key }, + update: { $set: { group: s.group }, $unset: { periodOverridable: true } }, + }, + })); + + await SettingsModel.bulkWrite(settingUpdates); +}; + +const down = async (): Promise => { + const allKeys = settings.map((s) => s.key); + await SettingsModel.updateMany( + { key: { $in: allKeys } }, + { $unset: { group: 1 }, $set: { periodOverridable: false } } + ); + + await SettingsModel.updateMany( + { key: { $in: overridableSettingKeys } }, + { $set: { periodOverridable: true } } + ); +}; + +export { up, down }; diff --git a/packages/api/src/database/migrations/08_settings_drop_app_name_description.ts b/packages/api/src/database/migrations/08_settings_drop_app_name_description.ts new file mode 100644 index 000000000..e47457813 --- /dev/null +++ b/packages/api/src/database/migrations/08_settings_drop_app_name_description.ts @@ -0,0 +1,34 @@ +import { SettingGroup } from '@settings/types'; +import { SettingsModel } from '@settings/entities'; + +const deleteSettings = [ + { + key: 'NAME', + label: 'App Name', + description: null, + group: SettingGroup.APPLICATION, + value: 'Praise', + type: 'String', + }, + { + key: 'DESCRIPTION', + label: 'App Description', + description: null, + group: SettingGroup.APPLICATION, + value: + 'Praise community contributions, build a culture of giving and gratitude.', + type: 'Textarea', + }, +]; + +const up = async (): Promise => { + const deleteSettingKeys = deleteSettings.map((s) => s.key); + + await SettingsModel.deleteMany({ key: { $in: deleteSettingKeys } }); +}; + +const down = async (): Promise => { + await SettingsModel.insertMany(deleteSettings); +}; + +export { up, down }; diff --git a/packages/api/src/periodsettings/utils.ts b/packages/api/src/periodsettings/utils.ts index c9bc4de5a..23f045058 100644 --- a/packages/api/src/periodsettings/utils.ts +++ b/packages/api/src/periodsettings/utils.ts @@ -1,5 +1,5 @@ import { SettingsModel } from '@settings/entities'; -import { SettingDocument } from '@settings/types'; +import { SettingDocument, SettingGroup } from '@settings/types'; import { PeriodDocument } from '@period/types'; import { PeriodSettingsModel } from './entities'; import { PeriodSetting } from './types'; @@ -8,7 +8,7 @@ export const insertNewPeriodSettings = async ( period: PeriodDocument ): Promise => { let settings = await SettingsModel.find({ - periodOverridable: true, + group: SettingGroup.PERIOD_DEFAULT, }); if (settings && !Array.isArray(settings)) settings = [settings]; @@ -22,7 +22,6 @@ export const insertNewPeriodSettings = async ( // drop unused fields _id: undefined, __v: undefined, - periodOverridable: undefined, // set period period: period._id, diff --git a/packages/api/src/settings/entities.ts b/packages/api/src/settings/entities.ts index 888b497ef..67f39d805 100644 --- a/packages/api/src/settings/entities.ts +++ b/packages/api/src/settings/entities.ts @@ -1,5 +1,5 @@ import mongoose from 'mongoose'; -import { SettingDocument } from './types'; +import { SettingDocument, SettingGroup } from './types'; import { fieldTypeValidator } from './validators'; export const genericSettingsSchema = { @@ -21,6 +21,7 @@ export const genericSettingsSchema = { }, label: { type: String, required: true }, description: { type: String }, + group: { type: Number, enum: SettingGroup, required: true }, }; export function getGenericSettingValueRealized( @@ -53,7 +54,6 @@ export const valueRealizedVirtualName = 'valueRealized'; const settingsSchema = new mongoose.Schema( { ...genericSettingsSchema, - periodOverridable: { type: Boolean, default: false }, }, { collection: 'settings', diff --git a/packages/api/src/settings/transformers.ts b/packages/api/src/settings/transformers.ts index 8d61d5d07..318322ce5 100644 --- a/packages/api/src/settings/transformers.ts +++ b/packages/api/src/settings/transformers.ts @@ -1,7 +1,9 @@ import { SettingDocument, SettingDto } from './types'; const settingDocumentToDto = (setting: SettingDocument): SettingDto => { - const { _id, key, value, valueRealized, type, label, description } = setting; + const { _id, key, value, valueRealized, type, label, description, group } = + setting; + return { _id, key, @@ -10,6 +12,7 @@ const settingDocumentToDto = (setting: SettingDocument): SettingDto => { type, label, description, + group, }; }; diff --git a/packages/api/src/settings/types.ts b/packages/api/src/settings/types.ts index 903aeaed5..33e542c69 100644 --- a/packages/api/src/settings/types.ts +++ b/packages/api/src/settings/types.ts @@ -1,5 +1,11 @@ import mongoose from 'mongoose'; +export enum SettingGroup { + APPLICATION, + PERIOD_DEFAULT, + DISCORD, +} + export interface Setting { key: string; value: string; @@ -7,7 +13,7 @@ export interface Setting { type: string; label: string; description?: string; - periodOverridable: boolean; + group: SettingGroup; } export interface SettingDocument extends Setting, mongoose.Document {} @@ -20,6 +26,7 @@ export interface SettingDto { type: string; label: string; description?: string; + group: SettingGroup; } export interface SettingSetInput { diff --git a/packages/frontend/src/components/form/TextareaInput.tsx b/packages/frontend/src/components/form/TextareaInput.tsx index 6517800cb..90f52e018 100644 --- a/packages/frontend/src/components/form/TextareaInput.tsx +++ b/packages/frontend/src/components/form/TextareaInput.tsx @@ -15,7 +15,8 @@ const TextareaInput = ( id={name} {...input} autoComplete="off" - className="block w-full resize-y " + className="block w-full resize-y" + rows={4} /> {apiResponse && ( diff --git a/packages/frontend/src/navigation/Nav.tsx b/packages/frontend/src/navigation/Nav.tsx index 1943b5fd6..8f1499524 100644 --- a/packages/frontend/src/navigation/Nav.tsx +++ b/packages/frontend/src/navigation/Nav.tsx @@ -65,7 +65,11 @@ export default function Nav(): JSX.Element { to="/eventlogs" /> - + diff --git a/packages/frontend/src/navigation/NavItem.tsx b/packages/frontend/src/navigation/NavItem.tsx index f563df978..e156ef154 100644 --- a/packages/frontend/src/navigation/NavItem.tsx +++ b/packages/frontend/src/navigation/NavItem.tsx @@ -13,7 +13,7 @@ const NavItem = ({ icon, description, to }: NavProps): JSX.Element => { - `relative px-4 py-1 cursor-pointer mr-[1px] no-underline flex items-center text-black ${ + `relative px-4 py-1 cursor-pointer no-underline flex items-center text-black ${ isActive ? ' bg-gray-200' : ' hover:bg-gray-100' }` } diff --git a/packages/frontend/src/pages/Settings/SettingsPage.tsx b/packages/frontend/src/pages/Settings/SettingsPage.tsx index 5e24d6576..da36e080a 100644 --- a/packages/frontend/src/pages/Settings/SettingsPage.tsx +++ b/packages/frontend/src/pages/Settings/SettingsPage.tsx @@ -1,23 +1,76 @@ +import { SettingGroup } from 'api/dist/settings/types'; import BreadCrumb from '@/components/BreadCrumb'; import { faCogs } from '@fortawesome/free-solid-svg-icons'; import React from 'react'; import SettingsForm from '../../components/settings/SettingsForm'; import { AllSettings, useSetSetting } from '@/model/settings'; import { useRecoilValue } from 'recoil'; +import NavItem from '@/navigation/NavItem'; +import { Redirect, Route, Switch, useRouteMatch } from 'react-router-dom'; -const SettingsPage = (): JSX.Element => { +const SettingsPage = (): JSX.Element | null => { const settings = useRecoilValue(AllSettings); const { setSetting } = useSetSetting(); + const { path, url } = useRouteMatch(); + + if (!settings) return null; + + const applicationSettings = settings.filter( + (s) => s.group === SettingGroup.APPLICATION + ); + const periodDefaultSettings = settings.filter( + (s) => s.group === SettingGroup.PERIOD_DEFAULT + ); + const discordSettings = settings.filter( + (s) => s.group === SettingGroup.DISCORD + ); return ( -
+
-
-

Settings

- - - +
+
+
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
); diff --git a/yarn.lock b/yarn.lock index d55b7ee02..24d6c3b6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4683,7 +4683,7 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:4.1.1, ansi-colors@npm:^4.1.1": +"ansi-colors@npm:4.1.1": version: 4.1.1 resolution: "ansi-colors@npm:4.1.1" checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 @@ -4708,20 +4708,6 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.0 - resolution: "ansi-regex@npm:4.1.0" - checksum: 97aa4659538d53e5e441f5ef2949a3cffcb838e57aeaad42c4194e9d7ddb37246a6526c4ca85d3940a9d1e19b11cc2e114530b54c9d700c8baf163c31779baf8 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -4736,14 +4722,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^2.2.1": - version: 2.2.1 - resolution: "ansi-styles@npm:2.2.1" - checksum: ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -5502,22 +5481,6 @@ __metadata: languageName: node linkType: hard -"boxen@npm:^4.2.0": - version: 4.2.0 - resolution: "boxen@npm:4.2.0" - dependencies: - ansi-align: ^3.0.0 - camelcase: ^5.3.1 - chalk: ^3.0.0 - cli-boxes: ^2.2.0 - string-width: ^4.1.0 - term-size: ^2.1.0 - type-fest: ^0.8.1 - widest-line: ^3.1.0 - checksum: ce2b565a2e44b33d11336155675cf4f7f0e13dbf7412928845aefd6a2cf65e0da2dbb0a2cb198b7620a2ae714416a2eb710926b780f15d19f6250a19633b29af - languageName: node - linkType: hard - "boxen@npm:^5.0.0": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -5852,19 +5815,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^1.1.1": - version: 1.1.3 - resolution: "chalk@npm:1.1.3" - dependencies: - ansi-styles: ^2.2.1 - escape-string-regexp: ^1.0.2 - has-ansi: ^2.0.0 - strip-ansi: ^3.0.0 - supports-color: ^2.0.0 - checksum: 9d2ea6b98fc2b7878829eec223abcf404622db6c48396a9b9257f6d0ead2acf18231ae368d6a664a83f272b0679158da12e97b5229f794939e555cc574478acd - languageName: node - linkType: hard - "chalk@npm:^2.0.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -5876,16 +5826,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 - languageName: node - linkType: hard - "chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -5945,7 +5885,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.5.3, chokidar@npm:^3.4.2, chokidar@npm:^3.5.0, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": +"chokidar@npm:3.5.3, chokidar@npm:^3.4.2, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -6027,7 +5967,7 @@ __metadata: languageName: node linkType: hard -"cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": +"cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585 @@ -6057,17 +5997,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^5.0.0": - version: 5.0.0 - resolution: "cliui@npm:5.0.0" - dependencies: - string-width: ^3.1.0 - strip-ansi: ^5.2.0 - wrap-ansi: ^5.1.0 - checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 - languageName: node - linkType: hard - "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -6385,25 +6314,6 @@ __metadata: languageName: node linkType: hard -"connect-livereload@npm:^0.6.0": - version: 0.6.1 - resolution: "connect-livereload@npm:0.6.1" - checksum: a0d2d8ca311be067108b229c8c918fb9ba18c8e72004a085b596cc6567b135a771db0cae83a2093e965696d5cc0688124b105d5ffb41b29311d4fadd344eef9f - languageName: node - linkType: hard - -"connect@npm:^3.6.0": - version: 3.7.0 - resolution: "connect@npm:3.7.0" - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: ~1.3.3 - utils-merge: 1.0.1 - checksum: 96e1c4effcf219b065c7823e57351c94366d2e2a6952fa95e8212bffb35c86f1d5a3f9f6c5796d4cd3a5fdda628368b1c3cc44bf19c66cfd68fe9f9cab9177e2 - languageName: node - linkType: hard - "console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -6552,18 +6462,6 @@ __metadata: languageName: node linkType: hard -"cp-file@npm:^7.0.0": - version: 7.0.0 - resolution: "cp-file@npm:7.0.0" - dependencies: - graceful-fs: ^4.1.2 - make-dir: ^3.0.0 - nested-error-stacks: ^2.0.0 - p-event: ^4.1.0 - checksum: dd60ed8d865d25a69548e15b21dd0d2fc66f10371e4970aa21b626a7578ebf419f44f386977ed3b3726c07401d4a64ee679cf1da566d8f66f01e9a359b85201f - languageName: node - linkType: hard - "craco-alias@npm:^3.0.1": version: 3.0.1 resolution: "craco-alias@npm:3.0.1" @@ -6578,30 +6476,6 @@ __metadata: languageName: node linkType: hard -"cross-env@npm:5.0.5": - version: 5.0.5 - resolution: "cross-env@npm:5.0.5" - dependencies: - cross-spawn: ^5.1.0 - is-windows: ^1.0.0 - bin: - cross-env: dist/bin/cross-env.js - cross-env-shell: dist/bin/cross-env-shell.js - checksum: 232ff7c8fa2f9cee3ebf31f73bc7fbd329a674a9d02edeb503276e77c8571a454e55fc104954363fcc3b433934405f8326ae02031831a5dd80f18e0eed96d7de - languageName: node - linkType: hard - -"cross-spawn@npm:^5.1.0": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" - dependencies: - lru-cache: ^4.0.1 - shebang-command: ^1.2.0 - which: ^1.2.9 - checksum: 726939c9954fc70c20e538923feaaa33bebc253247d13021737c3c7f68cdc3e0a57f720c0fe75057c0387995349f3f12e20e9bfdbf12274db28019c7ea4ec166 - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -7414,55 +7288,7 @@ __metadata: languageName: node linkType: hard -"docs@workspace:packages/docs": - version: 0.0.0-use.local - resolution: "docs@workspace:packages/docs" - dependencies: - cross-env: 5.0.5 - docsify-cli: ^4.4.3 - languageName: unknown - linkType: soft - -"docsify-cli@npm:^4.4.3": - version: 4.4.3 - resolution: "docsify-cli@npm:4.4.3" - dependencies: - chalk: ^2.4.2 - connect: ^3.6.0 - connect-livereload: ^0.6.0 - cp-file: ^7.0.0 - docsify: ^4.12.1 - docsify-server-renderer: ">=4.10.0" - enquirer: ^2.3.6 - fs-extra: ^8.1.0 - get-port: ^5.0.0 - livereload: ^0.9.1 - lru-cache: ^5.1.1 - open: ^6.4.0 - serve-static: ^1.12.1 - update-notifier: ^4.1.0 - yargonaut: ^1.1.2 - yargs: ^14.2.0 - bin: - docsify: bin/docsify - checksum: 9e662c071b2ec54e3f4fe38587f4c484026bacf826c953b0e89802079a4eca4ce527679f869997cece600ab25cb76b0c182651fd208e7964300b28adfa8b65af - languageName: node - linkType: hard - -"docsify-server-renderer@npm:>=4.10.0": - version: 4.12.3 - resolution: "docsify-server-renderer@npm:4.12.3" - dependencies: - debug: ^4.3.3 - docsify: ^4.12.2 - dompurify: ^2.3.2 - node-fetch: ^2.6.6 - resolve-pathname: ^3.0.0 - checksum: 8b897f834104a706a2bea86971c94f3c89d4c1ffb4b0515d906bb5d4f3c2e7db5ed1ea2d653489d5c65bccfa9aef3e5f13899af4898a1ecc759e9db21e116b2f - languageName: node - linkType: hard - -"docsify@npm:^4.12.1, docsify@npm:^4.12.2": +"docsify@npm:^4.12.2": version: 4.12.2 resolution: "docsify@npm:4.12.2" dependencies: @@ -7568,7 +7394,7 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^2.3.1, dompurify@npm:^2.3.2": +"dompurify@npm:^2.3.1": version: 2.3.6 resolution: "dompurify@npm:2.3.6" checksum: 4b2bbf6bc68ebd776aec4a533cef74a5ae30391eed528f3df748af71da318afdc298b6f40449bef093b7454ffd2ae82656636560474de5a3b34316b762c85b12 @@ -7728,13 +7554,6 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^7.0.1": - version: 7.0.3 - resolution: "emoji-regex@npm:7.0.3" - checksum: 9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e - languageName: node - linkType: hard - "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -7791,15 +7610,6 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.6": - version: 2.3.6 - resolution: "enquirer@npm:2.3.6" - dependencies: - ansi-colors: ^4.1.1 - checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 - languageName: node - linkType: hard - "entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -7932,7 +7742,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": +"escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 @@ -8742,13 +8552,6 @@ __metadata: languageName: node linkType: hard -"figlet@npm:^1.1.1": - version: 1.5.2 - resolution: "figlet@npm:1.5.2" - checksum: cc860391669b44e119871d589e09a2814aa86351726a5791e0d3e2d098e4fc37171c85fcfed13f4e9000995bd004dc6dbf848da5fe458cf1477e776b7318986f - languageName: node - linkType: hard - "figures@npm:^3.0.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -8832,7 +8635,7 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.1.2, finalhandler@npm:~1.1.2": +"finalhandler@npm:~1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" dependencies: @@ -9137,17 +8940,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -9289,13 +9081,6 @@ __metadata: languageName: node linkType: hard -"get-port@npm:^5.0.0": - version: 5.1.1 - resolution: "get-port@npm:5.1.1" - checksum: 0162663ffe5c09e748cd79d97b74cd70e5a5c84b760a475ce5767b357fb2a57cb821cee412d646aa8a156ed39b78aab88974eddaa9e5ee926173c036c0713787 - languageName: node - linkType: hard - "get-stream@npm:^4.1.0": version: 4.1.0 resolution: "get-stream@npm:4.1.0" @@ -9405,15 +9190,6 @@ __metadata: languageName: node linkType: hard -"global-dirs@npm:^2.0.1": - version: 2.1.0 - resolution: "global-dirs@npm:2.1.0" - dependencies: - ini: 1.3.7 - checksum: f80b74032c0359a6af7f37d153b8ced67710135ed7ab45b03efe688f5792ef859b660561beeb79ecce3106071c2547196c0971dfecdb2332139892129487233d - languageName: node - linkType: hard - "global-dirs@npm:^3.0.0": version: 3.0.0 resolution: "global-dirs@npm:3.0.0" @@ -9568,15 +9344,6 @@ __metadata: languageName: node linkType: hard -"has-ansi@npm:^2.0.0": - version: 2.0.0 - resolution: "has-ansi@npm:2.0.0" - dependencies: - ansi-regex: ^2.0.0 - checksum: 1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec - languageName: node - linkType: hard - "has-bigints@npm:^1.0.1": version: 1.0.1 resolution: "has-bigints@npm:1.0.1" @@ -10158,13 +9925,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:1.3.7": - version: 1.3.7 - resolution: "ini@npm:1.3.7" - checksum: f8f3801e8eb039f9e03cdc27ceb494a7ac6e6ca7b2dd8394a9ef97ed5ae66930fadefd5ec908e41e4b103d3c9063b5788d47de5e8e892083c7a67b489f3b962d - languageName: node - linkType: hard - "ini@npm:2.0.0": version: 2.0.0 resolution: "ini@npm:2.0.0" @@ -10433,13 +10193,6 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -10472,16 +10225,6 @@ __metadata: languageName: node linkType: hard -"is-installed-globally@npm:^0.3.1": - version: 0.3.2 - resolution: "is-installed-globally@npm:0.3.2" - dependencies: - global-dirs: ^2.0.1 - is-path-inside: ^3.0.1 - checksum: 7f7489ae3026cc3b9f61426108d5911c864ac545bc90ef46e2eda4461c34a1f287a64f765895893398f0769235c59e63f25283c939c661bfe9be5250b1ed99cb - languageName: node - linkType: hard - "is-installed-globally@npm:^0.4.0": version: 0.4.0 resolution: "is-installed-globally@npm:0.4.0" @@ -10520,13 +10263,6 @@ __metadata: languageName: node linkType: hard -"is-npm@npm:^4.0.0": - version: 4.0.0 - resolution: "is-npm@npm:4.0.0" - checksum: c0d1550266c5e6fa35c1c1063ccd60fde9a5235686551ca0b1fc54ac10dd021911e2466fbee3c328f0aee1ea2ddb33b8034c062538b064dc32f93ad885ba54f8 - languageName: node - linkType: hard - "is-npm@npm:^5.0.0": version: 5.0.0 resolution: "is-npm@npm:5.0.0" @@ -10580,7 +10316,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.1, is-path-inside@npm:^3.0.2": +"is-path-inside@npm:^3.0.2": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -10696,20 +10432,13 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:^1.0.0, is-windows@npm:^1.0.2": +"is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 languageName: node linkType: hard -"is-wsl@npm:^1.1.0": - version: 1.1.0 - resolution: "is-wsl@npm:1.1.0" - checksum: ea157d232351e68c92bd62fc541771096942fe72f69dff452dd26dcc31466258c570a3b04b8cda2e01cd2968255b02951b8670d08ea4ed76d6b1a646061ac4fe - languageName: node - linkType: hard - "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -11579,18 +11308,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.6 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -11766,7 +11483,7 @@ __metadata: languageName: node linkType: hard -"latest-version@npm:^5.0.0, latest-version@npm:^5.1.0": +"latest-version@npm:^5.1.0": version: 5.1.0 resolution: "latest-version@npm:5.1.0" dependencies: @@ -11816,27 +11533,6 @@ __metadata: languageName: node linkType: hard -"livereload-js@npm:^3.3.1": - version: 3.3.3 - resolution: "livereload-js@npm:3.3.3" - checksum: 802dec07d2deb15ab1377196104676e4daa6aa4947e0d8f68b7248e3a2bc874ff7a80d59dc3f2d965b28be62fa198fecd084ecf5728a0fcfda55f1cd1ea21712 - languageName: node - linkType: hard - -"livereload@npm:^0.9.1": - version: 0.9.3 - resolution: "livereload@npm:0.9.3" - dependencies: - chokidar: ^3.5.0 - livereload-js: ^3.3.1 - opts: ">= 1.2.0" - ws: ^7.4.3 - bin: - livereload: bin/livereload.js - checksum: c5d62a974f7206bad7f2f49f64efa28817132b3528d24eff5940ee392ca32464bb8a546fa6205bc31b372feee5ccf223ce440c70e765c2ae8955d1108a0a66d8 - languageName: node - linkType: hard - "loader-runner@npm:^4.2.0": version: 4.2.0 resolution: "loader-runner@npm:4.2.0" @@ -12076,25 +11772,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^4.0.1": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: ^1.0.2 - yallist: ^2.1.2 - checksum: 4bb4b58a36cd7dc4dcec74cbe6a8f766a38b7426f1ff59d4cf7d82a2aa9b9565cd1cb98f6ff60ce5cd174524868d7bc9b7b1c294371851356066ca9ac4cf135a - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: ^3.0.2 - checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -13103,13 +12780,6 @@ __metadata: languageName: node linkType: hard -"nested-error-stacks@npm:^2.0.0": - version: 2.1.0 - resolution: "nested-error-stacks@npm:2.1.0" - checksum: 206ee736f9eb83489cc093d43e7d3024255ec93c66a31eaee58ca14d5ad9d925d813494725dcf5dec264e70cd8430167b7f82a2d00b0dd099f83c78d9ca650fd - languageName: node - linkType: hard - "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -13129,7 +12799,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.5, node-fetch@npm:^2.6.6": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.5": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -13527,15 +13197,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^6.4.0": - version: 6.4.0 - resolution: "open@npm:6.4.0" - dependencies: - is-wsl: ^1.1.0 - checksum: e5037facf3e03ed777537db3e2511ada37f351c4394e1dadccf9cac11d63b28447ae8b495b7b138659910fd78d918bafed546e47163673c4a4e43dbb5ac53c5d - languageName: node - linkType: hard - "open@npm:^8.0.9, open@npm:^8.4.0": version: 8.4.0 resolution: "open@npm:8.4.0" @@ -13584,13 +13245,6 @@ __metadata: languageName: node linkType: hard -"opts@npm:>= 1.2.0": - version: 2.0.2 - resolution: "opts@npm:2.0.2" - checksum: 9389c32a4df53bedb6142181c83e6d05d88bc564b813caf965d94df214b479ae3bbd91fe8f4c291851236caae289db479f6c09389e969eb8fbd7c78cac7b5311 - languageName: node - linkType: hard - "ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -13622,22 +13276,6 @@ __metadata: languageName: node linkType: hard -"p-event@npm:^4.1.0": - version: 4.2.0 - resolution: "p-event@npm:4.2.0" - dependencies: - p-timeout: ^3.1.0 - checksum: 8a3588f7a816a20726a3262dfeee70a631e3997e4773d23219176333eda55cce9a76219e3d2b441b331eb746e14fdb381eb2694ab9ff2fcf87c846462696fe89 - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 - languageName: node - linkType: hard - "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -13729,15 +13367,6 @@ __metadata: languageName: node linkType: hard -"p-timeout@npm:^3.1.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: ^1.0.0 - checksum: 3dd0eaa048780a6f23e5855df3dd45c7beacff1f820476c1d0d1bcd6648e3298752ba2c877aa1c92f6453c7dd23faaf13d9f5149fc14c0598a142e2c5e8d649c - languageName: node - linkType: hard - "p-try@npm:^1.0.0": version: 1.0.0 resolution: "p-try@npm:1.0.0" @@ -13795,13 +13424,6 @@ __metadata: languageName: node linkType: hard -"parent-require@npm:^1.0.0": - version: 1.0.0 - resolution: "parent-require@npm:1.0.0" - checksum: 91ecef2c8e0ecc06a7d68ebdfccec9cb8b34a7144cccda0141273c8871d4dd05856fe13b17ae1e1a32bfd769143671a6dbd2ad7ee72f55d1cb8e588dc60a8f4c - languageName: node - linkType: hard - "parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -15035,13 +14657,6 @@ __metadata: languageName: node linkType: hard -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 - languageName: node - linkType: hard - "psl@npm:^1.1.33": version: 1.8.0 resolution: "psl@npm:1.8.0" @@ -15073,7 +14688,7 @@ __metadata: languageName: node linkType: hard -"pupa@npm:^2.0.1, pupa@npm:^2.1.1": +"pupa@npm:^2.1.1": version: 2.1.1 resolution: "pupa@npm:2.1.1" dependencies: @@ -16296,7 +15911,7 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.14.2, serve-static@npm:^1.12.1": +"serve-static@npm:1.14.2": version: 1.14.2 resolution: "serve-static@npm:1.14.2" dependencies: @@ -16354,15 +15969,6 @@ __metadata: languageName: unknown linkType: soft -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: ^1.0.0 - checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -16372,13 +15978,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -16805,17 +16404,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^3.0.0, string-width@npm:^3.1.0": - version: 3.1.0 - resolution: "string-width@npm:3.1.0" - dependencies: - emoji-regex: ^7.0.1 - is-fullwidth-code-point: ^2.0.0 - strip-ansi: ^5.1.0 - checksum: 57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 - languageName: node - linkType: hard - "string.prototype.matchall@npm:^4.0.6": version: 4.0.6 resolution: "string.prototype.matchall@npm:4.0.6" @@ -16881,24 +16469,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^3.0.0": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: ^2.0.0 - checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 - languageName: node - linkType: hard - -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" - dependencies: - ansi-regex: ^4.1.0 - checksum: bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 - languageName: node - linkType: hard - "strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -17034,13 +16604,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^2.0.0": - version: 2.0.0 - resolution: "supports-color@npm:2.0.0" - checksum: 602538c5812b9006404370b5a4b885d3e2a1f6567d314f8b4a41974ffe7d08e525bf92ae0f9c7030e3b4c78e4e34ace55d6a67a74f1571bc205959f5972f88f0 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0, supports-color@npm:^5.4.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -17258,13 +16821,6 @@ __metadata: languageName: node linkType: hard -"term-size@npm:^2.1.0": - version: 2.2.1 - resolution: "term-size@npm:2.2.1" - checksum: 1ed981335483babc1e8206f843e06bd2bf89b85f0bf5a9a9d928033a0fcacdba183c03ba7d91814643015543ba002f1339f7112402a21da8f24b6c56b062a5a9 - languageName: node - linkType: hard - "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -17693,7 +17249,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": +"type-fest@npm:^0.8.0": version: 0.8.1 resolution: "type-fest@npm:0.8.1" checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 @@ -17850,7 +17406,7 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0, universalify@npm:^0.1.2": +"universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff @@ -17895,27 +17451,6 @@ __metadata: languageName: node linkType: hard -"update-notifier@npm:^4.1.0": - version: 4.1.3 - resolution: "update-notifier@npm:4.1.3" - dependencies: - boxen: ^4.2.0 - chalk: ^3.0.0 - configstore: ^5.0.1 - has-yarn: ^2.1.0 - import-lazy: ^2.1.0 - is-ci: ^2.0.0 - is-installed-globally: ^0.3.1 - is-npm: ^4.0.0 - is-yarn-global: ^0.3.0 - latest-version: ^5.0.0 - pupa: ^2.0.1 - semver-diff: ^3.1.1 - xdg-basedir: ^4.0.0 - checksum: 67652056e6a2634881e67ac91be4524262bd0bcba98ef71107289adec33e21b72cca0a1a5fbcd9b546f40dff20fa38ebd36ef846629a7f8d97c602221ae4cfc1 - languageName: node - linkType: hard - "update-notifier@npm:^5.1.0": version: 5.1.0 resolution: "update-notifier@npm:5.1.0" @@ -18447,7 +17982,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9, which@npm:^1.3.1": +"which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -18695,17 +18230,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^5.1.0": - version: 5.1.0 - resolution: "wrap-ansi@npm:5.1.0" - dependencies: - ansi-styles: ^3.2.0 - string-width: ^3.0.0 - strip-ansi: ^5.0.0 - checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae - languageName: node - linkType: hard - "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -18762,7 +18286,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.4.3, ws@npm:^7.4.6": +"ws@npm:^7.4.6": version: 7.5.7 resolution: "ws@npm:7.5.7" peerDependencies: @@ -18834,20 +18358,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 9ba99409209f485b6fcb970330908a6d41fa1c933f75e08250316cce19383179a6b70a7e0721b89672ebb6199cc377bf3e432f55100da6a7d6e11902b0a642cb - languageName: node - linkType: hard - -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d - languageName: node - linkType: hard - "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -18862,17 +18372,6 @@ __metadata: languageName: node linkType: hard -"yargonaut@npm:^1.1.2": - version: 1.1.4 - resolution: "yargonaut@npm:1.1.4" - dependencies: - chalk: ^1.1.1 - figlet: ^1.1.1 - parent-require: ^1.0.0 - checksum: d0ffc310a761782ae38022d88e13e84486080b2be2c43e8d5cbb987e40c3d2dd18274c39ce34e05d6bc312a4e768cd4c469d338ed60409adf6f4d870017c63a3 - languageName: node - linkType: hard - "yargs-parser@npm:20.2.4": version: 20.2.4 resolution: "yargs-parser@npm:20.2.4" @@ -18880,16 +18379,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^15.0.1": - version: 15.0.3 - resolution: "yargs-parser@npm:15.0.3" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: 06611c1893fa9f1c25ae79df3c6e2edbac7c8d75257a4b55b8432cbc87ee03eda86bea0537f65b4b8a0d9684c83fa6e9ef61ef720a1e5cc8a9aa6893b54ee4c3 - languageName: node - linkType: hard - "yargs-parser@npm:^18.1.2": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" @@ -18941,25 +18430,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^14.2.0": - version: 14.2.3 - resolution: "yargs@npm:14.2.3" - dependencies: - cliui: ^5.0.0 - decamelize: ^1.2.0 - find-up: ^3.0.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^3.0.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^15.0.1 - checksum: 684fcb1896e6c873c31c09c5c16445d6253dfe505aa879cff56d49425f5bca44f2ab8d7a1c949f3b932ae8654128425e89770e5e2f2c3d816e5816b9eb6efb6f - languageName: node - linkType: hard - "yargs@npm:^15.0.2": version: 15.4.1 resolution: "yargs@npm:15.4.1"