From f9397be32d6c18afd77ca03aaa3babd1fb7f48cf Mon Sep 17 00:00:00 2001 From: Paul Mineev Date: Wed, 13 Jul 2022 11:23:29 -0700 Subject: [PATCH] workspaces --- .dockerignore | 3 +- .github/workflows/ci-frontend-size-limit.yml | 4 +- .github/workflows/ci-frontend.yml | 20 +- Dockerfile | 101 +- Dockerfile.artifacts | 39 +- Makefile | 4 +- frontend/.gitignore | 1 + frontend/.husky/post-commit | 2 + frontend/.husky/pre-commit | 5 +- frontend/.lintstagedrc.js | 15 +- frontend/{ => apps/remark42}/.babelrc.js | 0 frontend/{ => apps/remark42}/.eslintignore | 0 frontend/{ => apps/remark42}/.eslintrc.js | 0 frontend/{ => apps/remark42}/.nvmrc | 0 frontend/{ => apps/remark42}/.prettierignore | 0 frontend/{ => apps/remark42}/.prettierrc.js | 0 frontend/{ => apps/remark42}/.size-limit.js | 0 frontend/{ => apps/remark42}/.stylelintignore | 0 frontend/{ => apps/remark42}/.stylelintrc.js | 0 frontend/{ => apps/remark42}/README.md | 0 .../remark42}/app/__mocks__/fetch.ts | 0 .../remark42}/app/__mocks__/localstorage.ts | 0 .../{ => apps/remark42}/app/__stubs__/jwt.ts | 0 .../remark42}/app/__stubs__/remark-config.ts | 0 .../remark42}/app/__stubs__/static-config.ts | 0 .../remark42}/app/__stubs__/store.ts | 0 .../{ => apps/remark42}/app/__stubs__/svg.tsx | 0 .../{ => apps/remark42}/app/__stubs__/user.ts | 0 .../remark42}/app/assets/social/dev.svg | 0 .../remark42}/app/assets/social/facebook.svg | 0 .../app/assets/social/github-dark.svg | 0 .../app/assets/social/github-light.svg | 0 .../remark42}/app/assets/social/google.svg | 0 .../remark42}/app/assets/social/microsoft.svg | 0 .../remark42}/app/assets/social/patreon.svg | 0 .../remark42}/app/assets/social/telegram.svg | 0 .../remark42}/app/assets/social/twitter.svg | 0 .../remark42}/app/assets/social/yandex.svg | 0 .../app/common/__mocks__/constants.ts | 0 .../remark42}/app/common/accessibility.ts | 0 .../app/common/api.getLastComments.ts | 0 .../remark42}/app/common/api.test.ts | 0 .../{ => apps/remark42}/app/common/api.ts | 0 .../app/common/constants.config.test.ts | 0 .../remark42}/app/common/constants.config.ts | 0 .../remark42}/app/common/constants.ts | 0 .../{ => apps/remark42}/app/common/cookies.ts | 0 .../remark42}/app/common/copy.test.ts | 0 .../{ => apps/remark42}/app/common/copy.ts | 0 .../remark42}/app/common/fetcher.test.ts | 0 .../{ => apps/remark42}/app/common/fetcher.ts | 0 .../app/common/local-storage.test.ts | 0 .../remark42}/app/common/local-storage.ts | 0 .../remark42}/app/common/settings.ts | 0 .../remark42}/app/common/static-store.ts | 0 .../{ => apps/remark42}/app/common/types.ts | 0 .../__column/auth-panel__column.css | 0 .../auth-panel__readonly-label.css | 0 .../app/components/auth-panel/auth-panel.css | 0 .../auth-panel/auth-panel.module.css | 0 .../components/auth-panel/auth-panel.test.tsx | 0 .../app/components/auth-panel/auth-panel.tsx | 0 .../app/components/auth-panel/index.ts | 0 .../remark42}/app/components/auth/auth.api.ts | 0 .../app/components/auth/auth.hooks.ts | 0 .../app/components/auth/auth.messsages.ts | 0 .../app/components/auth/auth.module.css | 0 .../app/components/auth/auth.spec.tsx | 0 .../remark42}/app/components/auth/auth.tsx | 0 .../app/components/auth/auth.utils.ts | 0 .../auth/components/button.module.css | 0 .../app/components/auth/components/button.tsx | 0 .../auth/components/oauth.consts.ts | 0 .../auth/components/oauth.module.css | 0 .../components/auth/components/oauth.spec.tsx | 0 .../app/components/auth/components/oauth.tsx | 0 .../components/auth/components/oauth.utils.ts | 0 .../remark42}/app/components/auth/index.ts | 0 .../app/components/avatar/assets/ghost.svg | 0 .../app/components/avatar/avatar.module.css | 0 .../app/components/avatar/avatar.spec.tsx | 0 .../app/components/avatar/avatar.tsx | 0 .../remark42}/app/components/avatar/index.ts | 0 .../button/_kind/_link/button_kind_link.css | 0 .../_kind/_primary/button_kind_primary.css | 0 .../_secondary/button_kind_secondary.css | 0 .../button/_size/_large/button_size_large.css | 0 .../_size/_middle/button_size_middle.css | 0 .../button/_theme/_dark/button_theme_dark.css | 0 .../app/components/button/button.css | 0 .../app/components/button/button.tsx | 0 .../remark42}/app/components/button/index.ts | 0 .../__actions/comment-form__actions.css | 0 .../comment-form__button_type_preview.css | 0 .../_send/comment-form__button_type_send.css | 0 .../__button/comment-form__button.css | 0 .../comment-form__control-panel.css | 0 .../__counter/comment-form__counter.css | 0 .../__error/comment-form__error.css | 0 .../comment-form__field-wrapper.css | 0 .../__field/comment-form__field.css | 0 .../comment-form__markdown-link.css | 0 .../comment-form__markdown-toolbar.css | 0 .../__markdown/comment-form__markdown.css | 0 .../comment-form__preview-wrapper.css | 0 .../__preview/comment-form__preview.css | 0 .../__rss-link/comment-form__rss-link.css | 0 .../comment-form/__rss/comment-form__rss.css | 0 .../comment-form__subscribe-by-email.css | 0 .../comment-form__subscribe-by-email.test.tsx | 0 .../comment-form__subscribe-by-email.tsx | 0 .../__subscribe-by-email/index.ts | 0 .../comment-form__subscribe-by-rss.css | 0 .../comment-form__subscribe-by-rss.test.tsx | 0 .../comment-form__subscribe-by-rss.tsx | 0 .../comment-form/__subscribe-by-rss/index.ts | 0 .../_simple/comment-form_simple.css | 0 .../_theme/_dark/comment-form_theme_dark.css | 0 .../_light/comment-form_theme_light.css | 0 .../components/comment-form/comment-form.css | 0 .../comment-form/comment-form.persist.ts | 0 .../comment-form/comment-form.spec.tsx | 0 .../components/comment-form/comment-form.tsx | 0 .../app/components/comment-form/index.ts | 0 .../markdown-toolbar-icons/bold-icon.tsx | 0 .../markdown-toolbar-icons/code-icon.tsx | 0 .../markdown-toolbar-icons/header-icon.tsx | 0 .../markdown-toolbar-icons/image-icon.tsx | 0 .../markdown-toolbar-icons/italic-icon.tsx | 0 .../markdown-toolbar-icons/link-icon.tsx | 0 .../ordered-list-icon.tsx | 0 .../markdown-toolbar-icons/quote-icon.tsx | 0 .../unordered-list-icon.tsx | 0 .../comment-form/markdown-toolbar.tsx | 0 .../comment-form/text-expander.module.css | 0 .../components/comment-form/text-expander.tsx | 0 .../comment/__body/comment__body.css | 0 .../comment/__info/comment__info.css | 0 .../comment/__input/comment__input.css | 0 .../comment__link-to-parent__focused.svg | 0 .../comment__link-to-parent.css | 0 .../comment__link-to-parent.svg | 0 .../comment/__status/comment__status.css | 0 .../comment/__text/comment__text.css | 0 .../comment/__time/comment__time.css | 0 .../comment/__user-id/comment__user-id.css | 0 .../comment/__username/comment__username.css | 0 .../comment/_collapsed/comment_collapsed.css | 0 .../comment/_editing/comment_editing.css | 0 .../comment/_replying/comment_replying.css | 0 .../_theme/_dark/comment_theme_dark.css | 0 .../_theme/_light/comment_theme_light.css | 0 .../comment/_useless/comment_useless.css | 0 .../_view/_admin/comment_view_admin.css | 0 .../_view/_preview/comment_view_preview.css | 0 .../comment/_view/_user/comment_view_user.css | 0 .../comment/comment-actions.module.css | 0 .../comment/comment-actions.spec.tsx | 0 .../components/comment/comment-actions.tsx | 0 .../comment/comment-votes.module.css | 0 .../components/comment/comment-votes.spec.tsx | 0 .../app/components/comment/comment-votes.tsx | 0 .../app/components/comment/comment.css | 0 .../app/components/comment/comment.module.css | 0 .../app/components/comment/comment.test.tsx | 0 .../app/components/comment/comment.tsx | 0 .../components/comment/connected-comment.tsx | 0 .../comment/getBlockingDurations.ts | 0 .../remark42}/app/components/comment/index.ts | 0 .../app/components/comment/styles.ts | 0 .../remark42}/app/components/countdown.tsx | 0 .../dropdown/__content/dropdown__content.css | 0 .../dropdown/__item/dropdown__item.css | 0 .../dropdown/__item/dropdown__item.tsx | 0 .../app/components/dropdown/__item/index.ts | 0 .../dropdown/__items/dropdown__items.css | 0 .../dropdown/__title/dropdown__title.css | 0 .../dropdown/_active/dropdown_active.css | 0 .../_theme/_dark/dropdown_theme_dark.css | 0 .../_theme/_light/dropdown_theme_light.css | 0 .../app/components/dropdown/dropdown.css | 0 .../app/components/dropdown/dropdown.tsx | 0 .../app/components/dropdown/index.ts | 0 .../icon-button/icon-button.module.css | 0 .../components/icon-button/icon-button.tsx | 0 .../app/components/icons/arrow.spec.tsx | 0 .../remark42}/app/components/icons/arrow.tsx | 0 .../remark42}/app/components/icons/cross.tsx | 0 .../app/components/icons/signout.tsx | 0 .../components/icons/verification.spec.tsx | 0 .../app/components/icons/verification.tsx | 0 .../remark42}/app/components/input/index.ts | 0 .../app/components/input/input.module.css | 0 .../remark42}/app/components/input/input.tsx | 0 .../__item/list-comments__item.css | 0 .../app/components/list-comments/index.ts | 0 .../list-comments/list-comments.tsx | 0 .../remark42}/app/components/preloader.tsx | 0 .../components/counter/counter.module.css | 0 .../components/counter/counter.spec.tsx | 0 .../profile/components/counter/counter.tsx | 0 .../profile/components/counter/index.ts | 0 .../remark42}/app/components/profile/index.ts | 0 .../app/components/profile/profile.module.css | 0 .../app/components/profile/profile.spec.tsx | 0 .../app/components/profile/profile.tsx | 0 .../_theme/_dark/raw-content_theme_dark.css | 0 .../_theme/_light/raw-content_theme_light.css | 0 .../components/raw-content/code-highlight.css | 0 .../app/components/raw-content/index.ts | 0 .../components/raw-content/raw-content.css | 0 .../root/__copyright/root__copyright.css | 0 .../components/root/__input/root__input.css | 0 .../__pinned-comment/root__pinned-comment.css | 0 .../root__pinned-comments.css | 0 .../root/__preloader/root__preloader.css | 0 .../components/root/__thread/root__thread.css | 0 .../root/__threads/root__threads.css | 0 .../root/_theme/_dark/root_theme_dark.css | 0 .../root/_theme/_light/root_theme_light.css | 0 .../app/components/root/in-view/in-view.tsx | 0 .../remark42}/app/components/root/index.ts | 0 .../remark42}/app/components/root/root.css | 0 .../app/components/root/root.module.css | 0 .../remark42}/app/components/root/root.tsx | 0 .../remark42}/app/components/select/index.ts | 0 .../app/components/select/select.module.css | 0 .../app/components/select/select.spec.tsx | 0 .../app/components/select/select.tsx | 0 .../settings/__action/settings__action.css | 0 .../settings/__dimmed/settings__dimmed.css | 0 .../__invisible/settings__invisible.css | 0 .../settings/__list/settings__list.css | 0 .../settings/__section/settings__section.css | 0 .../settings/__user-id/settings__user-id.css | 0 .../__username/settings__username.css | 0 .../_theme/_dark/settings_theme_dark.css | 0 .../_theme/_light/settings_theme_light.css | 0 .../app/components/settings/index.ts | 0 .../app/components/settings/settings.css | 0 .../app/components/settings/settings.tsx | 0 .../app/components/sort-picker.spec.tsx | 0 .../remark42}/app/components/sort-picker.tsx | 0 .../app/components/spinner/spinner.module.css | 0 .../app/components/spinner/spinner.tsx | 0 .../app/components/textarea-autosize.tsx | 0 .../thread/__collapse/thread__collapse.css | 0 .../thread/_theme_dark/thread_theme_dark.css | 0 .../remark42}/app/components/thread/index.ts | 0 .../app/components/thread/thread.css | 0 .../app/components/thread/thread.tsx | 0 .../remark42}/app/components/tooltip/index.ts | 0 .../app/components/tooltip/tooltip.module.css | 0 .../app/components/tooltip/tooltip.spec.tsx | 0 .../app/components/tooltip/tooltip.tsx | 0 frontend/{ => apps/remark42}/app/counter.ts | 0 frontend/{ => apps/remark42}/app/deleteme.ts | 0 frontend/{ => apps/remark42}/app/embed.ts | 0 .../remark42}/app/hooks/useAction.ts | 0 .../{ => apps/remark42}/app/hooks/useTheme.ts | 0 .../{ => apps/remark42}/app/last-comments.tsx | 0 .../{ => apps/remark42}/app/locales/ar.json | 0 .../{ => apps/remark42}/app/locales/be.json | 0 .../{ => apps/remark42}/app/locales/bg.json | 0 .../{ => apps/remark42}/app/locales/bp.json | 0 .../{ => apps/remark42}/app/locales/de.json | 0 .../{ => apps/remark42}/app/locales/en.json | 0 .../{ => apps/remark42}/app/locales/es.json | 0 .../{ => apps/remark42}/app/locales/fi.json | 0 .../{ => apps/remark42}/app/locales/fr.json | 0 .../{ => apps/remark42}/app/locales/it.json | 0 .../{ => apps/remark42}/app/locales/ja.json | 0 .../{ => apps/remark42}/app/locales/ko.json | 0 .../{ => apps/remark42}/app/locales/pl.json | 0 .../{ => apps/remark42}/app/locales/ru.json | 0 .../{ => apps/remark42}/app/locales/tr.json | 0 .../{ => apps/remark42}/app/locales/ua.json | 0 .../{ => apps/remark42}/app/locales/vi.json | 0 .../{ => apps/remark42}/app/locales/zh.json | 0 frontend/{ => apps/remark42}/app/profile.ts | 0 frontend/{ => apps/remark42}/app/remark.tsx | 0 .../{ => apps/remark42}/app/store/actions.ts | 0 .../app/store/comments/actions.test.ts | 0 .../remark42}/app/store/comments/actions.ts | 0 .../remark42}/app/store/comments/getters.ts | 0 .../remark42}/app/store/comments/reducers.ts | 0 .../remark42}/app/store/comments/types.ts | 0 .../app/store/comments/utils.test.ts | 0 .../remark42}/app/store/comments/utils.ts | 0 .../{ => apps/remark42}/app/store/index.ts | 0 .../remark42}/app/store/post-info/actions.ts | 0 .../remark42}/app/store/post-info/reducers.ts | 0 .../remark42}/app/store/post-info/types.ts | 0 .../{ => apps/remark42}/app/store/reducers.ts | 0 .../remark42}/app/store/theme/actions.ts | 0 .../remark42}/app/store/theme/reducers.ts | 0 .../remark42}/app/store/theme/types.ts | 0 .../remark42}/app/store/thread/actions.ts | 0 .../remark42}/app/store/thread/getters.ts | 0 .../app/store/thread/reducers.test.ts | 0 .../remark42}/app/store/thread/reducers.ts | 0 .../remark42}/app/store/thread/types.ts | 0 .../remark42}/app/store/thread/utils.ts | 0 .../store/user/__stubs__/comments-store.json | 0 .../remark42}/app/store/user/actions.test.ts | 0 .../remark42}/app/store/user/actions.ts | 0 .../remark42}/app/store/user/reducers.test.ts | 0 .../remark42}/app/store/user/reducers.ts | 0 .../remark42}/app/store/user/types.ts | 0 .../app/styles/custom-properties.css | 0 .../{ => apps/remark42}/app/styles/global.css | 0 .../{ => apps/remark42}/app/tests/utils.tsx | 0 .../remark42}/app/typings/css-modules.d.ts | 0 .../remark42}/app/typings/enzyme.d.ts | 0 .../remark42}/app/typings/global.d.ts | 0 .../app/typings/jest-localstorage-mock.d.ts | 0 .../remark42}/app/typings/preact.d.ts | 0 .../{ => apps/remark42}/app/typings/svg.d.ts | 0 .../remark42}/app/utils/actionBinder.ts | 0 .../{ => apps/remark42}/app/utils/bench.ts | 0 .../app/utils/capitalize-first-letter.spec.ts | 0 .../app/utils/capitalize-first-letter.ts | 0 .../{ => apps/remark42}/app/utils/cmpRef.ts | 0 .../remark42}/app/utils/create-iframe.ts | 0 .../{ => apps/remark42}/app/utils/debounce.ts | 0 .../remark42}/app/utils/debug-node.ts | 0 .../remark42}/app/utils/derequire.ts | 0 .../{ => apps/remark42}/app/utils/email.ts | 0 .../remark42}/app/utils/errorUtils.ts | 0 .../app/utils/get-hidden-users.test.ts | 0 .../remark42}/app/utils/get-hidden-users.ts | 0 .../remark42}/app/utils/getLocale.ts | 0 .../remark42}/app/utils/is-object.spec.ts | 0 .../remark42}/app/utils/is-object.ts | 0 .../app/utils/isUserAnonymous.test.ts | 0 .../remark42}/app/utils/isUserAnonymous.ts | 0 .../{ => apps/remark42}/app/utils/jwt.test.ts | 0 frontend/{ => apps/remark42}/app/utils/jwt.ts | 0 .../remark42}/app/utils/loadLocale.ts | 0 .../remark42}/app/utils/parse-query.test.ts | 0 .../remark42}/app/utils/parse-query.ts | 0 .../remark42}/app/utils/post-message.ts | 0 .../remark42}/app/utils/replaceSelection.ts | 0 .../remark42}/app/utils/set-dom-props.ts | 0 .../remark42}/app/utils/shallowCompare.ts | 0 .../{ => apps/remark42}/app/utils/sleep.ts | 0 .../remark42}/app/utils/ttl-to-time.ts | 0 frontend/{ => apps/remark42}/codecov.yml | 0 frontend/{ => apps/remark42}/jest.config.ts | 0 frontend/{ => apps/remark42}/jest.setup.ts | 0 frontend/apps/remark42/package.json | 131 ++ frontend/{ => apps/remark42}/remark.image | Bin .../remark42}/tasks/checkTranslation.js | 0 .../remark42}/tasks/generateDictionary.js | 0 .../remark42}/tasks/getLocalePath.js | 0 .../remark42}/tasks/getSupportedLocales.js | 0 .../remark42}/tasks/getTranslationKeys.js | 0 .../remark42}/tasks/localeLoadTemplate.js | 0 .../remark42}/tasks/supportedLocales.json | 0 .../remark42}/templates/comments.ejs | 0 .../{ => apps/remark42}/templates/counter.ejs | 0 .../remark42}/templates/deleteme.ejs | 0 .../{ => apps/remark42}/templates/demo.ejs | 0 .../{ => apps/remark42}/templates/iframe.ejs | 0 .../remark42}/templates/last-comments.ejs | 0 .../remark42}/templates/markdown-help.html | 0 .../remark42}/templates/privacy.html | 0 frontend/{ => apps/remark42}/tsconfig.json | 0 .../{ => apps/remark42}/webpack.config.js | 0 frontend/package.json | 134 +- frontend/pnpm-lock.yaml | 1331 ++++++++--------- frontend/pnpm-workspace.yaml | 2 + 372 files changed, 877 insertions(+), 915 deletions(-) mode change 100644 => 100755 frontend/.husky/post-commit mode change 100644 => 100755 frontend/.husky/pre-commit rename frontend/{ => apps/remark42}/.babelrc.js (100%) rename frontend/{ => apps/remark42}/.eslintignore (100%) rename frontend/{ => apps/remark42}/.eslintrc.js (100%) rename frontend/{ => apps/remark42}/.nvmrc (100%) rename frontend/{ => apps/remark42}/.prettierignore (100%) rename frontend/{ => apps/remark42}/.prettierrc.js (100%) rename frontend/{ => apps/remark42}/.size-limit.js (100%) rename frontend/{ => apps/remark42}/.stylelintignore (100%) rename frontend/{ => apps/remark42}/.stylelintrc.js (100%) rename frontend/{ => apps/remark42}/README.md (100%) rename frontend/{ => apps/remark42}/app/__mocks__/fetch.ts (100%) rename frontend/{ => apps/remark42}/app/__mocks__/localstorage.ts (100%) rename frontend/{ => apps/remark42}/app/__stubs__/jwt.ts (100%) rename frontend/{ => apps/remark42}/app/__stubs__/remark-config.ts (100%) rename frontend/{ => apps/remark42}/app/__stubs__/static-config.ts (100%) rename frontend/{ => apps/remark42}/app/__stubs__/store.ts (100%) rename frontend/{ => apps/remark42}/app/__stubs__/svg.tsx (100%) rename frontend/{ => apps/remark42}/app/__stubs__/user.ts (100%) rename frontend/{ => apps/remark42}/app/assets/social/dev.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/facebook.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/github-dark.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/github-light.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/google.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/microsoft.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/patreon.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/telegram.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/twitter.svg (100%) rename frontend/{ => apps/remark42}/app/assets/social/yandex.svg (100%) rename frontend/{ => apps/remark42}/app/common/__mocks__/constants.ts (100%) rename frontend/{ => apps/remark42}/app/common/accessibility.ts (100%) rename frontend/{ => apps/remark42}/app/common/api.getLastComments.ts (100%) rename frontend/{ => apps/remark42}/app/common/api.test.ts (100%) rename frontend/{ => apps/remark42}/app/common/api.ts (100%) rename frontend/{ => apps/remark42}/app/common/constants.config.test.ts (100%) rename frontend/{ => apps/remark42}/app/common/constants.config.ts (100%) rename frontend/{ => apps/remark42}/app/common/constants.ts (100%) rename frontend/{ => apps/remark42}/app/common/cookies.ts (100%) rename frontend/{ => apps/remark42}/app/common/copy.test.ts (100%) rename frontend/{ => apps/remark42}/app/common/copy.ts (100%) rename frontend/{ => apps/remark42}/app/common/fetcher.test.ts (100%) rename frontend/{ => apps/remark42}/app/common/fetcher.ts (100%) rename frontend/{ => apps/remark42}/app/common/local-storage.test.ts (100%) rename frontend/{ => apps/remark42}/app/common/local-storage.ts (100%) rename frontend/{ => apps/remark42}/app/common/settings.ts (100%) rename frontend/{ => apps/remark42}/app/common/static-store.ts (100%) rename frontend/{ => apps/remark42}/app/common/types.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/__column/auth-panel__column.css (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/__readonly-label/auth-panel__readonly-label.css (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/auth-panel.css (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/auth-panel.module.css (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/auth-panel.test.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/auth-panel.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth-panel/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.api.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.hooks.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.messsages.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.module.css (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth/auth.utils.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/button.module.css (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/button.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/oauth.consts.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/oauth.module.css (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/oauth.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/oauth.tsx (100%) rename frontend/{ => apps/remark42}/app/components/auth/components/oauth.utils.ts (100%) rename frontend/{ => apps/remark42}/app/components/auth/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/avatar/assets/ghost.svg (100%) rename frontend/{ => apps/remark42}/app/components/avatar/avatar.module.css (100%) rename frontend/{ => apps/remark42}/app/components/avatar/avatar.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/avatar/avatar.tsx (100%) rename frontend/{ => apps/remark42}/app/components/avatar/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/button/_kind/_link/button_kind_link.css (100%) rename frontend/{ => apps/remark42}/app/components/button/_kind/_primary/button_kind_primary.css (100%) rename frontend/{ => apps/remark42}/app/components/button/_kind/_secondary/button_kind_secondary.css (100%) rename frontend/{ => apps/remark42}/app/components/button/_size/_large/button_size_large.css (100%) rename frontend/{ => apps/remark42}/app/components/button/_size/_middle/button_size_middle.css (100%) rename frontend/{ => apps/remark42}/app/components/button/_theme/_dark/button_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/button/button.css (100%) rename frontend/{ => apps/remark42}/app/components/button/button.tsx (100%) rename frontend/{ => apps/remark42}/app/components/button/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__actions/comment-form__actions.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__button/_type/_preview/comment-form__button_type_preview.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__button/_type/_send/comment-form__button_type_send.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__button/comment-form__button.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__control-panel/comment-form__control-panel.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__counter/comment-form__counter.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__error/comment-form__error.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__field-wrapper/comment-form__field-wrapper.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__field/comment-form__field.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__markdown-link/comment-form__markdown-link.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__markdown-toolbar/comment-form__markdown-toolbar.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__markdown/comment-form__markdown.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__preview-wrapper/comment-form__preview-wrapper.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__preview/comment-form__preview.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__rss-link/comment-form__rss-link.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__rss/comment-form__rss.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.test.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-email/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.test.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/__subscribe-by-rss/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/_simple/comment-form_simple.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/_theme/_dark/comment-form_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/_theme/_light/comment-form_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/comment-form.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/comment-form.persist.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/comment-form.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/comment-form.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/bold-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/code-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/header-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/image-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/italic-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/link-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/ordered-list-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/quote-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar-icons/unordered-list-icon.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/markdown-toolbar.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/text-expander.module.css (100%) rename frontend/{ => apps/remark42}/app/components/comment-form/text-expander.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/__body/comment__body.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__info/comment__info.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__input/comment__input.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__link-to-parent/_focused/comment__link-to-parent__focused.svg (100%) rename frontend/{ => apps/remark42}/app/components/comment/__link-to-parent/comment__link-to-parent.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__link-to-parent/comment__link-to-parent.svg (100%) rename frontend/{ => apps/remark42}/app/components/comment/__status/comment__status.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__text/comment__text.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__time/comment__time.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__user-id/comment__user-id.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/__username/comment__username.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_collapsed/comment_collapsed.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_editing/comment_editing.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_replying/comment_replying.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_theme/_dark/comment_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_theme/_light/comment_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_useless/comment_useless.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_view/_admin/comment_view_admin.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_view/_preview/comment_view_preview.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/_view/_user/comment_view_user.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-actions.module.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-actions.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-actions.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-votes.module.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-votes.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment-votes.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment.module.css (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment.test.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/comment.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/connected-comment.tsx (100%) rename frontend/{ => apps/remark42}/app/components/comment/getBlockingDurations.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/comment/styles.ts (100%) rename frontend/{ => apps/remark42}/app/components/countdown.tsx (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__content/dropdown__content.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__item/dropdown__item.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__item/dropdown__item.tsx (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__item/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__items/dropdown__items.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/__title/dropdown__title.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/_active/dropdown_active.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/_theme/_dark/dropdown_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/_theme/_light/dropdown_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/dropdown.css (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/dropdown.tsx (100%) rename frontend/{ => apps/remark42}/app/components/dropdown/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/icon-button/icon-button.module.css (100%) rename frontend/{ => apps/remark42}/app/components/icon-button/icon-button.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/arrow.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/arrow.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/cross.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/signout.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/verification.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/icons/verification.tsx (100%) rename frontend/{ => apps/remark42}/app/components/input/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/input/input.module.css (100%) rename frontend/{ => apps/remark42}/app/components/input/input.tsx (100%) rename frontend/{ => apps/remark42}/app/components/list-comments/__item/list-comments__item.css (100%) rename frontend/{ => apps/remark42}/app/components/list-comments/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/list-comments/list-comments.tsx (100%) rename frontend/{ => apps/remark42}/app/components/preloader.tsx (100%) rename frontend/{ => apps/remark42}/app/components/profile/components/counter/counter.module.css (100%) rename frontend/{ => apps/remark42}/app/components/profile/components/counter/counter.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/profile/components/counter/counter.tsx (100%) rename frontend/{ => apps/remark42}/app/components/profile/components/counter/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/profile/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/profile/profile.module.css (100%) rename frontend/{ => apps/remark42}/app/components/profile/profile.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/profile/profile.tsx (100%) rename frontend/{ => apps/remark42}/app/components/raw-content/_theme/_dark/raw-content_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/raw-content/_theme/_light/raw-content_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/raw-content/code-highlight.css (100%) rename frontend/{ => apps/remark42}/app/components/raw-content/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/raw-content/raw-content.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__copyright/root__copyright.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__input/root__input.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__pinned-comment/root__pinned-comment.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__pinned-comments/root__pinned-comments.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__preloader/root__preloader.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__thread/root__thread.css (100%) rename frontend/{ => apps/remark42}/app/components/root/__threads/root__threads.css (100%) rename frontend/{ => apps/remark42}/app/components/root/_theme/_dark/root_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/root/_theme/_light/root_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/root/in-view/in-view.tsx (100%) rename frontend/{ => apps/remark42}/app/components/root/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/root/root.css (100%) rename frontend/{ => apps/remark42}/app/components/root/root.module.css (100%) rename frontend/{ => apps/remark42}/app/components/root/root.tsx (100%) rename frontend/{ => apps/remark42}/app/components/select/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/select/select.module.css (100%) rename frontend/{ => apps/remark42}/app/components/select/select.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/select/select.tsx (100%) rename frontend/{ => apps/remark42}/app/components/settings/__action/settings__action.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__dimmed/settings__dimmed.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__invisible/settings__invisible.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__list/settings__list.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__section/settings__section.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__user-id/settings__user-id.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/__username/settings__username.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/_theme/_dark/settings_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/_theme/_light/settings_theme_light.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/settings/settings.css (100%) rename frontend/{ => apps/remark42}/app/components/settings/settings.tsx (100%) rename frontend/{ => apps/remark42}/app/components/sort-picker.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/sort-picker.tsx (100%) rename frontend/{ => apps/remark42}/app/components/spinner/spinner.module.css (100%) rename frontend/{ => apps/remark42}/app/components/spinner/spinner.tsx (100%) rename frontend/{ => apps/remark42}/app/components/textarea-autosize.tsx (100%) rename frontend/{ => apps/remark42}/app/components/thread/__collapse/thread__collapse.css (100%) rename frontend/{ => apps/remark42}/app/components/thread/_theme_dark/thread_theme_dark.css (100%) rename frontend/{ => apps/remark42}/app/components/thread/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/thread/thread.css (100%) rename frontend/{ => apps/remark42}/app/components/thread/thread.tsx (100%) rename frontend/{ => apps/remark42}/app/components/tooltip/index.ts (100%) rename frontend/{ => apps/remark42}/app/components/tooltip/tooltip.module.css (100%) rename frontend/{ => apps/remark42}/app/components/tooltip/tooltip.spec.tsx (100%) rename frontend/{ => apps/remark42}/app/components/tooltip/tooltip.tsx (100%) rename frontend/{ => apps/remark42}/app/counter.ts (100%) rename frontend/{ => apps/remark42}/app/deleteme.ts (100%) rename frontend/{ => apps/remark42}/app/embed.ts (100%) rename frontend/{ => apps/remark42}/app/hooks/useAction.ts (100%) rename frontend/{ => apps/remark42}/app/hooks/useTheme.ts (100%) rename frontend/{ => apps/remark42}/app/last-comments.tsx (100%) rename frontend/{ => apps/remark42}/app/locales/ar.json (100%) rename frontend/{ => apps/remark42}/app/locales/be.json (100%) rename frontend/{ => apps/remark42}/app/locales/bg.json (100%) rename frontend/{ => apps/remark42}/app/locales/bp.json (100%) rename frontend/{ => apps/remark42}/app/locales/de.json (100%) rename frontend/{ => apps/remark42}/app/locales/en.json (100%) rename frontend/{ => apps/remark42}/app/locales/es.json (100%) rename frontend/{ => apps/remark42}/app/locales/fi.json (100%) rename frontend/{ => apps/remark42}/app/locales/fr.json (100%) rename frontend/{ => apps/remark42}/app/locales/it.json (100%) rename frontend/{ => apps/remark42}/app/locales/ja.json (100%) rename frontend/{ => apps/remark42}/app/locales/ko.json (100%) rename frontend/{ => apps/remark42}/app/locales/pl.json (100%) rename frontend/{ => apps/remark42}/app/locales/ru.json (100%) rename frontend/{ => apps/remark42}/app/locales/tr.json (100%) rename frontend/{ => apps/remark42}/app/locales/ua.json (100%) rename frontend/{ => apps/remark42}/app/locales/vi.json (100%) rename frontend/{ => apps/remark42}/app/locales/zh.json (100%) rename frontend/{ => apps/remark42}/app/profile.ts (100%) rename frontend/{ => apps/remark42}/app/remark.tsx (100%) rename frontend/{ => apps/remark42}/app/store/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/actions.test.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/getters.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/types.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/utils.test.ts (100%) rename frontend/{ => apps/remark42}/app/store/comments/utils.ts (100%) rename frontend/{ => apps/remark42}/app/store/index.ts (100%) rename frontend/{ => apps/remark42}/app/store/post-info/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/post-info/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/post-info/types.ts (100%) rename frontend/{ => apps/remark42}/app/store/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/theme/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/theme/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/theme/types.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/getters.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/reducers.test.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/types.ts (100%) rename frontend/{ => apps/remark42}/app/store/thread/utils.ts (100%) rename frontend/{ => apps/remark42}/app/store/user/__stubs__/comments-store.json (100%) rename frontend/{ => apps/remark42}/app/store/user/actions.test.ts (100%) rename frontend/{ => apps/remark42}/app/store/user/actions.ts (100%) rename frontend/{ => apps/remark42}/app/store/user/reducers.test.ts (100%) rename frontend/{ => apps/remark42}/app/store/user/reducers.ts (100%) rename frontend/{ => apps/remark42}/app/store/user/types.ts (100%) rename frontend/{ => apps/remark42}/app/styles/custom-properties.css (100%) rename frontend/{ => apps/remark42}/app/styles/global.css (100%) rename frontend/{ => apps/remark42}/app/tests/utils.tsx (100%) rename frontend/{ => apps/remark42}/app/typings/css-modules.d.ts (100%) rename frontend/{ => apps/remark42}/app/typings/enzyme.d.ts (100%) rename frontend/{ => apps/remark42}/app/typings/global.d.ts (100%) rename frontend/{ => apps/remark42}/app/typings/jest-localstorage-mock.d.ts (100%) rename frontend/{ => apps/remark42}/app/typings/preact.d.ts (100%) rename frontend/{ => apps/remark42}/app/typings/svg.d.ts (100%) rename frontend/{ => apps/remark42}/app/utils/actionBinder.ts (100%) rename frontend/{ => apps/remark42}/app/utils/bench.ts (100%) rename frontend/{ => apps/remark42}/app/utils/capitalize-first-letter.spec.ts (100%) rename frontend/{ => apps/remark42}/app/utils/capitalize-first-letter.ts (100%) rename frontend/{ => apps/remark42}/app/utils/cmpRef.ts (100%) rename frontend/{ => apps/remark42}/app/utils/create-iframe.ts (100%) rename frontend/{ => apps/remark42}/app/utils/debounce.ts (100%) rename frontend/{ => apps/remark42}/app/utils/debug-node.ts (100%) rename frontend/{ => apps/remark42}/app/utils/derequire.ts (100%) rename frontend/{ => apps/remark42}/app/utils/email.ts (100%) rename frontend/{ => apps/remark42}/app/utils/errorUtils.ts (100%) rename frontend/{ => apps/remark42}/app/utils/get-hidden-users.test.ts (100%) rename frontend/{ => apps/remark42}/app/utils/get-hidden-users.ts (100%) rename frontend/{ => apps/remark42}/app/utils/getLocale.ts (100%) rename frontend/{ => apps/remark42}/app/utils/is-object.spec.ts (100%) rename frontend/{ => apps/remark42}/app/utils/is-object.ts (100%) rename frontend/{ => apps/remark42}/app/utils/isUserAnonymous.test.ts (100%) rename frontend/{ => apps/remark42}/app/utils/isUserAnonymous.ts (100%) rename frontend/{ => apps/remark42}/app/utils/jwt.test.ts (100%) rename frontend/{ => apps/remark42}/app/utils/jwt.ts (100%) rename frontend/{ => apps/remark42}/app/utils/loadLocale.ts (100%) rename frontend/{ => apps/remark42}/app/utils/parse-query.test.ts (100%) rename frontend/{ => apps/remark42}/app/utils/parse-query.ts (100%) rename frontend/{ => apps/remark42}/app/utils/post-message.ts (100%) rename frontend/{ => apps/remark42}/app/utils/replaceSelection.ts (100%) rename frontend/{ => apps/remark42}/app/utils/set-dom-props.ts (100%) rename frontend/{ => apps/remark42}/app/utils/shallowCompare.ts (100%) rename frontend/{ => apps/remark42}/app/utils/sleep.ts (100%) rename frontend/{ => apps/remark42}/app/utils/ttl-to-time.ts (100%) rename frontend/{ => apps/remark42}/codecov.yml (100%) rename frontend/{ => apps/remark42}/jest.config.ts (100%) rename frontend/{ => apps/remark42}/jest.setup.ts (100%) create mode 100644 frontend/apps/remark42/package.json rename frontend/{ => apps/remark42}/remark.image (100%) rename frontend/{ => apps/remark42}/tasks/checkTranslation.js (100%) rename frontend/{ => apps/remark42}/tasks/generateDictionary.js (100%) rename frontend/{ => apps/remark42}/tasks/getLocalePath.js (100%) rename frontend/{ => apps/remark42}/tasks/getSupportedLocales.js (100%) rename frontend/{ => apps/remark42}/tasks/getTranslationKeys.js (100%) rename frontend/{ => apps/remark42}/tasks/localeLoadTemplate.js (100%) rename frontend/{ => apps/remark42}/tasks/supportedLocales.json (100%) rename frontend/{ => apps/remark42}/templates/comments.ejs (100%) rename frontend/{ => apps/remark42}/templates/counter.ejs (100%) rename frontend/{ => apps/remark42}/templates/deleteme.ejs (100%) rename frontend/{ => apps/remark42}/templates/demo.ejs (100%) rename frontend/{ => apps/remark42}/templates/iframe.ejs (100%) rename frontend/{ => apps/remark42}/templates/last-comments.ejs (100%) rename frontend/{ => apps/remark42}/templates/markdown-help.html (100%) rename frontend/{ => apps/remark42}/templates/privacy.html (100%) rename frontend/{ => apps/remark42}/tsconfig.json (100%) rename frontend/{ => apps/remark42}/webpack.config.js (100%) create mode 100644 frontend/pnpm-workspace.yaml diff --git a/.dockerignore b/.dockerignore index c4b5dcf602..654b2e46ea 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,7 +2,8 @@ /target/ /var/ /frontend/node_modules/ -/frontend/public/ +/frontend/apps/remark42/node_modules/ +/frontend/apps/remark42/public/ /.vscode/ /.idea/ /bin/ diff --git a/.github/workflows/ci-frontend-size-limit.yml b/.github/workflows/ci-frontend-size-limit.yml index 7e06b48907..e56aaccb5f 100644 --- a/.github/workflows/ci-frontend-size-limit.yml +++ b/.github/workflows/ci-frontend-size-limit.yml @@ -4,7 +4,7 @@ on: pull_request: paths: - ".github/workflows/ci-frontend-size-limit.yml" - - "frontend/**" + - "frontend/apps/remark42/**" - "!**.md" jobs: @@ -27,4 +27,4 @@ jobs: uses: andresz1/size-limit-action@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} - directory: frontend + directory: ./frontend/apps/remark42 diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index 77b82b79d8..9f8837df84 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -6,12 +6,12 @@ on: tags: paths: - ".github/workflows/ci-frontend.yml" - - "frontend/**" + - "frontend/apps/remark42/**" - "!**.md" pull_request: paths: - ".github/workflows/ci-frontend.yml" - - "frontend/**" + - "frontend/apps/remark42/**" - "!**.md" jobs: @@ -55,8 +55,8 @@ jobs: working-directory: ./frontend - name: Run translations check - run: pnpm run check:translation - working-directory: ./frontend + run: pnpm translation-check + working-directory: ./frontend/apps/remark42 check-typescript: runs-on: ubuntu-latest @@ -98,8 +98,8 @@ jobs: working-directory: ./frontend - name: Run type check - run: pnpm run check:types - working-directory: ./frontend + run: pnpm type-check + working-directory: ./frontend/apps/remark42 lint: runs-on: ubuntu-latest @@ -141,8 +141,8 @@ jobs: working-directory: ./frontend - name: Run linters - run: pnpm run lint - working-directory: ./frontend + run: pnpm lint + working-directory: ./frontend/apps/remark42 test: runs-on: ubuntu-latest @@ -185,9 +185,9 @@ jobs: - name: Collect tests coverage run: pnpm run test --coverage - working-directory: ./frontend + working-directory: ./frontend/apps/remark42 - name: Submit coverage - run: ${{ github.workspace }}/frontend/node_modules/.bin/codecov + run: ${{ github.workspace }}/frontend/apps/remark42/node_modules/.bin/codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/Dockerfile b/Dockerfile index 3be78178a8..6302880341 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,50 @@ +FROM --platform=$BUILDPLATFORM node:16.15.1-alpine AS frontend-deps + +ARG SKIP_FRONTEND_TEST +ARG SKIP_FRONTEND_BUILD + +WORKDIR /srv/frontend/ + +COPY ./frontend/package.json ./frontend/pnpm-lock.yaml ./frontend/pnpm-workspace.yaml /srv/frontend/ +COPY ./frontend/apps/remark42/package.json /srv/frontend/apps/remark42/ + +RUN \ + if [[ -z "$SKIP_FRONTEND_BUILD" || -z "$SKIP_FRONTEND_TEST" ]]; then \ + apk add --no-cache --update git && \ + npm i -g pnpm; \ + fi + +RUN --mount=type=cache,id=pnpm,target=/root/.pnpm-store/v3 \ + if [[ -z "$SKIP_FRONTEND_BUILD" || -z "$SKIP_FRONTEND_TEST" ]]; then \ + pnpm fetch; \ + fi + + +FROM --platform=$BUILDPLATFORM frontend-deps AS build-frontend + +ARG SKIP_FRONTEND_TEST +ARG SKIP_FRONTEND_BUILD +ENV CI=true + +COPY ./frontend/apps/remark42/ /srv/frontend/apps/remark42/ + +RUN \ + if [ -z "$SKIP_FRONTEND_TEST" ]; then \ + echo 'Skip frontend test'; \ + else \ + pnpm i --offline; \ + cd /srv/frontend/apps/remark42; \ + pnpm lint type-check translation-check test; \ + fi + +RUN \ + if [ -z "$SKIP_FRONTEND_BUILD" ]; then \ + mkdir /srv/frontend/apps/remark42/public; \ + echo 'Skip frontend build'; \ + else \ + pnpm build; \ + fi + FROM umputun/baseimage:buildgo-v1.9.1 as build-backend ARG CI @@ -25,7 +72,7 @@ RUN \ cat /profile.cov_tmp | grep -v "_mock.go" > /profile.cov ; \ golangci-lint run --config ../.golangci.yml ./... ; \ else \ - echo "skip backend tests and linter" \ + echo "skip backend tests and linter" \ ; fi RUN \ @@ -33,56 +80,6 @@ RUN \ echo "version=$version" && \ go build -o remark42 -ldflags "-X main.revision=${version} -s -w" ./app -FROM --platform=$BUILDPLATFORM node:16.15.1-alpine as build-frontend-deps - -ARG CI -ARG SKIP_FRONTEND_BUILD -ENV HUSKY_SKIP_INSTALL=true - -WORKDIR /srv/frontend -COPY frontend/package.json frontend/pnpm-lock.yaml /srv/frontend/ -RUN \ - if [[ -z "$SKIP_FRONTEND_BUILD" || -z "$SKIP_FRONTEND_TEST" ]]; then \ - apk add --no-cache --update git && \ - npm i -g pnpm; \ - fi - - RUN --mount=type=cache,id=pnpm,target=/root/.pnpm-store/v3 \ - if [[ -z "$SKIP_FRONTEND_BUILD" || -z "$SKIP_FRONTEND_TEST" ]]; then \ - pnpm i; \ - fi - -FROM --platform=$BUILDPLATFORM node:16.15.1-alpine as build-frontend - -ARG CI -ARG SKIP_FRONTEND_TEST -ARG SKIP_FRONTEND_BUILD -ARG NODE_ENV=production - -COPY --from=build-frontend-deps /srv/frontend/node_modules /srv/frontend/node_modules -COPY ./frontend /srv/frontend -WORKDIR /srv/frontend -RUN \ - if [[ -z "$SKIP_FRONTEND_BUILD" || -z "$SKIP_FRONTEND_TEST" ]]; then \ - apk add --no-cache --update git && \ - npm i -g pnpm; \ - fi - -RUN \ - if [ -z "$SKIP_FRONTEND_TEST" ]; then \ - echo 'Skip frontend test'; \ - else \ - pnpm lint test check; \ - fi - -RUN \ - if [ -z "$SKIP_FRONTEND_BUILD" ]; then \ - mkdir public; \ - echo 'Skip frontend build'; \ - else \ - pnpm build; \ - fi - FROM umputun/baseimage:app-v1.9.1 WORKDIR /srv @@ -95,7 +92,7 @@ RUN chmod +x /entrypoint.sh /usr/local/bin/backup /usr/local/bin/restore /usr/lo COPY --from=build-backend /build/backend/remark42 /srv/remark42 COPY --from=build-backend /build/backend/templates /srv -COPY --from=build-frontend /srv/frontend/public/ /srv/web +COPY --from=build-frontend /srv/frontend/apps/remark42/public/ /srv/web/ COPY docker-init.sh /srv/init.sh RUN chown -R app:app /srv RUN ln -s /srv/remark42 /usr/bin/remark42 diff --git a/Dockerfile.artifacts b/Dockerfile.artifacts index 0a6676ca78..dad0971220 100644 --- a/Dockerfile.artifacts +++ b/Dockerfile.artifacts @@ -1,30 +1,23 @@ -FROM node:16.15.1-alpine as build-frontend-deps +FROM node:16.15.1-alpine AS frontend-deps -ARG CI - -ENV SKIP_FRONTEND_TEST=true ENV CI=true -ADD frontend/package.json /srv/frontend/package.json -ADD frontend/pnpm-lock.yaml /srv/frontend/pnpm-lock.yaml -RUN - cd /srv/frontend && \ - apk add --no-cache --update git && \ - npm i -g pnpm && \ - pnpm i +WORKDIR /srv/frontend + +COPY ./frontend/package.json ./frontend/pnpm-lock.yaml ./frontend/pnpm-workspace.yaml /srv/frontend +COPY ./frontend/apps/remark42/package.json /srv/frontend/apps/remark42/package.json -FROM node:16.15.1-alpine as build-frontend +RUN apk add --no-cache --update git && npm i -g pnpm +RUN --mount=type=cache,id=pnpm,target=/root/.pnpm-store/v3 pnpm i -ARG CI -ARG NODE_ENV=production -ENV SKIP_FRONTEND_TEST=true -ENV HUSKY_SKIP_INSTALL=true +FROM frontend-deps AS build-frontend + +ENV NODE_ENV=production +ENV CI=true -COPY --from=build-frontend-deps /srv/frontend/node_modules /srv/frontend/node_modules -ADD frontend /srv/frontend -RUN cd /srv/frontend && \ - npm run build && \ - rm -rf ./node_modules +WORKDIR /srv/frontend/apps/remark42/ +COPY ./frontend/apps/remark42/ /srv/frontend/apps/remark42/ +RUN pnpm build FROM umputun/baseimage:buildgo-v1.9.1 as build-backend @@ -38,7 +31,7 @@ ADD backend /build/backend ADD README.md /build/ ADD LICENSE /build/ -COPY --from=build-frontend /srv/frontend/public/ web +COPY --from=build-frontend /srv/frontend/apps/remark42/public/ /build/backend/web/ RUN \ export WEB_ROOT=/build/backend/web && \ @@ -50,7 +43,7 @@ RUN \ ls -la /build/backend/web/ RUN \ - version=$("/script/version.sh") && echo "version=${version}" && \ + version=$("/script/version.sh") && echo "version=${version}" && \ export GOFLAGS="-mod=vendor" && \ GOOS=linux GOARCH=amd64 go build -o remark42.linux-amd64 -ldflags "-X main.revision=${version} -s -w" ./app && \ GOOS=linux GOARCH=386 go build -o remark42.linux-386 -ldflags "-X main.revision=${version} -s -w" ./app && \ diff --git a/Makefile b/Makefile index b398496117..11e8629404 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ dockerx: release: docker build -f Dockerfile.artifacts --no-cache --pull --build-arg CI=true \ - --build-arg GITHUB_REF=$(GITHUB_REF) --build-arg GITHUB_SHA=$(GITHUB_SHA) -t remark42.bin . + --build-arg GITHUB_REF=$(GITHUB_REF) --build-arg GITHUB_SHA=$(GITHUB_SHA) -t remark42.bin . - @docker rm -f remark42.bin 2>/dev/null || exit 0 - @mkdir -p bin docker run -d --name=remark42.bin remark42.bin @@ -47,7 +47,7 @@ frontend: rundev: docker pull umputun/baseimage:buildgo-v1.9.1 SKIP_BACKEND_TEST=true SKIP_FRONTEND_TEST=true GITHUB_REF=$(GITHUB_REF) GITHUB_SHA=$(GITHUB_SHA) CI=true \ - docker-compose -f compose-private.yml build + docker-compose -f compose-private.yml build docker-compose -f compose-private.yml up .PHONY: bin backend diff --git a/frontend/.gitignore b/frontend/.gitignore index fcf8fbbad6..e2fbe38cb5 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -5,3 +5,4 @@ public .env tsconfig.tsbuildinfo coverage +!remark42 diff --git a/frontend/.husky/post-commit b/frontend/.husky/post-commit old mode 100644 new mode 100755 index 1fc985a62c..e30a09e012 --- a/frontend/.husky/post-commit +++ b/frontend/.husky/post-commit @@ -1,2 +1,4 @@ # .husky/post-commit + +cd frontend git update-index --again diff --git a/frontend/.husky/pre-commit b/frontend/.husky/pre-commit old mode 100644 new mode 100755 index 66b0f0b08f..172c8cd6cd --- a/frontend/.husky/pre-commit +++ b/frontend/.husky/pre-commit @@ -1,3 +1,4 @@ # .husky/pre-commit -npx --no-install lint-staged -lint-staged + +cd frontend +pnpm lint-staged diff --git a/frontend/.lintstagedrc.js b/frontend/.lintstagedrc.js index 96730e4e24..238adec601 100644 --- a/frontend/.lintstagedrc.js +++ b/frontend/.lintstagedrc.js @@ -1,5 +1,14 @@ module.exports = { - './**/*.{ts,tsx,js,jsx}': ['eslint --fix --max-warnings=0', 'prettier --write'], - './**/*.css': ['prettier --write', 'stylelint'], - './templates/**.html': ['prettier --write', 'stylelint'], + "./**/*.{ts,tsx,js,jsx}": [ + "cd apps/remark42 && pnpm lint-staged:lint:scripts", + "cd apps/remark42 && pnpm lint-staged:format", + ], + "./**/*.css": [ + "cd apps/remark42 && pnpm lint-staged:lint:styles", + "cd apps/remark42 && pnpm lint-staged:format", + ], + "./templates/**.html": [ + "cd apps/remark42 && pnpm lint-staged:lint:styles", + "cd apps/remark42 && pnpm lint-staged:format", + ], }; diff --git a/frontend/.babelrc.js b/frontend/apps/remark42/.babelrc.js similarity index 100% rename from frontend/.babelrc.js rename to frontend/apps/remark42/.babelrc.js diff --git a/frontend/.eslintignore b/frontend/apps/remark42/.eslintignore similarity index 100% rename from frontend/.eslintignore rename to frontend/apps/remark42/.eslintignore diff --git a/frontend/.eslintrc.js b/frontend/apps/remark42/.eslintrc.js similarity index 100% rename from frontend/.eslintrc.js rename to frontend/apps/remark42/.eslintrc.js diff --git a/frontend/.nvmrc b/frontend/apps/remark42/.nvmrc similarity index 100% rename from frontend/.nvmrc rename to frontend/apps/remark42/.nvmrc diff --git a/frontend/.prettierignore b/frontend/apps/remark42/.prettierignore similarity index 100% rename from frontend/.prettierignore rename to frontend/apps/remark42/.prettierignore diff --git a/frontend/.prettierrc.js b/frontend/apps/remark42/.prettierrc.js similarity index 100% rename from frontend/.prettierrc.js rename to frontend/apps/remark42/.prettierrc.js diff --git a/frontend/.size-limit.js b/frontend/apps/remark42/.size-limit.js similarity index 100% rename from frontend/.size-limit.js rename to frontend/apps/remark42/.size-limit.js diff --git a/frontend/.stylelintignore b/frontend/apps/remark42/.stylelintignore similarity index 100% rename from frontend/.stylelintignore rename to frontend/apps/remark42/.stylelintignore diff --git a/frontend/.stylelintrc.js b/frontend/apps/remark42/.stylelintrc.js similarity index 100% rename from frontend/.stylelintrc.js rename to frontend/apps/remark42/.stylelintrc.js diff --git a/frontend/README.md b/frontend/apps/remark42/README.md similarity index 100% rename from frontend/README.md rename to frontend/apps/remark42/README.md diff --git a/frontend/app/__mocks__/fetch.ts b/frontend/apps/remark42/app/__mocks__/fetch.ts similarity index 100% rename from frontend/app/__mocks__/fetch.ts rename to frontend/apps/remark42/app/__mocks__/fetch.ts diff --git a/frontend/app/__mocks__/localstorage.ts b/frontend/apps/remark42/app/__mocks__/localstorage.ts similarity index 100% rename from frontend/app/__mocks__/localstorage.ts rename to frontend/apps/remark42/app/__mocks__/localstorage.ts diff --git a/frontend/app/__stubs__/jwt.ts b/frontend/apps/remark42/app/__stubs__/jwt.ts similarity index 100% rename from frontend/app/__stubs__/jwt.ts rename to frontend/apps/remark42/app/__stubs__/jwt.ts diff --git a/frontend/app/__stubs__/remark-config.ts b/frontend/apps/remark42/app/__stubs__/remark-config.ts similarity index 100% rename from frontend/app/__stubs__/remark-config.ts rename to frontend/apps/remark42/app/__stubs__/remark-config.ts diff --git a/frontend/app/__stubs__/static-config.ts b/frontend/apps/remark42/app/__stubs__/static-config.ts similarity index 100% rename from frontend/app/__stubs__/static-config.ts rename to frontend/apps/remark42/app/__stubs__/static-config.ts diff --git a/frontend/app/__stubs__/store.ts b/frontend/apps/remark42/app/__stubs__/store.ts similarity index 100% rename from frontend/app/__stubs__/store.ts rename to frontend/apps/remark42/app/__stubs__/store.ts diff --git a/frontend/app/__stubs__/svg.tsx b/frontend/apps/remark42/app/__stubs__/svg.tsx similarity index 100% rename from frontend/app/__stubs__/svg.tsx rename to frontend/apps/remark42/app/__stubs__/svg.tsx diff --git a/frontend/app/__stubs__/user.ts b/frontend/apps/remark42/app/__stubs__/user.ts similarity index 100% rename from frontend/app/__stubs__/user.ts rename to frontend/apps/remark42/app/__stubs__/user.ts diff --git a/frontend/app/assets/social/dev.svg b/frontend/apps/remark42/app/assets/social/dev.svg similarity index 100% rename from frontend/app/assets/social/dev.svg rename to frontend/apps/remark42/app/assets/social/dev.svg diff --git a/frontend/app/assets/social/facebook.svg b/frontend/apps/remark42/app/assets/social/facebook.svg similarity index 100% rename from frontend/app/assets/social/facebook.svg rename to frontend/apps/remark42/app/assets/social/facebook.svg diff --git a/frontend/app/assets/social/github-dark.svg b/frontend/apps/remark42/app/assets/social/github-dark.svg similarity index 100% rename from frontend/app/assets/social/github-dark.svg rename to frontend/apps/remark42/app/assets/social/github-dark.svg diff --git a/frontend/app/assets/social/github-light.svg b/frontend/apps/remark42/app/assets/social/github-light.svg similarity index 100% rename from frontend/app/assets/social/github-light.svg rename to frontend/apps/remark42/app/assets/social/github-light.svg diff --git a/frontend/app/assets/social/google.svg b/frontend/apps/remark42/app/assets/social/google.svg similarity index 100% rename from frontend/app/assets/social/google.svg rename to frontend/apps/remark42/app/assets/social/google.svg diff --git a/frontend/app/assets/social/microsoft.svg b/frontend/apps/remark42/app/assets/social/microsoft.svg similarity index 100% rename from frontend/app/assets/social/microsoft.svg rename to frontend/apps/remark42/app/assets/social/microsoft.svg diff --git a/frontend/app/assets/social/patreon.svg b/frontend/apps/remark42/app/assets/social/patreon.svg similarity index 100% rename from frontend/app/assets/social/patreon.svg rename to frontend/apps/remark42/app/assets/social/patreon.svg diff --git a/frontend/app/assets/social/telegram.svg b/frontend/apps/remark42/app/assets/social/telegram.svg similarity index 100% rename from frontend/app/assets/social/telegram.svg rename to frontend/apps/remark42/app/assets/social/telegram.svg diff --git a/frontend/app/assets/social/twitter.svg b/frontend/apps/remark42/app/assets/social/twitter.svg similarity index 100% rename from frontend/app/assets/social/twitter.svg rename to frontend/apps/remark42/app/assets/social/twitter.svg diff --git a/frontend/app/assets/social/yandex.svg b/frontend/apps/remark42/app/assets/social/yandex.svg similarity index 100% rename from frontend/app/assets/social/yandex.svg rename to frontend/apps/remark42/app/assets/social/yandex.svg diff --git a/frontend/app/common/__mocks__/constants.ts b/frontend/apps/remark42/app/common/__mocks__/constants.ts similarity index 100% rename from frontend/app/common/__mocks__/constants.ts rename to frontend/apps/remark42/app/common/__mocks__/constants.ts diff --git a/frontend/app/common/accessibility.ts b/frontend/apps/remark42/app/common/accessibility.ts similarity index 100% rename from frontend/app/common/accessibility.ts rename to frontend/apps/remark42/app/common/accessibility.ts diff --git a/frontend/app/common/api.getLastComments.ts b/frontend/apps/remark42/app/common/api.getLastComments.ts similarity index 100% rename from frontend/app/common/api.getLastComments.ts rename to frontend/apps/remark42/app/common/api.getLastComments.ts diff --git a/frontend/app/common/api.test.ts b/frontend/apps/remark42/app/common/api.test.ts similarity index 100% rename from frontend/app/common/api.test.ts rename to frontend/apps/remark42/app/common/api.test.ts diff --git a/frontend/app/common/api.ts b/frontend/apps/remark42/app/common/api.ts similarity index 100% rename from frontend/app/common/api.ts rename to frontend/apps/remark42/app/common/api.ts diff --git a/frontend/app/common/constants.config.test.ts b/frontend/apps/remark42/app/common/constants.config.test.ts similarity index 100% rename from frontend/app/common/constants.config.test.ts rename to frontend/apps/remark42/app/common/constants.config.test.ts diff --git a/frontend/app/common/constants.config.ts b/frontend/apps/remark42/app/common/constants.config.ts similarity index 100% rename from frontend/app/common/constants.config.ts rename to frontend/apps/remark42/app/common/constants.config.ts diff --git a/frontend/app/common/constants.ts b/frontend/apps/remark42/app/common/constants.ts similarity index 100% rename from frontend/app/common/constants.ts rename to frontend/apps/remark42/app/common/constants.ts diff --git a/frontend/app/common/cookies.ts b/frontend/apps/remark42/app/common/cookies.ts similarity index 100% rename from frontend/app/common/cookies.ts rename to frontend/apps/remark42/app/common/cookies.ts diff --git a/frontend/app/common/copy.test.ts b/frontend/apps/remark42/app/common/copy.test.ts similarity index 100% rename from frontend/app/common/copy.test.ts rename to frontend/apps/remark42/app/common/copy.test.ts diff --git a/frontend/app/common/copy.ts b/frontend/apps/remark42/app/common/copy.ts similarity index 100% rename from frontend/app/common/copy.ts rename to frontend/apps/remark42/app/common/copy.ts diff --git a/frontend/app/common/fetcher.test.ts b/frontend/apps/remark42/app/common/fetcher.test.ts similarity index 100% rename from frontend/app/common/fetcher.test.ts rename to frontend/apps/remark42/app/common/fetcher.test.ts diff --git a/frontend/app/common/fetcher.ts b/frontend/apps/remark42/app/common/fetcher.ts similarity index 100% rename from frontend/app/common/fetcher.ts rename to frontend/apps/remark42/app/common/fetcher.ts diff --git a/frontend/app/common/local-storage.test.ts b/frontend/apps/remark42/app/common/local-storage.test.ts similarity index 100% rename from frontend/app/common/local-storage.test.ts rename to frontend/apps/remark42/app/common/local-storage.test.ts diff --git a/frontend/app/common/local-storage.ts b/frontend/apps/remark42/app/common/local-storage.ts similarity index 100% rename from frontend/app/common/local-storage.ts rename to frontend/apps/remark42/app/common/local-storage.ts diff --git a/frontend/app/common/settings.ts b/frontend/apps/remark42/app/common/settings.ts similarity index 100% rename from frontend/app/common/settings.ts rename to frontend/apps/remark42/app/common/settings.ts diff --git a/frontend/app/common/static-store.ts b/frontend/apps/remark42/app/common/static-store.ts similarity index 100% rename from frontend/app/common/static-store.ts rename to frontend/apps/remark42/app/common/static-store.ts diff --git a/frontend/app/common/types.ts b/frontend/apps/remark42/app/common/types.ts similarity index 100% rename from frontend/app/common/types.ts rename to frontend/apps/remark42/app/common/types.ts diff --git a/frontend/app/components/auth-panel/__column/auth-panel__column.css b/frontend/apps/remark42/app/components/auth-panel/__column/auth-panel__column.css similarity index 100% rename from frontend/app/components/auth-panel/__column/auth-panel__column.css rename to frontend/apps/remark42/app/components/auth-panel/__column/auth-panel__column.css diff --git a/frontend/app/components/auth-panel/__readonly-label/auth-panel__readonly-label.css b/frontend/apps/remark42/app/components/auth-panel/__readonly-label/auth-panel__readonly-label.css similarity index 100% rename from frontend/app/components/auth-panel/__readonly-label/auth-panel__readonly-label.css rename to frontend/apps/remark42/app/components/auth-panel/__readonly-label/auth-panel__readonly-label.css diff --git a/frontend/app/components/auth-panel/auth-panel.css b/frontend/apps/remark42/app/components/auth-panel/auth-panel.css similarity index 100% rename from frontend/app/components/auth-panel/auth-panel.css rename to frontend/apps/remark42/app/components/auth-panel/auth-panel.css diff --git a/frontend/app/components/auth-panel/auth-panel.module.css b/frontend/apps/remark42/app/components/auth-panel/auth-panel.module.css similarity index 100% rename from frontend/app/components/auth-panel/auth-panel.module.css rename to frontend/apps/remark42/app/components/auth-panel/auth-panel.module.css diff --git a/frontend/app/components/auth-panel/auth-panel.test.tsx b/frontend/apps/remark42/app/components/auth-panel/auth-panel.test.tsx similarity index 100% rename from frontend/app/components/auth-panel/auth-panel.test.tsx rename to frontend/apps/remark42/app/components/auth-panel/auth-panel.test.tsx diff --git a/frontend/app/components/auth-panel/auth-panel.tsx b/frontend/apps/remark42/app/components/auth-panel/auth-panel.tsx similarity index 100% rename from frontend/app/components/auth-panel/auth-panel.tsx rename to frontend/apps/remark42/app/components/auth-panel/auth-panel.tsx diff --git a/frontend/app/components/auth-panel/index.ts b/frontend/apps/remark42/app/components/auth-panel/index.ts similarity index 100% rename from frontend/app/components/auth-panel/index.ts rename to frontend/apps/remark42/app/components/auth-panel/index.ts diff --git a/frontend/app/components/auth/auth.api.ts b/frontend/apps/remark42/app/components/auth/auth.api.ts similarity index 100% rename from frontend/app/components/auth/auth.api.ts rename to frontend/apps/remark42/app/components/auth/auth.api.ts diff --git a/frontend/app/components/auth/auth.hooks.ts b/frontend/apps/remark42/app/components/auth/auth.hooks.ts similarity index 100% rename from frontend/app/components/auth/auth.hooks.ts rename to frontend/apps/remark42/app/components/auth/auth.hooks.ts diff --git a/frontend/app/components/auth/auth.messsages.ts b/frontend/apps/remark42/app/components/auth/auth.messsages.ts similarity index 100% rename from frontend/app/components/auth/auth.messsages.ts rename to frontend/apps/remark42/app/components/auth/auth.messsages.ts diff --git a/frontend/app/components/auth/auth.module.css b/frontend/apps/remark42/app/components/auth/auth.module.css similarity index 100% rename from frontend/app/components/auth/auth.module.css rename to frontend/apps/remark42/app/components/auth/auth.module.css diff --git a/frontend/app/components/auth/auth.spec.tsx b/frontend/apps/remark42/app/components/auth/auth.spec.tsx similarity index 100% rename from frontend/app/components/auth/auth.spec.tsx rename to frontend/apps/remark42/app/components/auth/auth.spec.tsx diff --git a/frontend/app/components/auth/auth.tsx b/frontend/apps/remark42/app/components/auth/auth.tsx similarity index 100% rename from frontend/app/components/auth/auth.tsx rename to frontend/apps/remark42/app/components/auth/auth.tsx diff --git a/frontend/app/components/auth/auth.utils.ts b/frontend/apps/remark42/app/components/auth/auth.utils.ts similarity index 100% rename from frontend/app/components/auth/auth.utils.ts rename to frontend/apps/remark42/app/components/auth/auth.utils.ts diff --git a/frontend/app/components/auth/components/button.module.css b/frontend/apps/remark42/app/components/auth/components/button.module.css similarity index 100% rename from frontend/app/components/auth/components/button.module.css rename to frontend/apps/remark42/app/components/auth/components/button.module.css diff --git a/frontend/app/components/auth/components/button.tsx b/frontend/apps/remark42/app/components/auth/components/button.tsx similarity index 100% rename from frontend/app/components/auth/components/button.tsx rename to frontend/apps/remark42/app/components/auth/components/button.tsx diff --git a/frontend/app/components/auth/components/oauth.consts.ts b/frontend/apps/remark42/app/components/auth/components/oauth.consts.ts similarity index 100% rename from frontend/app/components/auth/components/oauth.consts.ts rename to frontend/apps/remark42/app/components/auth/components/oauth.consts.ts diff --git a/frontend/app/components/auth/components/oauth.module.css b/frontend/apps/remark42/app/components/auth/components/oauth.module.css similarity index 100% rename from frontend/app/components/auth/components/oauth.module.css rename to frontend/apps/remark42/app/components/auth/components/oauth.module.css diff --git a/frontend/app/components/auth/components/oauth.spec.tsx b/frontend/apps/remark42/app/components/auth/components/oauth.spec.tsx similarity index 100% rename from frontend/app/components/auth/components/oauth.spec.tsx rename to frontend/apps/remark42/app/components/auth/components/oauth.spec.tsx diff --git a/frontend/app/components/auth/components/oauth.tsx b/frontend/apps/remark42/app/components/auth/components/oauth.tsx similarity index 100% rename from frontend/app/components/auth/components/oauth.tsx rename to frontend/apps/remark42/app/components/auth/components/oauth.tsx diff --git a/frontend/app/components/auth/components/oauth.utils.ts b/frontend/apps/remark42/app/components/auth/components/oauth.utils.ts similarity index 100% rename from frontend/app/components/auth/components/oauth.utils.ts rename to frontend/apps/remark42/app/components/auth/components/oauth.utils.ts diff --git a/frontend/app/components/auth/index.ts b/frontend/apps/remark42/app/components/auth/index.ts similarity index 100% rename from frontend/app/components/auth/index.ts rename to frontend/apps/remark42/app/components/auth/index.ts diff --git a/frontend/app/components/avatar/assets/ghost.svg b/frontend/apps/remark42/app/components/avatar/assets/ghost.svg similarity index 100% rename from frontend/app/components/avatar/assets/ghost.svg rename to frontend/apps/remark42/app/components/avatar/assets/ghost.svg diff --git a/frontend/app/components/avatar/avatar.module.css b/frontend/apps/remark42/app/components/avatar/avatar.module.css similarity index 100% rename from frontend/app/components/avatar/avatar.module.css rename to frontend/apps/remark42/app/components/avatar/avatar.module.css diff --git a/frontend/app/components/avatar/avatar.spec.tsx b/frontend/apps/remark42/app/components/avatar/avatar.spec.tsx similarity index 100% rename from frontend/app/components/avatar/avatar.spec.tsx rename to frontend/apps/remark42/app/components/avatar/avatar.spec.tsx diff --git a/frontend/app/components/avatar/avatar.tsx b/frontend/apps/remark42/app/components/avatar/avatar.tsx similarity index 100% rename from frontend/app/components/avatar/avatar.tsx rename to frontend/apps/remark42/app/components/avatar/avatar.tsx diff --git a/frontend/app/components/avatar/index.ts b/frontend/apps/remark42/app/components/avatar/index.ts similarity index 100% rename from frontend/app/components/avatar/index.ts rename to frontend/apps/remark42/app/components/avatar/index.ts diff --git a/frontend/app/components/button/_kind/_link/button_kind_link.css b/frontend/apps/remark42/app/components/button/_kind/_link/button_kind_link.css similarity index 100% rename from frontend/app/components/button/_kind/_link/button_kind_link.css rename to frontend/apps/remark42/app/components/button/_kind/_link/button_kind_link.css diff --git a/frontend/app/components/button/_kind/_primary/button_kind_primary.css b/frontend/apps/remark42/app/components/button/_kind/_primary/button_kind_primary.css similarity index 100% rename from frontend/app/components/button/_kind/_primary/button_kind_primary.css rename to frontend/apps/remark42/app/components/button/_kind/_primary/button_kind_primary.css diff --git a/frontend/app/components/button/_kind/_secondary/button_kind_secondary.css b/frontend/apps/remark42/app/components/button/_kind/_secondary/button_kind_secondary.css similarity index 100% rename from frontend/app/components/button/_kind/_secondary/button_kind_secondary.css rename to frontend/apps/remark42/app/components/button/_kind/_secondary/button_kind_secondary.css diff --git a/frontend/app/components/button/_size/_large/button_size_large.css b/frontend/apps/remark42/app/components/button/_size/_large/button_size_large.css similarity index 100% rename from frontend/app/components/button/_size/_large/button_size_large.css rename to frontend/apps/remark42/app/components/button/_size/_large/button_size_large.css diff --git a/frontend/app/components/button/_size/_middle/button_size_middle.css b/frontend/apps/remark42/app/components/button/_size/_middle/button_size_middle.css similarity index 100% rename from frontend/app/components/button/_size/_middle/button_size_middle.css rename to frontend/apps/remark42/app/components/button/_size/_middle/button_size_middle.css diff --git a/frontend/app/components/button/_theme/_dark/button_theme_dark.css b/frontend/apps/remark42/app/components/button/_theme/_dark/button_theme_dark.css similarity index 100% rename from frontend/app/components/button/_theme/_dark/button_theme_dark.css rename to frontend/apps/remark42/app/components/button/_theme/_dark/button_theme_dark.css diff --git a/frontend/app/components/button/button.css b/frontend/apps/remark42/app/components/button/button.css similarity index 100% rename from frontend/app/components/button/button.css rename to frontend/apps/remark42/app/components/button/button.css diff --git a/frontend/app/components/button/button.tsx b/frontend/apps/remark42/app/components/button/button.tsx similarity index 100% rename from frontend/app/components/button/button.tsx rename to frontend/apps/remark42/app/components/button/button.tsx diff --git a/frontend/app/components/button/index.ts b/frontend/apps/remark42/app/components/button/index.ts similarity index 100% rename from frontend/app/components/button/index.ts rename to frontend/apps/remark42/app/components/button/index.ts diff --git a/frontend/app/components/comment-form/__actions/comment-form__actions.css b/frontend/apps/remark42/app/components/comment-form/__actions/comment-form__actions.css similarity index 100% rename from frontend/app/components/comment-form/__actions/comment-form__actions.css rename to frontend/apps/remark42/app/components/comment-form/__actions/comment-form__actions.css diff --git a/frontend/app/components/comment-form/__button/_type/_preview/comment-form__button_type_preview.css b/frontend/apps/remark42/app/components/comment-form/__button/_type/_preview/comment-form__button_type_preview.css similarity index 100% rename from frontend/app/components/comment-form/__button/_type/_preview/comment-form__button_type_preview.css rename to frontend/apps/remark42/app/components/comment-form/__button/_type/_preview/comment-form__button_type_preview.css diff --git a/frontend/app/components/comment-form/__button/_type/_send/comment-form__button_type_send.css b/frontend/apps/remark42/app/components/comment-form/__button/_type/_send/comment-form__button_type_send.css similarity index 100% rename from frontend/app/components/comment-form/__button/_type/_send/comment-form__button_type_send.css rename to frontend/apps/remark42/app/components/comment-form/__button/_type/_send/comment-form__button_type_send.css diff --git a/frontend/app/components/comment-form/__button/comment-form__button.css b/frontend/apps/remark42/app/components/comment-form/__button/comment-form__button.css similarity index 100% rename from frontend/app/components/comment-form/__button/comment-form__button.css rename to frontend/apps/remark42/app/components/comment-form/__button/comment-form__button.css diff --git a/frontend/app/components/comment-form/__control-panel/comment-form__control-panel.css b/frontend/apps/remark42/app/components/comment-form/__control-panel/comment-form__control-panel.css similarity index 100% rename from frontend/app/components/comment-form/__control-panel/comment-form__control-panel.css rename to frontend/apps/remark42/app/components/comment-form/__control-panel/comment-form__control-panel.css diff --git a/frontend/app/components/comment-form/__counter/comment-form__counter.css b/frontend/apps/remark42/app/components/comment-form/__counter/comment-form__counter.css similarity index 100% rename from frontend/app/components/comment-form/__counter/comment-form__counter.css rename to frontend/apps/remark42/app/components/comment-form/__counter/comment-form__counter.css diff --git a/frontend/app/components/comment-form/__error/comment-form__error.css b/frontend/apps/remark42/app/components/comment-form/__error/comment-form__error.css similarity index 100% rename from frontend/app/components/comment-form/__error/comment-form__error.css rename to frontend/apps/remark42/app/components/comment-form/__error/comment-form__error.css diff --git a/frontend/app/components/comment-form/__field-wrapper/comment-form__field-wrapper.css b/frontend/apps/remark42/app/components/comment-form/__field-wrapper/comment-form__field-wrapper.css similarity index 100% rename from frontend/app/components/comment-form/__field-wrapper/comment-form__field-wrapper.css rename to frontend/apps/remark42/app/components/comment-form/__field-wrapper/comment-form__field-wrapper.css diff --git a/frontend/app/components/comment-form/__field/comment-form__field.css b/frontend/apps/remark42/app/components/comment-form/__field/comment-form__field.css similarity index 100% rename from frontend/app/components/comment-form/__field/comment-form__field.css rename to frontend/apps/remark42/app/components/comment-form/__field/comment-form__field.css diff --git a/frontend/app/components/comment-form/__markdown-link/comment-form__markdown-link.css b/frontend/apps/remark42/app/components/comment-form/__markdown-link/comment-form__markdown-link.css similarity index 100% rename from frontend/app/components/comment-form/__markdown-link/comment-form__markdown-link.css rename to frontend/apps/remark42/app/components/comment-form/__markdown-link/comment-form__markdown-link.css diff --git a/frontend/app/components/comment-form/__markdown-toolbar/comment-form__markdown-toolbar.css b/frontend/apps/remark42/app/components/comment-form/__markdown-toolbar/comment-form__markdown-toolbar.css similarity index 100% rename from frontend/app/components/comment-form/__markdown-toolbar/comment-form__markdown-toolbar.css rename to frontend/apps/remark42/app/components/comment-form/__markdown-toolbar/comment-form__markdown-toolbar.css diff --git a/frontend/app/components/comment-form/__markdown/comment-form__markdown.css b/frontend/apps/remark42/app/components/comment-form/__markdown/comment-form__markdown.css similarity index 100% rename from frontend/app/components/comment-form/__markdown/comment-form__markdown.css rename to frontend/apps/remark42/app/components/comment-form/__markdown/comment-form__markdown.css diff --git a/frontend/app/components/comment-form/__preview-wrapper/comment-form__preview-wrapper.css b/frontend/apps/remark42/app/components/comment-form/__preview-wrapper/comment-form__preview-wrapper.css similarity index 100% rename from frontend/app/components/comment-form/__preview-wrapper/comment-form__preview-wrapper.css rename to frontend/apps/remark42/app/components/comment-form/__preview-wrapper/comment-form__preview-wrapper.css diff --git a/frontend/app/components/comment-form/__preview/comment-form__preview.css b/frontend/apps/remark42/app/components/comment-form/__preview/comment-form__preview.css similarity index 100% rename from frontend/app/components/comment-form/__preview/comment-form__preview.css rename to frontend/apps/remark42/app/components/comment-form/__preview/comment-form__preview.css diff --git a/frontend/app/components/comment-form/__rss-link/comment-form__rss-link.css b/frontend/apps/remark42/app/components/comment-form/__rss-link/comment-form__rss-link.css similarity index 100% rename from frontend/app/components/comment-form/__rss-link/comment-form__rss-link.css rename to frontend/apps/remark42/app/components/comment-form/__rss-link/comment-form__rss-link.css diff --git a/frontend/app/components/comment-form/__rss/comment-form__rss.css b/frontend/apps/remark42/app/components/comment-form/__rss/comment-form__rss.css similarity index 100% rename from frontend/app/components/comment-form/__rss/comment-form__rss.css rename to frontend/apps/remark42/app/components/comment-form/__rss/comment-form__rss.css diff --git a/frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.css b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.css similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.css rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.css diff --git a/frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.test.tsx b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.test.tsx similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.test.tsx rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.test.tsx diff --git a/frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.tsx b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.tsx similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.tsx rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/comment-form__subscribe-by-email.tsx diff --git a/frontend/app/components/comment-form/__subscribe-by-email/index.ts b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/index.ts similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-email/index.ts rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-email/index.ts diff --git a/frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.css b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.css similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.css rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.css diff --git a/frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.test.tsx b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.test.tsx similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.test.tsx rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.test.tsx diff --git a/frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.tsx b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.tsx similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.tsx rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/comment-form__subscribe-by-rss.tsx diff --git a/frontend/app/components/comment-form/__subscribe-by-rss/index.ts b/frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/index.ts similarity index 100% rename from frontend/app/components/comment-form/__subscribe-by-rss/index.ts rename to frontend/apps/remark42/app/components/comment-form/__subscribe-by-rss/index.ts diff --git a/frontend/app/components/comment-form/_simple/comment-form_simple.css b/frontend/apps/remark42/app/components/comment-form/_simple/comment-form_simple.css similarity index 100% rename from frontend/app/components/comment-form/_simple/comment-form_simple.css rename to frontend/apps/remark42/app/components/comment-form/_simple/comment-form_simple.css diff --git a/frontend/app/components/comment-form/_theme/_dark/comment-form_theme_dark.css b/frontend/apps/remark42/app/components/comment-form/_theme/_dark/comment-form_theme_dark.css similarity index 100% rename from frontend/app/components/comment-form/_theme/_dark/comment-form_theme_dark.css rename to frontend/apps/remark42/app/components/comment-form/_theme/_dark/comment-form_theme_dark.css diff --git a/frontend/app/components/comment-form/_theme/_light/comment-form_theme_light.css b/frontend/apps/remark42/app/components/comment-form/_theme/_light/comment-form_theme_light.css similarity index 100% rename from frontend/app/components/comment-form/_theme/_light/comment-form_theme_light.css rename to frontend/apps/remark42/app/components/comment-form/_theme/_light/comment-form_theme_light.css diff --git a/frontend/app/components/comment-form/comment-form.css b/frontend/apps/remark42/app/components/comment-form/comment-form.css similarity index 100% rename from frontend/app/components/comment-form/comment-form.css rename to frontend/apps/remark42/app/components/comment-form/comment-form.css diff --git a/frontend/app/components/comment-form/comment-form.persist.ts b/frontend/apps/remark42/app/components/comment-form/comment-form.persist.ts similarity index 100% rename from frontend/app/components/comment-form/comment-form.persist.ts rename to frontend/apps/remark42/app/components/comment-form/comment-form.persist.ts diff --git a/frontend/app/components/comment-form/comment-form.spec.tsx b/frontend/apps/remark42/app/components/comment-form/comment-form.spec.tsx similarity index 100% rename from frontend/app/components/comment-form/comment-form.spec.tsx rename to frontend/apps/remark42/app/components/comment-form/comment-form.spec.tsx diff --git a/frontend/app/components/comment-form/comment-form.tsx b/frontend/apps/remark42/app/components/comment-form/comment-form.tsx similarity index 100% rename from frontend/app/components/comment-form/comment-form.tsx rename to frontend/apps/remark42/app/components/comment-form/comment-form.tsx diff --git a/frontend/app/components/comment-form/index.ts b/frontend/apps/remark42/app/components/comment-form/index.ts similarity index 100% rename from frontend/app/components/comment-form/index.ts rename to frontend/apps/remark42/app/components/comment-form/index.ts diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/bold-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/bold-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/bold-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/bold-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/code-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/code-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/code-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/code-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/header-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/header-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/header-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/header-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/image-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/image-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/image-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/image-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/italic-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/italic-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/italic-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/italic-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/link-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/link-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/link-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/link-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/ordered-list-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/ordered-list-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/ordered-list-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/ordered-list-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/quote-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/quote-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/quote-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/quote-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar-icons/unordered-list-icon.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/unordered-list-icon.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar-icons/unordered-list-icon.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar-icons/unordered-list-icon.tsx diff --git a/frontend/app/components/comment-form/markdown-toolbar.tsx b/frontend/apps/remark42/app/components/comment-form/markdown-toolbar.tsx similarity index 100% rename from frontend/app/components/comment-form/markdown-toolbar.tsx rename to frontend/apps/remark42/app/components/comment-form/markdown-toolbar.tsx diff --git a/frontend/app/components/comment-form/text-expander.module.css b/frontend/apps/remark42/app/components/comment-form/text-expander.module.css similarity index 100% rename from frontend/app/components/comment-form/text-expander.module.css rename to frontend/apps/remark42/app/components/comment-form/text-expander.module.css diff --git a/frontend/app/components/comment-form/text-expander.tsx b/frontend/apps/remark42/app/components/comment-form/text-expander.tsx similarity index 100% rename from frontend/app/components/comment-form/text-expander.tsx rename to frontend/apps/remark42/app/components/comment-form/text-expander.tsx diff --git a/frontend/app/components/comment/__body/comment__body.css b/frontend/apps/remark42/app/components/comment/__body/comment__body.css similarity index 100% rename from frontend/app/components/comment/__body/comment__body.css rename to frontend/apps/remark42/app/components/comment/__body/comment__body.css diff --git a/frontend/app/components/comment/__info/comment__info.css b/frontend/apps/remark42/app/components/comment/__info/comment__info.css similarity index 100% rename from frontend/app/components/comment/__info/comment__info.css rename to frontend/apps/remark42/app/components/comment/__info/comment__info.css diff --git a/frontend/app/components/comment/__input/comment__input.css b/frontend/apps/remark42/app/components/comment/__input/comment__input.css similarity index 100% rename from frontend/app/components/comment/__input/comment__input.css rename to frontend/apps/remark42/app/components/comment/__input/comment__input.css diff --git a/frontend/app/components/comment/__link-to-parent/_focused/comment__link-to-parent__focused.svg b/frontend/apps/remark42/app/components/comment/__link-to-parent/_focused/comment__link-to-parent__focused.svg similarity index 100% rename from frontend/app/components/comment/__link-to-parent/_focused/comment__link-to-parent__focused.svg rename to frontend/apps/remark42/app/components/comment/__link-to-parent/_focused/comment__link-to-parent__focused.svg diff --git a/frontend/app/components/comment/__link-to-parent/comment__link-to-parent.css b/frontend/apps/remark42/app/components/comment/__link-to-parent/comment__link-to-parent.css similarity index 100% rename from frontend/app/components/comment/__link-to-parent/comment__link-to-parent.css rename to frontend/apps/remark42/app/components/comment/__link-to-parent/comment__link-to-parent.css diff --git a/frontend/app/components/comment/__link-to-parent/comment__link-to-parent.svg b/frontend/apps/remark42/app/components/comment/__link-to-parent/comment__link-to-parent.svg similarity index 100% rename from frontend/app/components/comment/__link-to-parent/comment__link-to-parent.svg rename to frontend/apps/remark42/app/components/comment/__link-to-parent/comment__link-to-parent.svg diff --git a/frontend/app/components/comment/__status/comment__status.css b/frontend/apps/remark42/app/components/comment/__status/comment__status.css similarity index 100% rename from frontend/app/components/comment/__status/comment__status.css rename to frontend/apps/remark42/app/components/comment/__status/comment__status.css diff --git a/frontend/app/components/comment/__text/comment__text.css b/frontend/apps/remark42/app/components/comment/__text/comment__text.css similarity index 100% rename from frontend/app/components/comment/__text/comment__text.css rename to frontend/apps/remark42/app/components/comment/__text/comment__text.css diff --git a/frontend/app/components/comment/__time/comment__time.css b/frontend/apps/remark42/app/components/comment/__time/comment__time.css similarity index 100% rename from frontend/app/components/comment/__time/comment__time.css rename to frontend/apps/remark42/app/components/comment/__time/comment__time.css diff --git a/frontend/app/components/comment/__user-id/comment__user-id.css b/frontend/apps/remark42/app/components/comment/__user-id/comment__user-id.css similarity index 100% rename from frontend/app/components/comment/__user-id/comment__user-id.css rename to frontend/apps/remark42/app/components/comment/__user-id/comment__user-id.css diff --git a/frontend/app/components/comment/__username/comment__username.css b/frontend/apps/remark42/app/components/comment/__username/comment__username.css similarity index 100% rename from frontend/app/components/comment/__username/comment__username.css rename to frontend/apps/remark42/app/components/comment/__username/comment__username.css diff --git a/frontend/app/components/comment/_collapsed/comment_collapsed.css b/frontend/apps/remark42/app/components/comment/_collapsed/comment_collapsed.css similarity index 100% rename from frontend/app/components/comment/_collapsed/comment_collapsed.css rename to frontend/apps/remark42/app/components/comment/_collapsed/comment_collapsed.css diff --git a/frontend/app/components/comment/_editing/comment_editing.css b/frontend/apps/remark42/app/components/comment/_editing/comment_editing.css similarity index 100% rename from frontend/app/components/comment/_editing/comment_editing.css rename to frontend/apps/remark42/app/components/comment/_editing/comment_editing.css diff --git a/frontend/app/components/comment/_replying/comment_replying.css b/frontend/apps/remark42/app/components/comment/_replying/comment_replying.css similarity index 100% rename from frontend/app/components/comment/_replying/comment_replying.css rename to frontend/apps/remark42/app/components/comment/_replying/comment_replying.css diff --git a/frontend/app/components/comment/_theme/_dark/comment_theme_dark.css b/frontend/apps/remark42/app/components/comment/_theme/_dark/comment_theme_dark.css similarity index 100% rename from frontend/app/components/comment/_theme/_dark/comment_theme_dark.css rename to frontend/apps/remark42/app/components/comment/_theme/_dark/comment_theme_dark.css diff --git a/frontend/app/components/comment/_theme/_light/comment_theme_light.css b/frontend/apps/remark42/app/components/comment/_theme/_light/comment_theme_light.css similarity index 100% rename from frontend/app/components/comment/_theme/_light/comment_theme_light.css rename to frontend/apps/remark42/app/components/comment/_theme/_light/comment_theme_light.css diff --git a/frontend/app/components/comment/_useless/comment_useless.css b/frontend/apps/remark42/app/components/comment/_useless/comment_useless.css similarity index 100% rename from frontend/app/components/comment/_useless/comment_useless.css rename to frontend/apps/remark42/app/components/comment/_useless/comment_useless.css diff --git a/frontend/app/components/comment/_view/_admin/comment_view_admin.css b/frontend/apps/remark42/app/components/comment/_view/_admin/comment_view_admin.css similarity index 100% rename from frontend/app/components/comment/_view/_admin/comment_view_admin.css rename to frontend/apps/remark42/app/components/comment/_view/_admin/comment_view_admin.css diff --git a/frontend/app/components/comment/_view/_preview/comment_view_preview.css b/frontend/apps/remark42/app/components/comment/_view/_preview/comment_view_preview.css similarity index 100% rename from frontend/app/components/comment/_view/_preview/comment_view_preview.css rename to frontend/apps/remark42/app/components/comment/_view/_preview/comment_view_preview.css diff --git a/frontend/app/components/comment/_view/_user/comment_view_user.css b/frontend/apps/remark42/app/components/comment/_view/_user/comment_view_user.css similarity index 100% rename from frontend/app/components/comment/_view/_user/comment_view_user.css rename to frontend/apps/remark42/app/components/comment/_view/_user/comment_view_user.css diff --git a/frontend/app/components/comment/comment-actions.module.css b/frontend/apps/remark42/app/components/comment/comment-actions.module.css similarity index 100% rename from frontend/app/components/comment/comment-actions.module.css rename to frontend/apps/remark42/app/components/comment/comment-actions.module.css diff --git a/frontend/app/components/comment/comment-actions.spec.tsx b/frontend/apps/remark42/app/components/comment/comment-actions.spec.tsx similarity index 100% rename from frontend/app/components/comment/comment-actions.spec.tsx rename to frontend/apps/remark42/app/components/comment/comment-actions.spec.tsx diff --git a/frontend/app/components/comment/comment-actions.tsx b/frontend/apps/remark42/app/components/comment/comment-actions.tsx similarity index 100% rename from frontend/app/components/comment/comment-actions.tsx rename to frontend/apps/remark42/app/components/comment/comment-actions.tsx diff --git a/frontend/app/components/comment/comment-votes.module.css b/frontend/apps/remark42/app/components/comment/comment-votes.module.css similarity index 100% rename from frontend/app/components/comment/comment-votes.module.css rename to frontend/apps/remark42/app/components/comment/comment-votes.module.css diff --git a/frontend/app/components/comment/comment-votes.spec.tsx b/frontend/apps/remark42/app/components/comment/comment-votes.spec.tsx similarity index 100% rename from frontend/app/components/comment/comment-votes.spec.tsx rename to frontend/apps/remark42/app/components/comment/comment-votes.spec.tsx diff --git a/frontend/app/components/comment/comment-votes.tsx b/frontend/apps/remark42/app/components/comment/comment-votes.tsx similarity index 100% rename from frontend/app/components/comment/comment-votes.tsx rename to frontend/apps/remark42/app/components/comment/comment-votes.tsx diff --git a/frontend/app/components/comment/comment.css b/frontend/apps/remark42/app/components/comment/comment.css similarity index 100% rename from frontend/app/components/comment/comment.css rename to frontend/apps/remark42/app/components/comment/comment.css diff --git a/frontend/app/components/comment/comment.module.css b/frontend/apps/remark42/app/components/comment/comment.module.css similarity index 100% rename from frontend/app/components/comment/comment.module.css rename to frontend/apps/remark42/app/components/comment/comment.module.css diff --git a/frontend/app/components/comment/comment.test.tsx b/frontend/apps/remark42/app/components/comment/comment.test.tsx similarity index 100% rename from frontend/app/components/comment/comment.test.tsx rename to frontend/apps/remark42/app/components/comment/comment.test.tsx diff --git a/frontend/app/components/comment/comment.tsx b/frontend/apps/remark42/app/components/comment/comment.tsx similarity index 100% rename from frontend/app/components/comment/comment.tsx rename to frontend/apps/remark42/app/components/comment/comment.tsx diff --git a/frontend/app/components/comment/connected-comment.tsx b/frontend/apps/remark42/app/components/comment/connected-comment.tsx similarity index 100% rename from frontend/app/components/comment/connected-comment.tsx rename to frontend/apps/remark42/app/components/comment/connected-comment.tsx diff --git a/frontend/app/components/comment/getBlockingDurations.ts b/frontend/apps/remark42/app/components/comment/getBlockingDurations.ts similarity index 100% rename from frontend/app/components/comment/getBlockingDurations.ts rename to frontend/apps/remark42/app/components/comment/getBlockingDurations.ts diff --git a/frontend/app/components/comment/index.ts b/frontend/apps/remark42/app/components/comment/index.ts similarity index 100% rename from frontend/app/components/comment/index.ts rename to frontend/apps/remark42/app/components/comment/index.ts diff --git a/frontend/app/components/comment/styles.ts b/frontend/apps/remark42/app/components/comment/styles.ts similarity index 100% rename from frontend/app/components/comment/styles.ts rename to frontend/apps/remark42/app/components/comment/styles.ts diff --git a/frontend/app/components/countdown.tsx b/frontend/apps/remark42/app/components/countdown.tsx similarity index 100% rename from frontend/app/components/countdown.tsx rename to frontend/apps/remark42/app/components/countdown.tsx diff --git a/frontend/app/components/dropdown/__content/dropdown__content.css b/frontend/apps/remark42/app/components/dropdown/__content/dropdown__content.css similarity index 100% rename from frontend/app/components/dropdown/__content/dropdown__content.css rename to frontend/apps/remark42/app/components/dropdown/__content/dropdown__content.css diff --git a/frontend/app/components/dropdown/__item/dropdown__item.css b/frontend/apps/remark42/app/components/dropdown/__item/dropdown__item.css similarity index 100% rename from frontend/app/components/dropdown/__item/dropdown__item.css rename to frontend/apps/remark42/app/components/dropdown/__item/dropdown__item.css diff --git a/frontend/app/components/dropdown/__item/dropdown__item.tsx b/frontend/apps/remark42/app/components/dropdown/__item/dropdown__item.tsx similarity index 100% rename from frontend/app/components/dropdown/__item/dropdown__item.tsx rename to frontend/apps/remark42/app/components/dropdown/__item/dropdown__item.tsx diff --git a/frontend/app/components/dropdown/__item/index.ts b/frontend/apps/remark42/app/components/dropdown/__item/index.ts similarity index 100% rename from frontend/app/components/dropdown/__item/index.ts rename to frontend/apps/remark42/app/components/dropdown/__item/index.ts diff --git a/frontend/app/components/dropdown/__items/dropdown__items.css b/frontend/apps/remark42/app/components/dropdown/__items/dropdown__items.css similarity index 100% rename from frontend/app/components/dropdown/__items/dropdown__items.css rename to frontend/apps/remark42/app/components/dropdown/__items/dropdown__items.css diff --git a/frontend/app/components/dropdown/__title/dropdown__title.css b/frontend/apps/remark42/app/components/dropdown/__title/dropdown__title.css similarity index 100% rename from frontend/app/components/dropdown/__title/dropdown__title.css rename to frontend/apps/remark42/app/components/dropdown/__title/dropdown__title.css diff --git a/frontend/app/components/dropdown/_active/dropdown_active.css b/frontend/apps/remark42/app/components/dropdown/_active/dropdown_active.css similarity index 100% rename from frontend/app/components/dropdown/_active/dropdown_active.css rename to frontend/apps/remark42/app/components/dropdown/_active/dropdown_active.css diff --git a/frontend/app/components/dropdown/_theme/_dark/dropdown_theme_dark.css b/frontend/apps/remark42/app/components/dropdown/_theme/_dark/dropdown_theme_dark.css similarity index 100% rename from frontend/app/components/dropdown/_theme/_dark/dropdown_theme_dark.css rename to frontend/apps/remark42/app/components/dropdown/_theme/_dark/dropdown_theme_dark.css diff --git a/frontend/app/components/dropdown/_theme/_light/dropdown_theme_light.css b/frontend/apps/remark42/app/components/dropdown/_theme/_light/dropdown_theme_light.css similarity index 100% rename from frontend/app/components/dropdown/_theme/_light/dropdown_theme_light.css rename to frontend/apps/remark42/app/components/dropdown/_theme/_light/dropdown_theme_light.css diff --git a/frontend/app/components/dropdown/dropdown.css b/frontend/apps/remark42/app/components/dropdown/dropdown.css similarity index 100% rename from frontend/app/components/dropdown/dropdown.css rename to frontend/apps/remark42/app/components/dropdown/dropdown.css diff --git a/frontend/app/components/dropdown/dropdown.tsx b/frontend/apps/remark42/app/components/dropdown/dropdown.tsx similarity index 100% rename from frontend/app/components/dropdown/dropdown.tsx rename to frontend/apps/remark42/app/components/dropdown/dropdown.tsx diff --git a/frontend/app/components/dropdown/index.ts b/frontend/apps/remark42/app/components/dropdown/index.ts similarity index 100% rename from frontend/app/components/dropdown/index.ts rename to frontend/apps/remark42/app/components/dropdown/index.ts diff --git a/frontend/app/components/icon-button/icon-button.module.css b/frontend/apps/remark42/app/components/icon-button/icon-button.module.css similarity index 100% rename from frontend/app/components/icon-button/icon-button.module.css rename to frontend/apps/remark42/app/components/icon-button/icon-button.module.css diff --git a/frontend/app/components/icon-button/icon-button.tsx b/frontend/apps/remark42/app/components/icon-button/icon-button.tsx similarity index 100% rename from frontend/app/components/icon-button/icon-button.tsx rename to frontend/apps/remark42/app/components/icon-button/icon-button.tsx diff --git a/frontend/app/components/icons/arrow.spec.tsx b/frontend/apps/remark42/app/components/icons/arrow.spec.tsx similarity index 100% rename from frontend/app/components/icons/arrow.spec.tsx rename to frontend/apps/remark42/app/components/icons/arrow.spec.tsx diff --git a/frontend/app/components/icons/arrow.tsx b/frontend/apps/remark42/app/components/icons/arrow.tsx similarity index 100% rename from frontend/app/components/icons/arrow.tsx rename to frontend/apps/remark42/app/components/icons/arrow.tsx diff --git a/frontend/app/components/icons/cross.tsx b/frontend/apps/remark42/app/components/icons/cross.tsx similarity index 100% rename from frontend/app/components/icons/cross.tsx rename to frontend/apps/remark42/app/components/icons/cross.tsx diff --git a/frontend/app/components/icons/signout.tsx b/frontend/apps/remark42/app/components/icons/signout.tsx similarity index 100% rename from frontend/app/components/icons/signout.tsx rename to frontend/apps/remark42/app/components/icons/signout.tsx diff --git a/frontend/app/components/icons/verification.spec.tsx b/frontend/apps/remark42/app/components/icons/verification.spec.tsx similarity index 100% rename from frontend/app/components/icons/verification.spec.tsx rename to frontend/apps/remark42/app/components/icons/verification.spec.tsx diff --git a/frontend/app/components/icons/verification.tsx b/frontend/apps/remark42/app/components/icons/verification.tsx similarity index 100% rename from frontend/app/components/icons/verification.tsx rename to frontend/apps/remark42/app/components/icons/verification.tsx diff --git a/frontend/app/components/input/index.ts b/frontend/apps/remark42/app/components/input/index.ts similarity index 100% rename from frontend/app/components/input/index.ts rename to frontend/apps/remark42/app/components/input/index.ts diff --git a/frontend/app/components/input/input.module.css b/frontend/apps/remark42/app/components/input/input.module.css similarity index 100% rename from frontend/app/components/input/input.module.css rename to frontend/apps/remark42/app/components/input/input.module.css diff --git a/frontend/app/components/input/input.tsx b/frontend/apps/remark42/app/components/input/input.tsx similarity index 100% rename from frontend/app/components/input/input.tsx rename to frontend/apps/remark42/app/components/input/input.tsx diff --git a/frontend/app/components/list-comments/__item/list-comments__item.css b/frontend/apps/remark42/app/components/list-comments/__item/list-comments__item.css similarity index 100% rename from frontend/app/components/list-comments/__item/list-comments__item.css rename to frontend/apps/remark42/app/components/list-comments/__item/list-comments__item.css diff --git a/frontend/app/components/list-comments/index.ts b/frontend/apps/remark42/app/components/list-comments/index.ts similarity index 100% rename from frontend/app/components/list-comments/index.ts rename to frontend/apps/remark42/app/components/list-comments/index.ts diff --git a/frontend/app/components/list-comments/list-comments.tsx b/frontend/apps/remark42/app/components/list-comments/list-comments.tsx similarity index 100% rename from frontend/app/components/list-comments/list-comments.tsx rename to frontend/apps/remark42/app/components/list-comments/list-comments.tsx diff --git a/frontend/app/components/preloader.tsx b/frontend/apps/remark42/app/components/preloader.tsx similarity index 100% rename from frontend/app/components/preloader.tsx rename to frontend/apps/remark42/app/components/preloader.tsx diff --git a/frontend/app/components/profile/components/counter/counter.module.css b/frontend/apps/remark42/app/components/profile/components/counter/counter.module.css similarity index 100% rename from frontend/app/components/profile/components/counter/counter.module.css rename to frontend/apps/remark42/app/components/profile/components/counter/counter.module.css diff --git a/frontend/app/components/profile/components/counter/counter.spec.tsx b/frontend/apps/remark42/app/components/profile/components/counter/counter.spec.tsx similarity index 100% rename from frontend/app/components/profile/components/counter/counter.spec.tsx rename to frontend/apps/remark42/app/components/profile/components/counter/counter.spec.tsx diff --git a/frontend/app/components/profile/components/counter/counter.tsx b/frontend/apps/remark42/app/components/profile/components/counter/counter.tsx similarity index 100% rename from frontend/app/components/profile/components/counter/counter.tsx rename to frontend/apps/remark42/app/components/profile/components/counter/counter.tsx diff --git a/frontend/app/components/profile/components/counter/index.ts b/frontend/apps/remark42/app/components/profile/components/counter/index.ts similarity index 100% rename from frontend/app/components/profile/components/counter/index.ts rename to frontend/apps/remark42/app/components/profile/components/counter/index.ts diff --git a/frontend/app/components/profile/index.ts b/frontend/apps/remark42/app/components/profile/index.ts similarity index 100% rename from frontend/app/components/profile/index.ts rename to frontend/apps/remark42/app/components/profile/index.ts diff --git a/frontend/app/components/profile/profile.module.css b/frontend/apps/remark42/app/components/profile/profile.module.css similarity index 100% rename from frontend/app/components/profile/profile.module.css rename to frontend/apps/remark42/app/components/profile/profile.module.css diff --git a/frontend/app/components/profile/profile.spec.tsx b/frontend/apps/remark42/app/components/profile/profile.spec.tsx similarity index 100% rename from frontend/app/components/profile/profile.spec.tsx rename to frontend/apps/remark42/app/components/profile/profile.spec.tsx diff --git a/frontend/app/components/profile/profile.tsx b/frontend/apps/remark42/app/components/profile/profile.tsx similarity index 100% rename from frontend/app/components/profile/profile.tsx rename to frontend/apps/remark42/app/components/profile/profile.tsx diff --git a/frontend/app/components/raw-content/_theme/_dark/raw-content_theme_dark.css b/frontend/apps/remark42/app/components/raw-content/_theme/_dark/raw-content_theme_dark.css similarity index 100% rename from frontend/app/components/raw-content/_theme/_dark/raw-content_theme_dark.css rename to frontend/apps/remark42/app/components/raw-content/_theme/_dark/raw-content_theme_dark.css diff --git a/frontend/app/components/raw-content/_theme/_light/raw-content_theme_light.css b/frontend/apps/remark42/app/components/raw-content/_theme/_light/raw-content_theme_light.css similarity index 100% rename from frontend/app/components/raw-content/_theme/_light/raw-content_theme_light.css rename to frontend/apps/remark42/app/components/raw-content/_theme/_light/raw-content_theme_light.css diff --git a/frontend/app/components/raw-content/code-highlight.css b/frontend/apps/remark42/app/components/raw-content/code-highlight.css similarity index 100% rename from frontend/app/components/raw-content/code-highlight.css rename to frontend/apps/remark42/app/components/raw-content/code-highlight.css diff --git a/frontend/app/components/raw-content/index.ts b/frontend/apps/remark42/app/components/raw-content/index.ts similarity index 100% rename from frontend/app/components/raw-content/index.ts rename to frontend/apps/remark42/app/components/raw-content/index.ts diff --git a/frontend/app/components/raw-content/raw-content.css b/frontend/apps/remark42/app/components/raw-content/raw-content.css similarity index 100% rename from frontend/app/components/raw-content/raw-content.css rename to frontend/apps/remark42/app/components/raw-content/raw-content.css diff --git a/frontend/app/components/root/__copyright/root__copyright.css b/frontend/apps/remark42/app/components/root/__copyright/root__copyright.css similarity index 100% rename from frontend/app/components/root/__copyright/root__copyright.css rename to frontend/apps/remark42/app/components/root/__copyright/root__copyright.css diff --git a/frontend/app/components/root/__input/root__input.css b/frontend/apps/remark42/app/components/root/__input/root__input.css similarity index 100% rename from frontend/app/components/root/__input/root__input.css rename to frontend/apps/remark42/app/components/root/__input/root__input.css diff --git a/frontend/app/components/root/__pinned-comment/root__pinned-comment.css b/frontend/apps/remark42/app/components/root/__pinned-comment/root__pinned-comment.css similarity index 100% rename from frontend/app/components/root/__pinned-comment/root__pinned-comment.css rename to frontend/apps/remark42/app/components/root/__pinned-comment/root__pinned-comment.css diff --git a/frontend/app/components/root/__pinned-comments/root__pinned-comments.css b/frontend/apps/remark42/app/components/root/__pinned-comments/root__pinned-comments.css similarity index 100% rename from frontend/app/components/root/__pinned-comments/root__pinned-comments.css rename to frontend/apps/remark42/app/components/root/__pinned-comments/root__pinned-comments.css diff --git a/frontend/app/components/root/__preloader/root__preloader.css b/frontend/apps/remark42/app/components/root/__preloader/root__preloader.css similarity index 100% rename from frontend/app/components/root/__preloader/root__preloader.css rename to frontend/apps/remark42/app/components/root/__preloader/root__preloader.css diff --git a/frontend/app/components/root/__thread/root__thread.css b/frontend/apps/remark42/app/components/root/__thread/root__thread.css similarity index 100% rename from frontend/app/components/root/__thread/root__thread.css rename to frontend/apps/remark42/app/components/root/__thread/root__thread.css diff --git a/frontend/app/components/root/__threads/root__threads.css b/frontend/apps/remark42/app/components/root/__threads/root__threads.css similarity index 100% rename from frontend/app/components/root/__threads/root__threads.css rename to frontend/apps/remark42/app/components/root/__threads/root__threads.css diff --git a/frontend/app/components/root/_theme/_dark/root_theme_dark.css b/frontend/apps/remark42/app/components/root/_theme/_dark/root_theme_dark.css similarity index 100% rename from frontend/app/components/root/_theme/_dark/root_theme_dark.css rename to frontend/apps/remark42/app/components/root/_theme/_dark/root_theme_dark.css diff --git a/frontend/app/components/root/_theme/_light/root_theme_light.css b/frontend/apps/remark42/app/components/root/_theme/_light/root_theme_light.css similarity index 100% rename from frontend/app/components/root/_theme/_light/root_theme_light.css rename to frontend/apps/remark42/app/components/root/_theme/_light/root_theme_light.css diff --git a/frontend/app/components/root/in-view/in-view.tsx b/frontend/apps/remark42/app/components/root/in-view/in-view.tsx similarity index 100% rename from frontend/app/components/root/in-view/in-view.tsx rename to frontend/apps/remark42/app/components/root/in-view/in-view.tsx diff --git a/frontend/app/components/root/index.ts b/frontend/apps/remark42/app/components/root/index.ts similarity index 100% rename from frontend/app/components/root/index.ts rename to frontend/apps/remark42/app/components/root/index.ts diff --git a/frontend/app/components/root/root.css b/frontend/apps/remark42/app/components/root/root.css similarity index 100% rename from frontend/app/components/root/root.css rename to frontend/apps/remark42/app/components/root/root.css diff --git a/frontend/app/components/root/root.module.css b/frontend/apps/remark42/app/components/root/root.module.css similarity index 100% rename from frontend/app/components/root/root.module.css rename to frontend/apps/remark42/app/components/root/root.module.css diff --git a/frontend/app/components/root/root.tsx b/frontend/apps/remark42/app/components/root/root.tsx similarity index 100% rename from frontend/app/components/root/root.tsx rename to frontend/apps/remark42/app/components/root/root.tsx diff --git a/frontend/app/components/select/index.ts b/frontend/apps/remark42/app/components/select/index.ts similarity index 100% rename from frontend/app/components/select/index.ts rename to frontend/apps/remark42/app/components/select/index.ts diff --git a/frontend/app/components/select/select.module.css b/frontend/apps/remark42/app/components/select/select.module.css similarity index 100% rename from frontend/app/components/select/select.module.css rename to frontend/apps/remark42/app/components/select/select.module.css diff --git a/frontend/app/components/select/select.spec.tsx b/frontend/apps/remark42/app/components/select/select.spec.tsx similarity index 100% rename from frontend/app/components/select/select.spec.tsx rename to frontend/apps/remark42/app/components/select/select.spec.tsx diff --git a/frontend/app/components/select/select.tsx b/frontend/apps/remark42/app/components/select/select.tsx similarity index 100% rename from frontend/app/components/select/select.tsx rename to frontend/apps/remark42/app/components/select/select.tsx diff --git a/frontend/app/components/settings/__action/settings__action.css b/frontend/apps/remark42/app/components/settings/__action/settings__action.css similarity index 100% rename from frontend/app/components/settings/__action/settings__action.css rename to frontend/apps/remark42/app/components/settings/__action/settings__action.css diff --git a/frontend/app/components/settings/__dimmed/settings__dimmed.css b/frontend/apps/remark42/app/components/settings/__dimmed/settings__dimmed.css similarity index 100% rename from frontend/app/components/settings/__dimmed/settings__dimmed.css rename to frontend/apps/remark42/app/components/settings/__dimmed/settings__dimmed.css diff --git a/frontend/app/components/settings/__invisible/settings__invisible.css b/frontend/apps/remark42/app/components/settings/__invisible/settings__invisible.css similarity index 100% rename from frontend/app/components/settings/__invisible/settings__invisible.css rename to frontend/apps/remark42/app/components/settings/__invisible/settings__invisible.css diff --git a/frontend/app/components/settings/__list/settings__list.css b/frontend/apps/remark42/app/components/settings/__list/settings__list.css similarity index 100% rename from frontend/app/components/settings/__list/settings__list.css rename to frontend/apps/remark42/app/components/settings/__list/settings__list.css diff --git a/frontend/app/components/settings/__section/settings__section.css b/frontend/apps/remark42/app/components/settings/__section/settings__section.css similarity index 100% rename from frontend/app/components/settings/__section/settings__section.css rename to frontend/apps/remark42/app/components/settings/__section/settings__section.css diff --git a/frontend/app/components/settings/__user-id/settings__user-id.css b/frontend/apps/remark42/app/components/settings/__user-id/settings__user-id.css similarity index 100% rename from frontend/app/components/settings/__user-id/settings__user-id.css rename to frontend/apps/remark42/app/components/settings/__user-id/settings__user-id.css diff --git a/frontend/app/components/settings/__username/settings__username.css b/frontend/apps/remark42/app/components/settings/__username/settings__username.css similarity index 100% rename from frontend/app/components/settings/__username/settings__username.css rename to frontend/apps/remark42/app/components/settings/__username/settings__username.css diff --git a/frontend/app/components/settings/_theme/_dark/settings_theme_dark.css b/frontend/apps/remark42/app/components/settings/_theme/_dark/settings_theme_dark.css similarity index 100% rename from frontend/app/components/settings/_theme/_dark/settings_theme_dark.css rename to frontend/apps/remark42/app/components/settings/_theme/_dark/settings_theme_dark.css diff --git a/frontend/app/components/settings/_theme/_light/settings_theme_light.css b/frontend/apps/remark42/app/components/settings/_theme/_light/settings_theme_light.css similarity index 100% rename from frontend/app/components/settings/_theme/_light/settings_theme_light.css rename to frontend/apps/remark42/app/components/settings/_theme/_light/settings_theme_light.css diff --git a/frontend/app/components/settings/index.ts b/frontend/apps/remark42/app/components/settings/index.ts similarity index 100% rename from frontend/app/components/settings/index.ts rename to frontend/apps/remark42/app/components/settings/index.ts diff --git a/frontend/app/components/settings/settings.css b/frontend/apps/remark42/app/components/settings/settings.css similarity index 100% rename from frontend/app/components/settings/settings.css rename to frontend/apps/remark42/app/components/settings/settings.css diff --git a/frontend/app/components/settings/settings.tsx b/frontend/apps/remark42/app/components/settings/settings.tsx similarity index 100% rename from frontend/app/components/settings/settings.tsx rename to frontend/apps/remark42/app/components/settings/settings.tsx diff --git a/frontend/app/components/sort-picker.spec.tsx b/frontend/apps/remark42/app/components/sort-picker.spec.tsx similarity index 100% rename from frontend/app/components/sort-picker.spec.tsx rename to frontend/apps/remark42/app/components/sort-picker.spec.tsx diff --git a/frontend/app/components/sort-picker.tsx b/frontend/apps/remark42/app/components/sort-picker.tsx similarity index 100% rename from frontend/app/components/sort-picker.tsx rename to frontend/apps/remark42/app/components/sort-picker.tsx diff --git a/frontend/app/components/spinner/spinner.module.css b/frontend/apps/remark42/app/components/spinner/spinner.module.css similarity index 100% rename from frontend/app/components/spinner/spinner.module.css rename to frontend/apps/remark42/app/components/spinner/spinner.module.css diff --git a/frontend/app/components/spinner/spinner.tsx b/frontend/apps/remark42/app/components/spinner/spinner.tsx similarity index 100% rename from frontend/app/components/spinner/spinner.tsx rename to frontend/apps/remark42/app/components/spinner/spinner.tsx diff --git a/frontend/app/components/textarea-autosize.tsx b/frontend/apps/remark42/app/components/textarea-autosize.tsx similarity index 100% rename from frontend/app/components/textarea-autosize.tsx rename to frontend/apps/remark42/app/components/textarea-autosize.tsx diff --git a/frontend/app/components/thread/__collapse/thread__collapse.css b/frontend/apps/remark42/app/components/thread/__collapse/thread__collapse.css similarity index 100% rename from frontend/app/components/thread/__collapse/thread__collapse.css rename to frontend/apps/remark42/app/components/thread/__collapse/thread__collapse.css diff --git a/frontend/app/components/thread/_theme_dark/thread_theme_dark.css b/frontend/apps/remark42/app/components/thread/_theme_dark/thread_theme_dark.css similarity index 100% rename from frontend/app/components/thread/_theme_dark/thread_theme_dark.css rename to frontend/apps/remark42/app/components/thread/_theme_dark/thread_theme_dark.css diff --git a/frontend/app/components/thread/index.ts b/frontend/apps/remark42/app/components/thread/index.ts similarity index 100% rename from frontend/app/components/thread/index.ts rename to frontend/apps/remark42/app/components/thread/index.ts diff --git a/frontend/app/components/thread/thread.css b/frontend/apps/remark42/app/components/thread/thread.css similarity index 100% rename from frontend/app/components/thread/thread.css rename to frontend/apps/remark42/app/components/thread/thread.css diff --git a/frontend/app/components/thread/thread.tsx b/frontend/apps/remark42/app/components/thread/thread.tsx similarity index 100% rename from frontend/app/components/thread/thread.tsx rename to frontend/apps/remark42/app/components/thread/thread.tsx diff --git a/frontend/app/components/tooltip/index.ts b/frontend/apps/remark42/app/components/tooltip/index.ts similarity index 100% rename from frontend/app/components/tooltip/index.ts rename to frontend/apps/remark42/app/components/tooltip/index.ts diff --git a/frontend/app/components/tooltip/tooltip.module.css b/frontend/apps/remark42/app/components/tooltip/tooltip.module.css similarity index 100% rename from frontend/app/components/tooltip/tooltip.module.css rename to frontend/apps/remark42/app/components/tooltip/tooltip.module.css diff --git a/frontend/app/components/tooltip/tooltip.spec.tsx b/frontend/apps/remark42/app/components/tooltip/tooltip.spec.tsx similarity index 100% rename from frontend/app/components/tooltip/tooltip.spec.tsx rename to frontend/apps/remark42/app/components/tooltip/tooltip.spec.tsx diff --git a/frontend/app/components/tooltip/tooltip.tsx b/frontend/apps/remark42/app/components/tooltip/tooltip.tsx similarity index 100% rename from frontend/app/components/tooltip/tooltip.tsx rename to frontend/apps/remark42/app/components/tooltip/tooltip.tsx diff --git a/frontend/app/counter.ts b/frontend/apps/remark42/app/counter.ts similarity index 100% rename from frontend/app/counter.ts rename to frontend/apps/remark42/app/counter.ts diff --git a/frontend/app/deleteme.ts b/frontend/apps/remark42/app/deleteme.ts similarity index 100% rename from frontend/app/deleteme.ts rename to frontend/apps/remark42/app/deleteme.ts diff --git a/frontend/app/embed.ts b/frontend/apps/remark42/app/embed.ts similarity index 100% rename from frontend/app/embed.ts rename to frontend/apps/remark42/app/embed.ts diff --git a/frontend/app/hooks/useAction.ts b/frontend/apps/remark42/app/hooks/useAction.ts similarity index 100% rename from frontend/app/hooks/useAction.ts rename to frontend/apps/remark42/app/hooks/useAction.ts diff --git a/frontend/app/hooks/useTheme.ts b/frontend/apps/remark42/app/hooks/useTheme.ts similarity index 100% rename from frontend/app/hooks/useTheme.ts rename to frontend/apps/remark42/app/hooks/useTheme.ts diff --git a/frontend/app/last-comments.tsx b/frontend/apps/remark42/app/last-comments.tsx similarity index 100% rename from frontend/app/last-comments.tsx rename to frontend/apps/remark42/app/last-comments.tsx diff --git a/frontend/app/locales/ar.json b/frontend/apps/remark42/app/locales/ar.json similarity index 100% rename from frontend/app/locales/ar.json rename to frontend/apps/remark42/app/locales/ar.json diff --git a/frontend/app/locales/be.json b/frontend/apps/remark42/app/locales/be.json similarity index 100% rename from frontend/app/locales/be.json rename to frontend/apps/remark42/app/locales/be.json diff --git a/frontend/app/locales/bg.json b/frontend/apps/remark42/app/locales/bg.json similarity index 100% rename from frontend/app/locales/bg.json rename to frontend/apps/remark42/app/locales/bg.json diff --git a/frontend/app/locales/bp.json b/frontend/apps/remark42/app/locales/bp.json similarity index 100% rename from frontend/app/locales/bp.json rename to frontend/apps/remark42/app/locales/bp.json diff --git a/frontend/app/locales/de.json b/frontend/apps/remark42/app/locales/de.json similarity index 100% rename from frontend/app/locales/de.json rename to frontend/apps/remark42/app/locales/de.json diff --git a/frontend/app/locales/en.json b/frontend/apps/remark42/app/locales/en.json similarity index 100% rename from frontend/app/locales/en.json rename to frontend/apps/remark42/app/locales/en.json diff --git a/frontend/app/locales/es.json b/frontend/apps/remark42/app/locales/es.json similarity index 100% rename from frontend/app/locales/es.json rename to frontend/apps/remark42/app/locales/es.json diff --git a/frontend/app/locales/fi.json b/frontend/apps/remark42/app/locales/fi.json similarity index 100% rename from frontend/app/locales/fi.json rename to frontend/apps/remark42/app/locales/fi.json diff --git a/frontend/app/locales/fr.json b/frontend/apps/remark42/app/locales/fr.json similarity index 100% rename from frontend/app/locales/fr.json rename to frontend/apps/remark42/app/locales/fr.json diff --git a/frontend/app/locales/it.json b/frontend/apps/remark42/app/locales/it.json similarity index 100% rename from frontend/app/locales/it.json rename to frontend/apps/remark42/app/locales/it.json diff --git a/frontend/app/locales/ja.json b/frontend/apps/remark42/app/locales/ja.json similarity index 100% rename from frontend/app/locales/ja.json rename to frontend/apps/remark42/app/locales/ja.json diff --git a/frontend/app/locales/ko.json b/frontend/apps/remark42/app/locales/ko.json similarity index 100% rename from frontend/app/locales/ko.json rename to frontend/apps/remark42/app/locales/ko.json diff --git a/frontend/app/locales/pl.json b/frontend/apps/remark42/app/locales/pl.json similarity index 100% rename from frontend/app/locales/pl.json rename to frontend/apps/remark42/app/locales/pl.json diff --git a/frontend/app/locales/ru.json b/frontend/apps/remark42/app/locales/ru.json similarity index 100% rename from frontend/app/locales/ru.json rename to frontend/apps/remark42/app/locales/ru.json diff --git a/frontend/app/locales/tr.json b/frontend/apps/remark42/app/locales/tr.json similarity index 100% rename from frontend/app/locales/tr.json rename to frontend/apps/remark42/app/locales/tr.json diff --git a/frontend/app/locales/ua.json b/frontend/apps/remark42/app/locales/ua.json similarity index 100% rename from frontend/app/locales/ua.json rename to frontend/apps/remark42/app/locales/ua.json diff --git a/frontend/app/locales/vi.json b/frontend/apps/remark42/app/locales/vi.json similarity index 100% rename from frontend/app/locales/vi.json rename to frontend/apps/remark42/app/locales/vi.json diff --git a/frontend/app/locales/zh.json b/frontend/apps/remark42/app/locales/zh.json similarity index 100% rename from frontend/app/locales/zh.json rename to frontend/apps/remark42/app/locales/zh.json diff --git a/frontend/app/profile.ts b/frontend/apps/remark42/app/profile.ts similarity index 100% rename from frontend/app/profile.ts rename to frontend/apps/remark42/app/profile.ts diff --git a/frontend/app/remark.tsx b/frontend/apps/remark42/app/remark.tsx similarity index 100% rename from frontend/app/remark.tsx rename to frontend/apps/remark42/app/remark.tsx diff --git a/frontend/app/store/actions.ts b/frontend/apps/remark42/app/store/actions.ts similarity index 100% rename from frontend/app/store/actions.ts rename to frontend/apps/remark42/app/store/actions.ts diff --git a/frontend/app/store/comments/actions.test.ts b/frontend/apps/remark42/app/store/comments/actions.test.ts similarity index 100% rename from frontend/app/store/comments/actions.test.ts rename to frontend/apps/remark42/app/store/comments/actions.test.ts diff --git a/frontend/app/store/comments/actions.ts b/frontend/apps/remark42/app/store/comments/actions.ts similarity index 100% rename from frontend/app/store/comments/actions.ts rename to frontend/apps/remark42/app/store/comments/actions.ts diff --git a/frontend/app/store/comments/getters.ts b/frontend/apps/remark42/app/store/comments/getters.ts similarity index 100% rename from frontend/app/store/comments/getters.ts rename to frontend/apps/remark42/app/store/comments/getters.ts diff --git a/frontend/app/store/comments/reducers.ts b/frontend/apps/remark42/app/store/comments/reducers.ts similarity index 100% rename from frontend/app/store/comments/reducers.ts rename to frontend/apps/remark42/app/store/comments/reducers.ts diff --git a/frontend/app/store/comments/types.ts b/frontend/apps/remark42/app/store/comments/types.ts similarity index 100% rename from frontend/app/store/comments/types.ts rename to frontend/apps/remark42/app/store/comments/types.ts diff --git a/frontend/app/store/comments/utils.test.ts b/frontend/apps/remark42/app/store/comments/utils.test.ts similarity index 100% rename from frontend/app/store/comments/utils.test.ts rename to frontend/apps/remark42/app/store/comments/utils.test.ts diff --git a/frontend/app/store/comments/utils.ts b/frontend/apps/remark42/app/store/comments/utils.ts similarity index 100% rename from frontend/app/store/comments/utils.ts rename to frontend/apps/remark42/app/store/comments/utils.ts diff --git a/frontend/app/store/index.ts b/frontend/apps/remark42/app/store/index.ts similarity index 100% rename from frontend/app/store/index.ts rename to frontend/apps/remark42/app/store/index.ts diff --git a/frontend/app/store/post-info/actions.ts b/frontend/apps/remark42/app/store/post-info/actions.ts similarity index 100% rename from frontend/app/store/post-info/actions.ts rename to frontend/apps/remark42/app/store/post-info/actions.ts diff --git a/frontend/app/store/post-info/reducers.ts b/frontend/apps/remark42/app/store/post-info/reducers.ts similarity index 100% rename from frontend/app/store/post-info/reducers.ts rename to frontend/apps/remark42/app/store/post-info/reducers.ts diff --git a/frontend/app/store/post-info/types.ts b/frontend/apps/remark42/app/store/post-info/types.ts similarity index 100% rename from frontend/app/store/post-info/types.ts rename to frontend/apps/remark42/app/store/post-info/types.ts diff --git a/frontend/app/store/reducers.ts b/frontend/apps/remark42/app/store/reducers.ts similarity index 100% rename from frontend/app/store/reducers.ts rename to frontend/apps/remark42/app/store/reducers.ts diff --git a/frontend/app/store/theme/actions.ts b/frontend/apps/remark42/app/store/theme/actions.ts similarity index 100% rename from frontend/app/store/theme/actions.ts rename to frontend/apps/remark42/app/store/theme/actions.ts diff --git a/frontend/app/store/theme/reducers.ts b/frontend/apps/remark42/app/store/theme/reducers.ts similarity index 100% rename from frontend/app/store/theme/reducers.ts rename to frontend/apps/remark42/app/store/theme/reducers.ts diff --git a/frontend/app/store/theme/types.ts b/frontend/apps/remark42/app/store/theme/types.ts similarity index 100% rename from frontend/app/store/theme/types.ts rename to frontend/apps/remark42/app/store/theme/types.ts diff --git a/frontend/app/store/thread/actions.ts b/frontend/apps/remark42/app/store/thread/actions.ts similarity index 100% rename from frontend/app/store/thread/actions.ts rename to frontend/apps/remark42/app/store/thread/actions.ts diff --git a/frontend/app/store/thread/getters.ts b/frontend/apps/remark42/app/store/thread/getters.ts similarity index 100% rename from frontend/app/store/thread/getters.ts rename to frontend/apps/remark42/app/store/thread/getters.ts diff --git a/frontend/app/store/thread/reducers.test.ts b/frontend/apps/remark42/app/store/thread/reducers.test.ts similarity index 100% rename from frontend/app/store/thread/reducers.test.ts rename to frontend/apps/remark42/app/store/thread/reducers.test.ts diff --git a/frontend/app/store/thread/reducers.ts b/frontend/apps/remark42/app/store/thread/reducers.ts similarity index 100% rename from frontend/app/store/thread/reducers.ts rename to frontend/apps/remark42/app/store/thread/reducers.ts diff --git a/frontend/app/store/thread/types.ts b/frontend/apps/remark42/app/store/thread/types.ts similarity index 100% rename from frontend/app/store/thread/types.ts rename to frontend/apps/remark42/app/store/thread/types.ts diff --git a/frontend/app/store/thread/utils.ts b/frontend/apps/remark42/app/store/thread/utils.ts similarity index 100% rename from frontend/app/store/thread/utils.ts rename to frontend/apps/remark42/app/store/thread/utils.ts diff --git a/frontend/app/store/user/__stubs__/comments-store.json b/frontend/apps/remark42/app/store/user/__stubs__/comments-store.json similarity index 100% rename from frontend/app/store/user/__stubs__/comments-store.json rename to frontend/apps/remark42/app/store/user/__stubs__/comments-store.json diff --git a/frontend/app/store/user/actions.test.ts b/frontend/apps/remark42/app/store/user/actions.test.ts similarity index 100% rename from frontend/app/store/user/actions.test.ts rename to frontend/apps/remark42/app/store/user/actions.test.ts diff --git a/frontend/app/store/user/actions.ts b/frontend/apps/remark42/app/store/user/actions.ts similarity index 100% rename from frontend/app/store/user/actions.ts rename to frontend/apps/remark42/app/store/user/actions.ts diff --git a/frontend/app/store/user/reducers.test.ts b/frontend/apps/remark42/app/store/user/reducers.test.ts similarity index 100% rename from frontend/app/store/user/reducers.test.ts rename to frontend/apps/remark42/app/store/user/reducers.test.ts diff --git a/frontend/app/store/user/reducers.ts b/frontend/apps/remark42/app/store/user/reducers.ts similarity index 100% rename from frontend/app/store/user/reducers.ts rename to frontend/apps/remark42/app/store/user/reducers.ts diff --git a/frontend/app/store/user/types.ts b/frontend/apps/remark42/app/store/user/types.ts similarity index 100% rename from frontend/app/store/user/types.ts rename to frontend/apps/remark42/app/store/user/types.ts diff --git a/frontend/app/styles/custom-properties.css b/frontend/apps/remark42/app/styles/custom-properties.css similarity index 100% rename from frontend/app/styles/custom-properties.css rename to frontend/apps/remark42/app/styles/custom-properties.css diff --git a/frontend/app/styles/global.css b/frontend/apps/remark42/app/styles/global.css similarity index 100% rename from frontend/app/styles/global.css rename to frontend/apps/remark42/app/styles/global.css diff --git a/frontend/app/tests/utils.tsx b/frontend/apps/remark42/app/tests/utils.tsx similarity index 100% rename from frontend/app/tests/utils.tsx rename to frontend/apps/remark42/app/tests/utils.tsx diff --git a/frontend/app/typings/css-modules.d.ts b/frontend/apps/remark42/app/typings/css-modules.d.ts similarity index 100% rename from frontend/app/typings/css-modules.d.ts rename to frontend/apps/remark42/app/typings/css-modules.d.ts diff --git a/frontend/app/typings/enzyme.d.ts b/frontend/apps/remark42/app/typings/enzyme.d.ts similarity index 100% rename from frontend/app/typings/enzyme.d.ts rename to frontend/apps/remark42/app/typings/enzyme.d.ts diff --git a/frontend/app/typings/global.d.ts b/frontend/apps/remark42/app/typings/global.d.ts similarity index 100% rename from frontend/app/typings/global.d.ts rename to frontend/apps/remark42/app/typings/global.d.ts diff --git a/frontend/app/typings/jest-localstorage-mock.d.ts b/frontend/apps/remark42/app/typings/jest-localstorage-mock.d.ts similarity index 100% rename from frontend/app/typings/jest-localstorage-mock.d.ts rename to frontend/apps/remark42/app/typings/jest-localstorage-mock.d.ts diff --git a/frontend/app/typings/preact.d.ts b/frontend/apps/remark42/app/typings/preact.d.ts similarity index 100% rename from frontend/app/typings/preact.d.ts rename to frontend/apps/remark42/app/typings/preact.d.ts diff --git a/frontend/app/typings/svg.d.ts b/frontend/apps/remark42/app/typings/svg.d.ts similarity index 100% rename from frontend/app/typings/svg.d.ts rename to frontend/apps/remark42/app/typings/svg.d.ts diff --git a/frontend/app/utils/actionBinder.ts b/frontend/apps/remark42/app/utils/actionBinder.ts similarity index 100% rename from frontend/app/utils/actionBinder.ts rename to frontend/apps/remark42/app/utils/actionBinder.ts diff --git a/frontend/app/utils/bench.ts b/frontend/apps/remark42/app/utils/bench.ts similarity index 100% rename from frontend/app/utils/bench.ts rename to frontend/apps/remark42/app/utils/bench.ts diff --git a/frontend/app/utils/capitalize-first-letter.spec.ts b/frontend/apps/remark42/app/utils/capitalize-first-letter.spec.ts similarity index 100% rename from frontend/app/utils/capitalize-first-letter.spec.ts rename to frontend/apps/remark42/app/utils/capitalize-first-letter.spec.ts diff --git a/frontend/app/utils/capitalize-first-letter.ts b/frontend/apps/remark42/app/utils/capitalize-first-letter.ts similarity index 100% rename from frontend/app/utils/capitalize-first-letter.ts rename to frontend/apps/remark42/app/utils/capitalize-first-letter.ts diff --git a/frontend/app/utils/cmpRef.ts b/frontend/apps/remark42/app/utils/cmpRef.ts similarity index 100% rename from frontend/app/utils/cmpRef.ts rename to frontend/apps/remark42/app/utils/cmpRef.ts diff --git a/frontend/app/utils/create-iframe.ts b/frontend/apps/remark42/app/utils/create-iframe.ts similarity index 100% rename from frontend/app/utils/create-iframe.ts rename to frontend/apps/remark42/app/utils/create-iframe.ts diff --git a/frontend/app/utils/debounce.ts b/frontend/apps/remark42/app/utils/debounce.ts similarity index 100% rename from frontend/app/utils/debounce.ts rename to frontend/apps/remark42/app/utils/debounce.ts diff --git a/frontend/app/utils/debug-node.ts b/frontend/apps/remark42/app/utils/debug-node.ts similarity index 100% rename from frontend/app/utils/debug-node.ts rename to frontend/apps/remark42/app/utils/debug-node.ts diff --git a/frontend/app/utils/derequire.ts b/frontend/apps/remark42/app/utils/derequire.ts similarity index 100% rename from frontend/app/utils/derequire.ts rename to frontend/apps/remark42/app/utils/derequire.ts diff --git a/frontend/app/utils/email.ts b/frontend/apps/remark42/app/utils/email.ts similarity index 100% rename from frontend/app/utils/email.ts rename to frontend/apps/remark42/app/utils/email.ts diff --git a/frontend/app/utils/errorUtils.ts b/frontend/apps/remark42/app/utils/errorUtils.ts similarity index 100% rename from frontend/app/utils/errorUtils.ts rename to frontend/apps/remark42/app/utils/errorUtils.ts diff --git a/frontend/app/utils/get-hidden-users.test.ts b/frontend/apps/remark42/app/utils/get-hidden-users.test.ts similarity index 100% rename from frontend/app/utils/get-hidden-users.test.ts rename to frontend/apps/remark42/app/utils/get-hidden-users.test.ts diff --git a/frontend/app/utils/get-hidden-users.ts b/frontend/apps/remark42/app/utils/get-hidden-users.ts similarity index 100% rename from frontend/app/utils/get-hidden-users.ts rename to frontend/apps/remark42/app/utils/get-hidden-users.ts diff --git a/frontend/app/utils/getLocale.ts b/frontend/apps/remark42/app/utils/getLocale.ts similarity index 100% rename from frontend/app/utils/getLocale.ts rename to frontend/apps/remark42/app/utils/getLocale.ts diff --git a/frontend/app/utils/is-object.spec.ts b/frontend/apps/remark42/app/utils/is-object.spec.ts similarity index 100% rename from frontend/app/utils/is-object.spec.ts rename to frontend/apps/remark42/app/utils/is-object.spec.ts diff --git a/frontend/app/utils/is-object.ts b/frontend/apps/remark42/app/utils/is-object.ts similarity index 100% rename from frontend/app/utils/is-object.ts rename to frontend/apps/remark42/app/utils/is-object.ts diff --git a/frontend/app/utils/isUserAnonymous.test.ts b/frontend/apps/remark42/app/utils/isUserAnonymous.test.ts similarity index 100% rename from frontend/app/utils/isUserAnonymous.test.ts rename to frontend/apps/remark42/app/utils/isUserAnonymous.test.ts diff --git a/frontend/app/utils/isUserAnonymous.ts b/frontend/apps/remark42/app/utils/isUserAnonymous.ts similarity index 100% rename from frontend/app/utils/isUserAnonymous.ts rename to frontend/apps/remark42/app/utils/isUserAnonymous.ts diff --git a/frontend/app/utils/jwt.test.ts b/frontend/apps/remark42/app/utils/jwt.test.ts similarity index 100% rename from frontend/app/utils/jwt.test.ts rename to frontend/apps/remark42/app/utils/jwt.test.ts diff --git a/frontend/app/utils/jwt.ts b/frontend/apps/remark42/app/utils/jwt.ts similarity index 100% rename from frontend/app/utils/jwt.ts rename to frontend/apps/remark42/app/utils/jwt.ts diff --git a/frontend/app/utils/loadLocale.ts b/frontend/apps/remark42/app/utils/loadLocale.ts similarity index 100% rename from frontend/app/utils/loadLocale.ts rename to frontend/apps/remark42/app/utils/loadLocale.ts diff --git a/frontend/app/utils/parse-query.test.ts b/frontend/apps/remark42/app/utils/parse-query.test.ts similarity index 100% rename from frontend/app/utils/parse-query.test.ts rename to frontend/apps/remark42/app/utils/parse-query.test.ts diff --git a/frontend/app/utils/parse-query.ts b/frontend/apps/remark42/app/utils/parse-query.ts similarity index 100% rename from frontend/app/utils/parse-query.ts rename to frontend/apps/remark42/app/utils/parse-query.ts diff --git a/frontend/app/utils/post-message.ts b/frontend/apps/remark42/app/utils/post-message.ts similarity index 100% rename from frontend/app/utils/post-message.ts rename to frontend/apps/remark42/app/utils/post-message.ts diff --git a/frontend/app/utils/replaceSelection.ts b/frontend/apps/remark42/app/utils/replaceSelection.ts similarity index 100% rename from frontend/app/utils/replaceSelection.ts rename to frontend/apps/remark42/app/utils/replaceSelection.ts diff --git a/frontend/app/utils/set-dom-props.ts b/frontend/apps/remark42/app/utils/set-dom-props.ts similarity index 100% rename from frontend/app/utils/set-dom-props.ts rename to frontend/apps/remark42/app/utils/set-dom-props.ts diff --git a/frontend/app/utils/shallowCompare.ts b/frontend/apps/remark42/app/utils/shallowCompare.ts similarity index 100% rename from frontend/app/utils/shallowCompare.ts rename to frontend/apps/remark42/app/utils/shallowCompare.ts diff --git a/frontend/app/utils/sleep.ts b/frontend/apps/remark42/app/utils/sleep.ts similarity index 100% rename from frontend/app/utils/sleep.ts rename to frontend/apps/remark42/app/utils/sleep.ts diff --git a/frontend/app/utils/ttl-to-time.ts b/frontend/apps/remark42/app/utils/ttl-to-time.ts similarity index 100% rename from frontend/app/utils/ttl-to-time.ts rename to frontend/apps/remark42/app/utils/ttl-to-time.ts diff --git a/frontend/codecov.yml b/frontend/apps/remark42/codecov.yml similarity index 100% rename from frontend/codecov.yml rename to frontend/apps/remark42/codecov.yml diff --git a/frontend/jest.config.ts b/frontend/apps/remark42/jest.config.ts similarity index 100% rename from frontend/jest.config.ts rename to frontend/apps/remark42/jest.config.ts diff --git a/frontend/jest.setup.ts b/frontend/apps/remark42/jest.setup.ts similarity index 100% rename from frontend/jest.setup.ts rename to frontend/apps/remark42/jest.setup.ts diff --git a/frontend/apps/remark42/package.json b/frontend/apps/remark42/package.json new file mode 100644 index 0000000000..d4ba455c8c --- /dev/null +++ b/frontend/apps/remark42/package.json @@ -0,0 +1,131 @@ +{ + "name": "@remark42/app", + "version": "0.16.0", + "license": "MIT", + "scripts": { + "build": "webpack --mode production", + "build:analyze": "webpack --mode production --analyze", + "start": "cross-env REMARK_API_BASE_URL=https://demo.remark42.com webpack serve --mode development", + "dev": "cross-env REMARK_URL=http://127.0.0.1:8080 webpack serve --mode development", + "lint": "run-p lint:*", + "lint:scripts": "eslint --max-warnings=0 \"**/*.{ts?(x),js}\"", + "lint:styles": "stylelint \"app/**/*.css\" \"templates/**\"", + "test": "jest", + "coverage": "jest --coverage", + "type-check": "tsc -p tsconfig.json --noEmit", + "translation-check": "run-s translation:extract translation:check", + "size": "cross-env NODE_ENV=production npm run build && size-limit", + "format": "prettier --write \"./**/*.{js,ts,tsx,css,html}\"", + "translation:extract": "formatjs extract --out-file=./extracted-messages/messages.json \"**/*.{ts,tsx}\" --ignore=\"**/*.d.ts\"", + "translation:generate": "node ./tasks/generateDictionary.js", + "translation:check": "node ./tasks/checkTranslation.js", + "lint-staged:format": "prettier --write", + "lint-staged:lint:styles": "stylelint --fix", + "lint-staged:lint:scripts": "eslint --fix" + }, + "engines": { + "node": ">=16.15 <=17.*", + "pnpm": "7.*" + }, + "dependencies": { + "@github/markdown-toolbar-element": "^2.1.1", + "@github/text-expander-element": "^2.2.2", + "@ungap/custom-elements": "^1.1.0", + "bem-react-helper": "^1.2.2", + "clsx": "^1.1.1", + "core-js": "^3.23.3", + "intersection-observer": "^0.12.2", + "lodash-es": "^4.17.21", + "node-emoji": "^1.11.0", + "preact": "10.6.2", + "react": "npm:@preact/compat@^17.1.1", + "react-dom": "npm:@preact/compat@^17.1.1", + "react-intl": "^6.0.4", + "react-redux": "^8.0.2", + "redux": "^4.2.0", + "redux-thunk": "^2.4.1" + }, + "devDependencies": { + "@babel/core": "^7.18.6", + "@babel/plugin-syntax-flow": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@formatjs/cli": "^5.0.2", + "@mavrin/stylelint-declaration-use-css-custom-properties": "^2.0.0", + "@prefresh/babel-plugin": "^0.4.3", + "@prefresh/webpack": "^3.3.4", + "@size-limit/file": "^7.0.8", + "@swc/core": "1.2.205", + "@swc/jest": "^0.2.21", + "@testing-library/jest-dom": "^5.16.4", + "@testing-library/preact": "^3.2.2", + "@types/enzyme": "^3.10.12", + "@types/eslint": "^8.4.5", + "@types/jest": "^28.1.4", + "@types/lodash-es": "^4.17.6", + "@types/node": "^18.0.1", + "@types/node-emoji": "^1.8.1", + "@types/react-redux": "^7.1.24", + "@types/redux-mock-store": "^1.0.3", + "@types/testing-library__jest-dom": "^5.14.5", + "@types/webpack-env": "^1.17.0", + "@typescript-eslint/eslint-plugin": "^5.30.3", + "@typescript-eslint/parser": "^5.30.3", + "babel-loader": "^8.2.5", + "babel-plugin-jsx-remove-data-test-id": "^3.0.0", + "clean-webpack-plugin": "^4.0.0", + "codecov": "^3.8.3", + "cross-env": "^7.0.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "dotenv": "^16.0.1", + "enzyme": "^3.11.0", + "enzyme-adapter-preact-pure": "^4.0.1", + "eslint": "^8.18.0", + "eslint-config-preact": "^1.3.0", + "eslint-config-prettier": "^8.5.0", + "eslint-config-react-app": "^7.0.1", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.6.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^5.5.1", + "fast-async": "^6.3.8", + "file-loader": "^6.2.0", + "fork-ts-checker-webpack-plugin": "^7.2.11", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "incstr": "^1.2.3", + "jest": "^28.1.2", + "jest-environment-jsdom": "^28.1.2", + "jest-fetch-mock": "^3.0.3", + "jest-localstorage-mock": "^2.4.21", + "mini-css-extract-plugin": "^2.6.1", + "npm-run-all": "^4.1.5", + "postcss": "^8.4.14", + "postcss-html": "^1.4.1", + "postcss-loader": "^7.0.0", + "postcss-preset-env": "^7.7.2", + "prettier": "^2.7.1", + "redux-mock-store": "^1.5.4", + "size-limit": "^7.0.8", + "style-loader": "^3.3.1", + "stylelint": "^14.9.1", + "stylelint-config-prettier": "^9.0.3", + "stylelint-config-standard": "^26.0.0", + "stylelint-value-no-unknown-custom-properties": "^4.0.0", + "ts-loader": "^9.3.1", + "ts-node": "^10.8.1", + "tsconfig-paths-webpack-plugin": "^3.5.2", + "typescript": "^4.7.4", + "url-loader": "^4.1.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.9.3" + } +} diff --git a/frontend/remark.image b/frontend/apps/remark42/remark.image similarity index 100% rename from frontend/remark.image rename to frontend/apps/remark42/remark.image diff --git a/frontend/tasks/checkTranslation.js b/frontend/apps/remark42/tasks/checkTranslation.js similarity index 100% rename from frontend/tasks/checkTranslation.js rename to frontend/apps/remark42/tasks/checkTranslation.js diff --git a/frontend/tasks/generateDictionary.js b/frontend/apps/remark42/tasks/generateDictionary.js similarity index 100% rename from frontend/tasks/generateDictionary.js rename to frontend/apps/remark42/tasks/generateDictionary.js diff --git a/frontend/tasks/getLocalePath.js b/frontend/apps/remark42/tasks/getLocalePath.js similarity index 100% rename from frontend/tasks/getLocalePath.js rename to frontend/apps/remark42/tasks/getLocalePath.js diff --git a/frontend/tasks/getSupportedLocales.js b/frontend/apps/remark42/tasks/getSupportedLocales.js similarity index 100% rename from frontend/tasks/getSupportedLocales.js rename to frontend/apps/remark42/tasks/getSupportedLocales.js diff --git a/frontend/tasks/getTranslationKeys.js b/frontend/apps/remark42/tasks/getTranslationKeys.js similarity index 100% rename from frontend/tasks/getTranslationKeys.js rename to frontend/apps/remark42/tasks/getTranslationKeys.js diff --git a/frontend/tasks/localeLoadTemplate.js b/frontend/apps/remark42/tasks/localeLoadTemplate.js similarity index 100% rename from frontend/tasks/localeLoadTemplate.js rename to frontend/apps/remark42/tasks/localeLoadTemplate.js diff --git a/frontend/tasks/supportedLocales.json b/frontend/apps/remark42/tasks/supportedLocales.json similarity index 100% rename from frontend/tasks/supportedLocales.json rename to frontend/apps/remark42/tasks/supportedLocales.json diff --git a/frontend/templates/comments.ejs b/frontend/apps/remark42/templates/comments.ejs similarity index 100% rename from frontend/templates/comments.ejs rename to frontend/apps/remark42/templates/comments.ejs diff --git a/frontend/templates/counter.ejs b/frontend/apps/remark42/templates/counter.ejs similarity index 100% rename from frontend/templates/counter.ejs rename to frontend/apps/remark42/templates/counter.ejs diff --git a/frontend/templates/deleteme.ejs b/frontend/apps/remark42/templates/deleteme.ejs similarity index 100% rename from frontend/templates/deleteme.ejs rename to frontend/apps/remark42/templates/deleteme.ejs diff --git a/frontend/templates/demo.ejs b/frontend/apps/remark42/templates/demo.ejs similarity index 100% rename from frontend/templates/demo.ejs rename to frontend/apps/remark42/templates/demo.ejs diff --git a/frontend/templates/iframe.ejs b/frontend/apps/remark42/templates/iframe.ejs similarity index 100% rename from frontend/templates/iframe.ejs rename to frontend/apps/remark42/templates/iframe.ejs diff --git a/frontend/templates/last-comments.ejs b/frontend/apps/remark42/templates/last-comments.ejs similarity index 100% rename from frontend/templates/last-comments.ejs rename to frontend/apps/remark42/templates/last-comments.ejs diff --git a/frontend/templates/markdown-help.html b/frontend/apps/remark42/templates/markdown-help.html similarity index 100% rename from frontend/templates/markdown-help.html rename to frontend/apps/remark42/templates/markdown-help.html diff --git a/frontend/templates/privacy.html b/frontend/apps/remark42/templates/privacy.html similarity index 100% rename from frontend/templates/privacy.html rename to frontend/apps/remark42/templates/privacy.html diff --git a/frontend/tsconfig.json b/frontend/apps/remark42/tsconfig.json similarity index 100% rename from frontend/tsconfig.json rename to frontend/apps/remark42/tsconfig.json diff --git a/frontend/webpack.config.js b/frontend/apps/remark42/webpack.config.js similarity index 100% rename from frontend/webpack.config.js rename to frontend/apps/remark42/webpack.config.js diff --git a/frontend/package.json b/frontend/package.json index 63d146b05b..b55fa06188 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,131 +1,19 @@ { "name": "remark42", - "version": "0.16.0", - "license": "MIT", + "version": "0.0.0", + "description": "Frontend related code for Remark42", + "keywords": [ + "remark42", + "comments", + "comment engine", + "commenting" + ], "scripts": { - "build": "webpack --mode production", - "build:analyze": "webpack --mode production --analyze", - "start": "cross-env REMARK_API_BASE_URL=https://demo.remark42.com webpack serve --mode development", - "dev": "cross-env REMARK_URL=http://127.0.0.1:8080 webpack serve --mode development", - "lint": "run-p lint:*", - "test": "jest", - "test:coverage": "jest --coverage", - "check": "cross-env NODE_ENV=production run-s build && run-p check:*", - "check:types": "tsc -p tsconfig.json --noEmit", - "check:translation": "run-s translation:extract translation:check", - "lint:eslint": "eslint --max-warnings=0 \"**/*.{ts?(x),js}\"", - "lint:stylelint": "stylelint \"app/**/*.css\" \"templates/**\"", - "size": "cross-env NODE_ENV=production npm run build && size-limit", - "prettier": "prettier --write \"./**/*.{js,ts,tsx,css,html}\"", - "translation:extract": "formatjs extract --out-file=./extracted-messages/messages.json \"**/*.{ts,tsx}\" --ignore=\"**/*.d.ts\"", - "translation:generate": "node ./tasks/generateDictionary.js", - "translation:check": "node ./tasks/checkTranslation.js" - }, - "engines": { - "node": ">=16.15 <=17.*", - "npm": ">=8.1.0 <=8.*" - }, - "dependencies": { - "@github/markdown-toolbar-element": "^2.1.1", - "@github/text-expander-element": "^2.2.2", - "@ungap/custom-elements": "^1.1.0", - "bem-react-helper": "^1.2.2", - "clsx": "^1.1.1", - "core-js": "^3.23.3", - "intersection-observer": "^0.12.2", - "lodash-es": "^4.17.21", - "node-emoji": "^1.11.0", - "preact": "10.6.2", - "react": "npm:@preact/compat@^17.1.1", - "react-dom": "npm:@preact/compat@^17.1.1", - "react-intl": "^6.0.4", - "react-redux": "^8.0.2", - "redux": "^4.2.0", - "redux-thunk": "^2.4.1" + "prepare": "if [ -z \"$CI\" ]; then cd .. && husky install frontend/.husky; else echo \"Skip Husky Hooks\"; fi", + "lint-staged": "lint-staged" }, "devDependencies": { - "@babel/core": "^7.18.6", - "@babel/plugin-syntax-flow": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@formatjs/cli": "^5.0.2", - "@mavrin/stylelint-declaration-use-css-custom-properties": "^2.0.0", - "@prefresh/babel-plugin": "^0.4.3", - "@prefresh/webpack": "^3.3.4", - "@size-limit/file": "^7.0.8", - "@swc/core": "1.2.205", - "@swc/jest": "^0.2.21", - "@testing-library/jest-dom": "^5.16.4", - "@testing-library/preact": "^3.2.2", - "@types/enzyme": "^3.10.12", - "@types/eslint": "^8.4.5", - "@types/jest": "^28.1.4", - "@types/lodash-es": "^4.17.6", - "@types/node": "^18.0.1", - "@types/node-emoji": "^1.8.1", - "@types/react-redux": "^7.1.24", - "@types/redux-mock-store": "^1.0.3", - "@types/testing-library__jest-dom": "^5.14.5", - "@types/webpack-env": "^1.17.0", - "@typescript-eslint/eslint-plugin": "^5.30.3", - "@typescript-eslint/parser": "^5.30.3", - "babel-loader": "^8.2.5", - "babel-plugin-jsx-remove-data-test-id": "^3.0.0", - "clean-webpack-plugin": "^4.0.0", - "codecov": "^3.8.3", - "cross-env": "^7.0.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "dotenv": "^16.0.1", - "enzyme": "^3.11.0", - "enzyme-adapter-preact-pure": "^4.0.1", - "eslint": "^8.18.0", - "eslint-config-preact": "^1.3.0", - "eslint-config-prettier": "^8.5.0", - "eslint-config-react-app": "^7.0.1", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.6.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^5.5.1", - "fast-async": "^6.3.8", - "file-loader": "^6.2.0", - "fork-ts-checker-webpack-plugin": "^7.2.11", - "html-webpack-plugin": "^5.5.0", "husky": "^8.0.1", - "identity-obj-proxy": "^3.0.0", - "incstr": "^1.2.3", - "jest": "^28.1.2", - "jest-environment-jsdom": "^28.1.2", - "jest-fetch-mock": "^3.0.3", - "jest-localstorage-mock": "^2.4.21", - "lint-staged": "^13.0.3", - "mini-css-extract-plugin": "^2.6.1", - "npm-run-all": "^4.1.5", - "postcss": "^8.4.14", - "postcss-html": "^1.4.1", - "postcss-loader": "^7.0.0", - "postcss-preset-env": "^7.7.2", - "prettier": "^2.7.1", - "redux-mock-store": "^1.5.4", - "size-limit": "^7.0.8", - "style-loader": "^3.3.1", - "stylelint": "^14.9.1", - "stylelint-config-prettier": "^9.0.3", - "stylelint-config-standard": "^26.0.0", - "stylelint-value-no-unknown-custom-properties": "^4.0.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.8.1", - "tsconfig-paths-webpack-plugin": "^3.5.2", - "typescript": "^4.7.4", - "url-loader": "^4.1.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.9.3" + "lint-staged": "^13.0.3" } } diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 30866a3c64..5179e9a73c 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -1,208 +1,213 @@ lockfileVersion: 5.4 -specifiers: - '@babel/core': ^7.18.6 - '@babel/plugin-syntax-flow': ^7.18.6 - '@babel/plugin-transform-react-jsx': ^7.18.6 - '@babel/preset-env': ^7.18.6 - '@babel/preset-react': ^7.18.6 - '@formatjs/cli': ^5.0.2 - '@github/markdown-toolbar-element': ^2.1.1 - '@github/text-expander-element': ^2.2.2 - '@mavrin/stylelint-declaration-use-css-custom-properties': ^2.0.0 - '@prefresh/babel-plugin': ^0.4.3 - '@prefresh/webpack': ^3.3.4 - '@size-limit/file': ^7.0.8 - '@swc/core': 1.2.205 - '@swc/jest': ^0.2.21 - '@testing-library/jest-dom': ^5.16.4 - '@testing-library/preact': ^3.2.2 - '@types/enzyme': ^3.10.12 - '@types/eslint': ^8.4.5 - '@types/jest': ^28.1.4 - '@types/lodash-es': ^4.17.6 - '@types/node': ^18.0.1 - '@types/node-emoji': ^1.8.1 - '@types/react-redux': ^7.1.24 - '@types/redux-mock-store': ^1.0.3 - '@types/testing-library__jest-dom': ^5.14.5 - '@types/webpack-env': ^1.17.0 - '@typescript-eslint/eslint-plugin': ^5.30.3 - '@typescript-eslint/parser': ^5.30.3 - '@ungap/custom-elements': ^1.1.0 - babel-loader: ^8.2.5 - babel-plugin-jsx-remove-data-test-id: ^3.0.0 - bem-react-helper: ^1.2.2 - clean-webpack-plugin: ^4.0.0 - clsx: ^1.1.1 - codecov: ^3.8.3 - core-js: ^3.23.3 - cross-env: ^7.0.3 - css-loader: ^6.7.1 - css-minimizer-webpack-plugin: ^4.0.0 - cssnano: ^5.1.12 - dotenv: ^16.0.1 - enzyme: ^3.11.0 - enzyme-adapter-preact-pure: ^4.0.1 - eslint: ^8.18.0 - eslint-config-preact: ^1.3.0 - eslint-config-prettier: ^8.5.0 - eslint-config-react-app: ^7.0.1 - eslint-plugin-flowtype: ^8.0.3 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jsx-a11y: ^6.6.0 - eslint-plugin-prettier: ^4.2.1 - eslint-plugin-react: ^7.30.1 - eslint-plugin-react-hooks: ^4.6.0 - eslint-plugin-testing-library: ^5.5.1 - fast-async: ^6.3.8 - file-loader: ^6.2.0 - fork-ts-checker-webpack-plugin: ^7.2.11 - html-webpack-plugin: ^5.5.0 - husky: ^8.0.1 - identity-obj-proxy: ^3.0.0 - incstr: ^1.2.3 - intersection-observer: ^0.12.2 - jest: ^28.1.2 - jest-environment-jsdom: ^28.1.2 - jest-fetch-mock: ^3.0.3 - jest-localstorage-mock: ^2.4.21 - lint-staged: ^13.0.3 - lodash-es: ^4.17.21 - mini-css-extract-plugin: ^2.6.1 - node-emoji: ^1.11.0 - npm-run-all: ^4.1.5 - postcss: ^8.4.14 - postcss-html: ^1.4.1 - postcss-loader: ^7.0.0 - postcss-preset-env: ^7.7.2 - preact: 10.6.2 - prettier: ^2.7.1 - react: npm:@preact/compat@^17.1.1 - react-dom: npm:@preact/compat@^17.1.1 - react-intl: ^6.0.4 - react-redux: ^8.0.2 - redux: ^4.2.0 - redux-mock-store: ^1.5.4 - redux-thunk: ^2.4.1 - size-limit: ^7.0.8 - style-loader: ^3.3.1 - stylelint: ^14.9.1 - stylelint-config-prettier: ^9.0.3 - stylelint-config-standard: ^26.0.0 - stylelint-value-no-unknown-custom-properties: ^4.0.0 - ts-loader: ^9.3.1 - ts-node: ^10.8.1 - tsconfig-paths-webpack-plugin: ^3.5.2 - typescript: ^4.7.4 - url-loader: ^4.1.1 - webpack: ^5.73.0 - webpack-bundle-analyzer: ^4.5.0 - webpack-cli: ^4.10.0 - webpack-dev-server: ^4.9.3 - -dependencies: - '@github/markdown-toolbar-element': 2.1.1 - '@github/text-expander-element': 2.2.2 - '@ungap/custom-elements': 1.1.0 - bem-react-helper: 1.2.2 - clsx: 1.1.1 - core-js: 3.23.3 - intersection-observer: 0.12.2 - lodash-es: 4.17.21 - node-emoji: 1.11.0 - preact: 10.6.2 - react: /@preact/compat/17.1.1_preact@10.6.2 - react-dom: /@preact/compat/17.1.1_preact@10.6.2 - react-intl: 6.0.4_p7eosiy3chzp3uuudv3bugb7ua - react-redux: 8.0.2_25k65sdkbkm2abvdniihdcenlq - redux: 4.2.0 - redux-thunk: 2.4.1_redux@4.2.0 - -devDependencies: - '@babel/core': 7.18.6 - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.6 - '@babel/plugin-transform-react-jsx': 7.18.6_@babel+core@7.18.6 - '@babel/preset-env': 7.18.6_@babel+core@7.18.6 - '@babel/preset-react': 7.18.6_@babel+core@7.18.6 - '@formatjs/cli': 5.0.2 - '@mavrin/stylelint-declaration-use-css-custom-properties': 2.0.0_stylelint@14.9.1 - '@prefresh/babel-plugin': 0.4.3 - '@prefresh/webpack': 3.3.4_aygq4fhb36ivjwsmiykvhlqsje - '@size-limit/file': 7.0.8_size-limit@7.0.8 - '@swc/core': 1.2.205 - '@swc/jest': 0.2.21_@swc+core@1.2.205 - '@testing-library/jest-dom': 5.16.4 - '@testing-library/preact': 3.2.2_preact@10.6.2 - '@types/enzyme': 3.10.12 - '@types/eslint': 8.4.5 - '@types/jest': 28.1.4 - '@types/lodash-es': 4.17.6 - '@types/node': 18.0.1 - '@types/node-emoji': 1.8.1 - '@types/react-redux': 7.1.24 - '@types/redux-mock-store': 1.0.3 - '@types/testing-library__jest-dom': 5.14.5 - '@types/webpack-env': 1.17.0 - '@typescript-eslint/eslint-plugin': 5.30.3_uhfrv6c56y4b7yuzllo3ym4bou - '@typescript-eslint/parser': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e - babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa - babel-plugin-jsx-remove-data-test-id: 3.0.0_@babel+core@7.18.6 - clean-webpack-plugin: 4.0.0_webpack@5.73.0 - codecov: 3.8.3 - cross-env: 7.0.3 - css-loader: 6.7.1_webpack@5.73.0 - css-minimizer-webpack-plugin: 4.0.0_webpack@5.73.0 - cssnano: 5.1.12_postcss@8.4.14 - dotenv: 16.0.1 - enzyme: 3.11.0 - enzyme-adapter-preact-pure: 4.0.1_ya7uhiupouol3lwzvanow3b4ky - eslint: 8.18.0 - eslint-config-preact: 1.3.0_7mj6cl6nctrt27s5myc3ohapqe - eslint-config-prettier: 8.5.0_eslint@8.18.0 - eslint-config-react-app: 7.0.1_o3zumcjzhrxqm4rk4z3wi6c4mq - eslint-plugin-flowtype: 8.0.3_uj23m7lwigzrbwb5oku667qxh4 - eslint-plugin-import: 2.26.0_stpfporf4ezjetv6zdnl75453m - eslint-plugin-jsx-a11y: 6.6.0_eslint@8.18.0 - eslint-plugin-prettier: 4.2.1_xu6ewijrtliw5q5lksq5uixwby - eslint-plugin-react: 7.30.1_eslint@8.18.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.18.0 - eslint-plugin-testing-library: 5.5.1_b5e7v2qnwxfo6hmiq56u52mz3e - fast-async: 6.3.8 - file-loader: 6.2.0_webpack@5.73.0 - fork-ts-checker-webpack-plugin: 7.2.11_3o2jfq6vfqxns3sz6wn2nnc3ei - html-webpack-plugin: 5.5.0_webpack@5.73.0 - husky: 8.0.1 - identity-obj-proxy: 3.0.0 - incstr: 1.2.3 - jest: 28.1.2_hjdndwgjqwbaqblgu6irbm6tqa - jest-environment-jsdom: 28.1.2 - jest-fetch-mock: 3.0.3 - jest-localstorage-mock: 2.4.21 - lint-staged: 13.0.3 - mini-css-extract-plugin: 2.6.1_webpack@5.73.0 - npm-run-all: 4.1.5 - postcss: 8.4.14 - postcss-html: 1.4.1 - postcss-loader: 7.0.0_mepnsno3xmng6eyses4tepu7bu - postcss-preset-env: 7.7.2_postcss@8.4.14 - prettier: 2.7.1 - redux-mock-store: 1.5.4 - size-limit: 7.0.8 - style-loader: 3.3.1_webpack@5.73.0 - stylelint: 14.9.1 - stylelint-config-prettier: 9.0.3_stylelint@14.9.1 - stylelint-config-standard: 26.0.0_stylelint@14.9.1 - stylelint-value-no-unknown-custom-properties: 4.0.0_stylelint@14.9.1 - ts-loader: 9.3.1_3o2jfq6vfqxns3sz6wn2nnc3ei - ts-node: 10.8.1_ul7vg5eqprg7bbfkmwpa5enrra - tsconfig-paths-webpack-plugin: 3.5.2 - typescript: 4.7.4 - url-loader: 4.1.1_ljnyroaqobwke7fusd7ro2cgzm - webpack: 5.73.0_323cogk7mrkhphrh6zdbuggp4a - webpack-bundle-analyzer: 4.5.0 - webpack-cli: 4.10.0_orc2ewcajya4tocnqelr4vzh7u - webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 +importers: + + .: + specifiers: + husky: ^8.0.1 + lint-staged: ^13.0.3 + devDependencies: + husky: 8.0.1 + lint-staged: 13.0.3 + + apps/remark42: + specifiers: + '@babel/core': ^7.18.6 + '@babel/plugin-syntax-flow': ^7.18.6 + '@babel/plugin-transform-react-jsx': ^7.18.6 + '@babel/preset-env': ^7.18.6 + '@babel/preset-react': ^7.18.6 + '@formatjs/cli': ^5.0.2 + '@github/markdown-toolbar-element': ^2.1.1 + '@github/text-expander-element': ^2.2.2 + '@mavrin/stylelint-declaration-use-css-custom-properties': ^2.0.0 + '@prefresh/babel-plugin': ^0.4.3 + '@prefresh/webpack': ^3.3.4 + '@size-limit/file': ^7.0.8 + '@swc/core': 1.2.205 + '@swc/jest': ^0.2.21 + '@testing-library/jest-dom': ^5.16.4 + '@testing-library/preact': ^3.2.2 + '@types/enzyme': ^3.10.12 + '@types/eslint': ^8.4.5 + '@types/jest': ^28.1.4 + '@types/lodash-es': ^4.17.6 + '@types/node': ^18.0.1 + '@types/node-emoji': ^1.8.1 + '@types/react-redux': ^7.1.24 + '@types/redux-mock-store': ^1.0.3 + '@types/testing-library__jest-dom': ^5.14.5 + '@types/webpack-env': ^1.17.0 + '@typescript-eslint/eslint-plugin': ^5.30.3 + '@typescript-eslint/parser': ^5.30.3 + '@ungap/custom-elements': ^1.1.0 + babel-loader: ^8.2.5 + babel-plugin-jsx-remove-data-test-id: ^3.0.0 + bem-react-helper: ^1.2.2 + clean-webpack-plugin: ^4.0.0 + clsx: ^1.1.1 + codecov: ^3.8.3 + core-js: ^3.23.3 + cross-env: ^7.0.3 + css-loader: ^6.7.1 + css-minimizer-webpack-plugin: ^4.0.0 + cssnano: ^5.1.12 + dotenv: ^16.0.1 + enzyme: ^3.11.0 + enzyme-adapter-preact-pure: ^4.0.1 + eslint: ^8.18.0 + eslint-config-preact: ^1.3.0 + eslint-config-prettier: ^8.5.0 + eslint-config-react-app: ^7.0.1 + eslint-plugin-flowtype: ^8.0.3 + eslint-plugin-import: ^2.26.0 + eslint-plugin-jsx-a11y: ^6.6.0 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-react: ^7.30.1 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-testing-library: ^5.5.1 + fast-async: ^6.3.8 + file-loader: ^6.2.0 + fork-ts-checker-webpack-plugin: ^7.2.11 + html-webpack-plugin: ^5.5.0 + identity-obj-proxy: ^3.0.0 + incstr: ^1.2.3 + intersection-observer: ^0.12.2 + jest: ^28.1.2 + jest-environment-jsdom: ^28.1.2 + jest-fetch-mock: ^3.0.3 + jest-localstorage-mock: ^2.4.21 + lodash-es: ^4.17.21 + mini-css-extract-plugin: ^2.6.1 + node-emoji: ^1.11.0 + npm-run-all: ^4.1.5 + postcss: ^8.4.14 + postcss-html: ^1.4.1 + postcss-loader: ^7.0.0 + postcss-preset-env: ^7.7.2 + preact: 10.6.2 + prettier: ^2.7.1 + react: npm:@preact/compat@^17.1.1 + react-dom: npm:@preact/compat@^17.1.1 + react-intl: ^6.0.4 + react-redux: ^8.0.2 + redux: ^4.2.0 + redux-mock-store: ^1.5.4 + redux-thunk: ^2.4.1 + size-limit: ^7.0.8 + style-loader: ^3.3.1 + stylelint: ^14.9.1 + stylelint-config-prettier: ^9.0.3 + stylelint-config-standard: ^26.0.0 + stylelint-value-no-unknown-custom-properties: ^4.0.0 + ts-loader: ^9.3.1 + ts-node: ^10.8.1 + tsconfig-paths-webpack-plugin: ^3.5.2 + typescript: ^4.7.4 + url-loader: ^4.1.1 + webpack: ^5.73.0 + webpack-bundle-analyzer: ^4.5.0 + webpack-cli: ^4.10.0 + webpack-dev-server: ^4.9.3 + dependencies: + '@github/markdown-toolbar-element': 2.1.1 + '@github/text-expander-element': 2.2.2 + '@ungap/custom-elements': 1.1.0 + bem-react-helper: 1.2.2 + clsx: 1.2.1 + core-js: 3.23.4 + intersection-observer: 0.12.2 + lodash-es: 4.17.21 + node-emoji: 1.11.0 + preact: 10.6.2 + react: /@preact/compat/17.1.1_preact@10.6.2 + react-dom: /@preact/compat/17.1.1_preact@10.6.2 + react-intl: 6.0.5_p7eosiy3chzp3uuudv3bugb7ua + react-redux: 8.0.2_25k65sdkbkm2abvdniihdcenlq + redux: 4.2.0 + redux-thunk: 2.4.1_redux@4.2.0 + devDependencies: + '@babel/core': 7.18.6 + '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-react-jsx': 7.18.6_@babel+core@7.18.6 + '@babel/preset-env': 7.18.6_@babel+core@7.18.6 + '@babel/preset-react': 7.18.6_@babel+core@7.18.6 + '@formatjs/cli': 5.0.2 + '@mavrin/stylelint-declaration-use-css-custom-properties': 2.0.0_stylelint@14.9.1 + '@prefresh/babel-plugin': 0.4.3 + '@prefresh/webpack': 3.3.4_aygq4fhb36ivjwsmiykvhlqsje + '@size-limit/file': 7.0.8_size-limit@7.0.8 + '@swc/core': 1.2.205 + '@swc/jest': 0.2.21_@swc+core@1.2.205 + '@testing-library/jest-dom': 5.16.4 + '@testing-library/preact': 3.2.2_preact@10.6.2 + '@types/enzyme': 3.10.12 + '@types/eslint': 8.4.5 + '@types/jest': 28.1.5 + '@types/lodash-es': 4.17.6 + '@types/node': 18.0.3 + '@types/node-emoji': 1.8.1 + '@types/react-redux': 7.1.24 + '@types/redux-mock-store': 1.0.3 + '@types/testing-library__jest-dom': 5.14.5 + '@types/webpack-env': 1.17.0 + '@typescript-eslint/eslint-plugin': 5.30.6_2vt5mtrqleafs33qg2bhpmbaqm + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa + babel-plugin-jsx-remove-data-test-id: 3.0.0_@babel+core@7.18.6 + clean-webpack-plugin: 4.0.0_webpack@5.73.0 + codecov: 3.8.3 + cross-env: 7.0.3 + css-loader: 6.7.1_webpack@5.73.0 + css-minimizer-webpack-plugin: 4.0.0_webpack@5.73.0 + cssnano: 5.1.12_postcss@8.4.14 + dotenv: 16.0.1 + enzyme: 3.11.0 + enzyme-adapter-preact-pure: 4.0.1_ya7uhiupouol3lwzvanow3b4ky + eslint: 8.19.0 + eslint-config-preact: 1.3.0_3yacqyit32n2tvjhojswm22mwq + eslint-config-prettier: 8.5.0_eslint@8.19.0 + eslint-config-react-app: 7.0.1_2q22o7yntub6dgnjkyx65wx6su + eslint-plugin-flowtype: 8.0.3_wrw5rqvtsoke32kfcflhlcgk4y + eslint-plugin-import: 2.26.0_rywvbqnelbznwddhxv2glfjuay + eslint-plugin-jsx-a11y: 6.6.0_eslint@8.19.0 + eslint-plugin-prettier: 4.2.1_7uxdfn2xinezdgvmbammh6ev5i + eslint-plugin-react: 7.30.1_eslint@8.19.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.19.0 + eslint-plugin-testing-library: 5.5.1_4x5o4skxv6sl53vpwefgt23khm + fast-async: 6.3.8 + file-loader: 6.2.0_webpack@5.73.0 + fork-ts-checker-webpack-plugin: 7.2.12_3o2jfq6vfqxns3sz6wn2nnc3ei + html-webpack-plugin: 5.5.0_webpack@5.73.0 + identity-obj-proxy: 3.0.0 + incstr: 1.2.3 + jest: 28.1.2_eudefza5kbv4z3gj6nnnsfn4wu + jest-environment-jsdom: 28.1.2 + jest-fetch-mock: 3.0.3 + jest-localstorage-mock: 2.4.21 + mini-css-extract-plugin: 2.6.1_webpack@5.73.0 + npm-run-all: 4.1.5 + postcss: 8.4.14 + postcss-html: 1.5.0 + postcss-loader: 7.0.1_mepnsno3xmng6eyses4tepu7bu + postcss-preset-env: 7.7.2_postcss@8.4.14 + prettier: 2.7.1 + redux-mock-store: 1.5.4 + size-limit: 7.0.8 + style-loader: 3.3.1_webpack@5.73.0 + stylelint: 14.9.1 + stylelint-config-prettier: 9.0.3_stylelint@14.9.1 + stylelint-config-standard: 26.0.0_stylelint@14.9.1 + stylelint-value-no-unknown-custom-properties: 4.0.0_stylelint@14.9.1 + ts-loader: 9.3.1_3o2jfq6vfqxns3sz6wn2nnc3ei + ts-node: 10.8.2_oob3snywllkr2hdymfpal4vwlq + tsconfig-paths-webpack-plugin: 3.5.2 + typescript: 4.7.4 + url-loader: 4.1.1_ljnyroaqobwke7fusd7ro2cgzm + webpack: 5.73.0_323cogk7mrkhphrh6zdbuggp4a + webpack-bundle-analyzer: 4.5.0 + webpack-cli: 4.10.0_orc2ewcajya4tocnqelr4vzh7u + webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 packages: @@ -221,8 +226,8 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.18.6: - resolution: {integrity: sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==} + /@babel/compat-data/7.18.8: + resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==} engines: {node: '>=6.9.0'} dev: true @@ -234,12 +239,12 @@ packages: '@babel/code-frame': 7.18.6 '@babel/generator': 7.18.7 '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 - '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 '@babel/helpers': 7.18.6 - '@babel/parser': 7.18.6 + '@babel/parser': 7.18.8 '@babel/template': 7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -249,7 +254,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.18.2_adaaawmztyaoftgelr4r3k6qwu: + /@babel/eslint-parser/7.18.2_ygqbvsyswrl2cmipz2mlfqys74: resolution: {integrity: sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -257,7 +262,7 @@ packages: eslint: ^7.5.0 || ^8.0.0 dependencies: '@babel/core': 7.18.6 - eslint: 8.18.0 + eslint: 8.19.0 eslint-scope: 5.1.1 eslint-visitor-keys: 2.1.0 semver: 6.3.0 @@ -267,7 +272,7 @@ packages: resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true @@ -276,7 +281,7 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.18.6: @@ -284,7 +289,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-compilation-targets/7.18.6_@babel+core@7.18.6: @@ -293,7 +298,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.18.6 + '@babel/compat-data': 7.18.8 '@babel/core': 7.18.6 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.1 @@ -338,7 +343,7 @@ packages: '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.18.6 - '@babel/traverse': 7.18.6 + '@babel/traverse': 7.18.8 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.1 @@ -356,7 +361,7 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-function-name/7.18.6: @@ -364,32 +369,32 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-member-expression-to-functions/7.18.6: resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true - /@babel/helper-module-transforms/7.18.6: - resolution: {integrity: sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==} + /@babel/helper-module-transforms/7.18.8: + resolution: {integrity: sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.6 @@ -398,8 +403,8 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.18.6 '@babel/template': 7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true @@ -408,7 +413,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-plugin-utils/7.18.6: @@ -426,7 +431,7 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.6 '@babel/helper-wrap-function': 7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true @@ -438,8 +443,8 @@ packages: '@babel/helper-environment-visitor': 7.18.6 '@babel/helper-member-expression-to-functions': 7.18.6 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true @@ -448,21 +453,21 @@ packages: resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-skip-transparent-expression-wrappers/7.18.6: resolution: {integrity: sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/helper-validator-identifier/7.18.6: @@ -481,8 +486,8 @@ packages: dependencies: '@babel/helper-function-name': 7.18.6 '@babel/template': 7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true @@ -492,8 +497,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true @@ -507,12 +512,12 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.18.6: - resolution: {integrity: sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==} + /@babel/parser/7.18.8: + resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.6: @@ -667,12 +672,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.18.6 + '@babel/compat-data': 7.18.8 '@babel/core': 7.18.6 '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 '@babel/helper-plugin-utils': 7.18.6 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 - '@babel/plugin-transform-parameters': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.18.6: @@ -978,8 +983,8 @@ packages: '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-classes/7.18.6_@babel+core@7.18.6: - resolution: {integrity: sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ==} + /@babel/plugin-transform-classes/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1060,8 +1065,8 @@ packages: '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.6 dev: true - /@babel/plugin-transform-for-of/7.18.6_@babel+core@7.18.6: - resolution: {integrity: sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w==} + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1109,7 +1114,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 '@babel/helper-plugin-utils': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: @@ -1123,7 +1128,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 '@babel/helper-plugin-utils': 7.18.6 '@babel/helper-simple-access': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 @@ -1139,7 +1144,7 @@ packages: dependencies: '@babel/core': 7.18.6 '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 '@babel/helper-plugin-utils': 7.18.6 '@babel/helper-validator-identifier': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 @@ -1154,7 +1159,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.6 - '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color @@ -1194,8 +1199,8 @@ packages: - supports-color dev: true - /@babel/plugin-transform-parameters/7.18.6_@babel+core@7.18.6: - resolution: {integrity: sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A==} + /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1245,7 +1250,7 @@ packages: '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.18.6 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/plugin-transform-react-pure-annotations/7.18.6_@babel+core@7.18.6: @@ -1348,8 +1353,8 @@ packages: '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-typescript/7.18.6_@babel+core@7.18.6: - resolution: {integrity: sha512-ijHNhzIrLj5lQCnI6aaNVRtGVuUZhOXFLRVFs7lLrkXTHip4FKty5oAuQdk4tywG0/WjXmjTfQCWmuzrvFer1w==} + /@babel/plugin-transform-typescript/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1389,7 +1394,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.18.6 + '@babel/compat-data': 7.18.8 '@babel/core': 7.18.6 '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 '@babel/helper-plugin-utils': 7.18.6 @@ -1430,13 +1435,13 @@ packages: '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-block-scoping': 7.18.6_@babel+core@7.18.6 - '@babel/plugin-transform-classes': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-classes': 7.18.8_@babel+core@7.18.6 '@babel/plugin-transform-computed-properties': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-destructuring': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-duplicate-keys': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.18.6 - '@babel/plugin-transform-for-of': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.18.6 '@babel/plugin-transform-function-name': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-literals': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.18.6 @@ -1447,7 +1452,7 @@ packages: '@babel/plugin-transform-named-capturing-groups-regex': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.18.6 - '@babel/plugin-transform-parameters': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.18.6 @@ -1459,11 +1464,11 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.18.6 '@babel/preset-modules': 0.1.5_@babel+core@7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.18.6 babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.18.6 babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.18.6 - core-js-compat: 3.23.3 + core-js-compat: 3.23.4 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -1478,7 +1483,7 @@ packages: '@babel/helper-plugin-utils': 7.18.6 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 esutils: 2.0.3 dev: true @@ -1506,7 +1511,7 @@ packages: '@babel/core': 7.18.6 '@babel/helper-plugin-utils': 7.18.6 '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-transform-typescript': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-typescript': 7.18.8_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true @@ -1515,7 +1520,7 @@ packages: resolution: {integrity: sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.23.3 + core-js-pure: 3.23.4 regenerator-runtime: 0.13.9 dev: true @@ -1530,12 +1535,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.18.6 - '@babel/types': 7.18.7 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 dev: true - /@babel/traverse/7.18.6: - resolution: {integrity: sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==} + /@babel/traverse/7.18.8: + resolution: {integrity: sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 @@ -1544,16 +1549,16 @@ packages: '@babel/helper-function-name': 7.18.6 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.18.6 - '@babel/types': 7.18.7 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.18.7: - resolution: {integrity: sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==} + /@babel/types/7.18.8: + resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.18.6 @@ -1571,85 +1576,85 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@csstools/postcss-cascade-layers/1.0.4_postcss@8.4.14: - resolution: {integrity: sha512-zP2tQIFu4C3HueOT+G4Pkla7f2Z6pfXphc1Y9wDE5jS2Ss6dk/asQ7FFEFWKgy3EkYc7E1FSjzhfeZVGg5sjXQ==} + /@csstools/postcss-cascade-layers/1.0.5_postcss@8.4.14: + resolution: {integrity: sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu + '@csstools/selector-specificity': 2.0.2_444rcjjorr3kpoqtvoodsr46pu postcss: 8.4.14 postcss-selector-parser: 6.0.10 dev: true - /@csstools/postcss-color-function/1.1.0_postcss@8.4.14: - resolution: {integrity: sha512-5D5ND/mZWcQoSfYnSPsXtuiFxhzmhxt6pcjrFLJyldj+p0ZN2vvRpYNX+lahFTtMhAYOa2WmkdGINr0yP0CvGA==} + /@csstools/postcss-color-function/1.1.1_postcss@8.4.14: + resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-font-format-keywords/1.0.0_postcss@8.4.14: - resolution: {integrity: sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q==} + /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.14: + resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-hwb-function/1.0.1_postcss@8.4.14: - resolution: {integrity: sha512-AMZwWyHbbNLBsDADWmoXT9A5yl5dsGEBeJSJRUJt8Y9n8Ziu7Wstt4MC8jtPW7xjcLecyfJwtnUTNSmOzcnWeg==} + /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.14: + resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-ic-unit/1.0.0_postcss@8.4.14: - resolution: {integrity: sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA==} + /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.14: + resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-is-pseudo-class/2.0.6_postcss@8.4.14: - resolution: {integrity: sha512-Oqs396oenuyyMdRXOstxXbxei8fYEgToYjmlYHEi5gk0QLk7xQ72LY7NDr7waWAAmdVzRqPpbE26Q7/cUrGu4Q==} + /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.14: + resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu + '@csstools/selector-specificity': 2.0.2_444rcjjorr3kpoqtvoodsr46pu postcss: 8.4.14 postcss-selector-parser: 6.0.10 dev: true - /@csstools/postcss-normalize-display-values/1.0.0_postcss@8.4.14: - resolution: {integrity: sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ==} + /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.14: + resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function/1.1.0_postcss@8.4.14: - resolution: {integrity: sha512-e/Q5HopQzmnQgqimG9v3w2IG4VRABsBq3itOcn4bnm+j4enTgQZ0nWsaH/m9GV2otWGQ0nwccYL5vmLKyvP1ww==} + /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.14: + resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 postcss: 8.4.14 @@ -1666,40 +1671,40 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-stepped-value-functions/1.0.0_postcss@8.4.14: - resolution: {integrity: sha512-q8c4bs1GumAiRenmFjASBcWSLKrbzHzWl6C2HcaAxAXIiL2rUlUWbqQZUjwVG5tied0rld19j/Mm90K3qI26vw==} + /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.14: + resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions/1.0.1_postcss@8.4.14: - resolution: {integrity: sha512-G78CY/+GePc6dDCTUbwI6TTFQ5fs3N9POHhI6v0QzteGpf6ylARiJUNz9HrRKi4eVYBNXjae1W2766iUEFxHlw==} + /@csstools/postcss-trigonometric-functions/1.0.2_postcss@8.4.14: + resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-unset-value/1.0.1_postcss@8.4.14: - resolution: {integrity: sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg==} + /@csstools/postcss-unset-value/1.0.2_postcss@8.4.14: + resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 dev: true - /@csstools/selector-specificity/2.0.1_444rcjjorr3kpoqtvoodsr46pu: - resolution: {integrity: sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==} + /@csstools/selector-specificity/2.0.2_444rcjjorr3kpoqtvoodsr46pu: + resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 postcss-selector-parser: ^6.0.10 dependencies: postcss: 8.4.14 @@ -1718,7 +1723,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.3.2 - globals: 13.15.0 + globals: 13.16.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1739,8 +1744,8 @@ packages: optional: true dev: true - /@formatjs/ecma402-abstract/1.11.7: - resolution: {integrity: sha512-uNaok4XWMJBtPZk/veTDamFCm5HeWJUk2jwoVfH5/+wenQ60QHjH6T3UQ0GOOCz9jpKmed7vqOri7xSf//Dt7g==} + /@formatjs/ecma402-abstract/1.11.8: + resolution: {integrity: sha512-fgLqyWlwmTEuqV/TSLEL/t9JOmHNLFvCdgzXB0jc2w+WOItPCOJ1T0eyN6fQBQKRPfSqqNlu+kWj7ijcOVTVVQ==} dependencies: '@formatjs/intl-localematcher': 0.2.28 tslib: 2.4.0 @@ -1752,33 +1757,33 @@ packages: tslib: 2.4.0 dev: false - /@formatjs/icu-messageformat-parser/2.1.3: - resolution: {integrity: sha512-hsdAn1dXcujW/G8DHw0iiIy7357pw10yOulCrL6xrQOKJAxT7m7EgpG0Hm1OW9xqaLEzqWyE/jA2AGVnOCaCQw==} + /@formatjs/icu-messageformat-parser/2.1.4: + resolution: {integrity: sha512-3PqMvKWV1oyok0BuiXUAHIaotdhdTJw6OICqCZbfUgKT+ZRwRWO4IlCgvXJeCITaKS5p+PY0XXKjf/vUyIpWjQ==} dependencies: - '@formatjs/ecma402-abstract': 1.11.7 - '@formatjs/icu-skeleton-parser': 1.3.9 + '@formatjs/ecma402-abstract': 1.11.8 + '@formatjs/icu-skeleton-parser': 1.3.10 tslib: 2.4.0 dev: false - /@formatjs/icu-skeleton-parser/1.3.9: - resolution: {integrity: sha512-s9THwwhiiSzbGSk73FP6Ur2MBwEj1vfgYDHKa5FiXGQMfYzdRdRvyH1dgqNgSFJPB6PM3DKtkloJLjpqpSDNUg==} + /@formatjs/icu-skeleton-parser/1.3.10: + resolution: {integrity: sha512-kXJmtLDqFF5aLTf8IxdJXnhrIX1Qb4Qp3a9jqRecGDYfzOa9hMhi9U0nKyhrJJ4cXxBzptcgb+LWkyeHL6nlBQ==} dependencies: - '@formatjs/ecma402-abstract': 1.11.7 + '@formatjs/ecma402-abstract': 1.11.8 tslib: 2.4.0 dev: false - /@formatjs/intl-displaynames/6.0.2: - resolution: {integrity: sha512-h9Id/6vbSHpARHKMVsjWag3KMZJpop9s67CZTd+AMxhjHb5xDG2b5rlSRJKx/UdIDQ+GzESK7a4fv32yylG3cw==} + /@formatjs/intl-displaynames/6.0.3: + resolution: {integrity: sha512-Mxh6W1VOlmiEvO/QPBrBQHlXrIn5VxjJWyyEI0V7ZHNGl0ee8AjSlq7vIJG8GodRJqGUuutF6N3OB/6qFv0YWg==} dependencies: - '@formatjs/ecma402-abstract': 1.11.7 + '@formatjs/ecma402-abstract': 1.11.8 '@formatjs/intl-localematcher': 0.2.28 tslib: 2.4.0 dev: false - /@formatjs/intl-listformat/7.0.2: - resolution: {integrity: sha512-K+HXrYIvEcAH/dS8XXnSHQYC/z4w0eHjPlDx43HOoDY87/xV7rpHxFVXWXTgwLYC6iAPUO72Y/AaT9iq873juw==} + /@formatjs/intl-listformat/7.0.3: + resolution: {integrity: sha512-ampNLRGZl/08epHa3i5sRmcHGLneC6JrknexbbgnexYFNSmJ6AbL/dCzgrQzw2Efl+5AZK7UbNFxcDYY3RePvw==} dependencies: - '@formatjs/ecma402-abstract': 1.11.7 + '@formatjs/ecma402-abstract': 1.11.8 '@formatjs/intl-localematcher': 0.2.28 tslib: 2.4.0 dev: false @@ -1789,20 +1794,20 @@ packages: tslib: 2.4.0 dev: false - /@formatjs/intl/2.3.0_typescript@4.7.4: - resolution: {integrity: sha512-mE8zGqP+Flrd8tS3AsdvSucnblqwR5gsGM4Bd5711abkabrz52F2TDrU88rVvVfCdHV4dFHFYEmUBVZZ4pATtg==} + /@formatjs/intl/2.3.1_typescript@4.7.4: + resolution: {integrity: sha512-f06qZ/ukpeN24gc01qFjh3P+r3FU/ikY4yG+fDJu6dPNvpUQzDy98lYogA1dr6ig2UtrnoEk3xncyFPL1e9cZw==} peerDependencies: typescript: ^4.5 peerDependenciesMeta: typescript: optional: true dependencies: - '@formatjs/ecma402-abstract': 1.11.7 + '@formatjs/ecma402-abstract': 1.11.8 '@formatjs/fast-memoize': 1.2.4 - '@formatjs/icu-messageformat-parser': 2.1.3 - '@formatjs/intl-displaynames': 6.0.2 - '@formatjs/intl-listformat': 7.0.2 - intl-messageformat: 10.1.0 + '@formatjs/icu-messageformat-parser': 2.1.4 + '@formatjs/intl-displaynames': 6.0.3 + '@formatjs/intl-listformat': 7.0.3 + intl-messageformat: 10.1.1 tslib: 2.4.0 typescript: 4.7.4 dev: false @@ -1857,14 +1862,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 chalk: 4.1.2 jest-message-util: 28.1.1 jest-util: 28.1.1 slash: 3.0.0 dev: true - /@jest/core/28.1.2_ts-node@10.8.1: + /@jest/core/28.1.2_ts-node@10.8.2: resolution: {integrity: sha512-Xo4E+Sb/nZODMGOPt2G3cMmCBqL4/W2Ijwr7/mrXlq4jdJwcFQ/9KrrJZT2adQRk2otVBXXOz1GRQ4Z5iOgvRQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: @@ -1878,14 +1883,14 @@ packages: '@jest/test-result': 28.1.1 '@jest/transform': 28.1.2 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.3.2 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 28.0.2 - jest-config: 28.1.2_hjdndwgjqwbaqblgu6irbm6tqa + jest-config: 28.1.2_eudefza5kbv4z3gj6nnnsfn4wu jest-haste-map: 28.1.1 jest-message-util: 28.1.1 jest-regex-util: 28.0.2 @@ -1920,7 +1925,7 @@ packages: dependencies: '@jest/fake-timers': 28.1.2 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 jest-mock: 28.1.1 dev: true @@ -1947,7 +1952,7 @@ packages: dependencies: '@jest/types': 28.1.1 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.0.1 + '@types/node': 18.0.3 jest-message-util: 28.1.1 jest-mock: 28.1.1 jest-util: 28.1.1 @@ -1979,7 +1984,7 @@ packages: '@jest/transform': 28.1.2 '@jest/types': 28.1.1 '@jridgewell/trace-mapping': 0.3.14 - '@types/node': 18.0.1 + '@types/node': 18.0.3 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -2067,7 +2072,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true @@ -2079,7 +2084,7 @@ packages: '@jest/schemas': 28.0.2 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 '@types/yargs': 17.0.10 chalk: 4.1.2 dev: true @@ -2101,8 +2106,8 @@ packages: '@jridgewell/trace-mapping': 0.3.14 dev: true - /@jridgewell/resolve-uri/3.0.8: - resolution: {integrity: sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==} + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} dev: true @@ -2125,14 +2130,14 @@ packages: /@jridgewell/trace-mapping/0.3.14: resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} dependencies: - '@jridgewell/resolve-uri': 3.0.8 + '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true /@jridgewell/trace-mapping/0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.0.8 + '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true @@ -2397,8 +2402,8 @@ packages: '@swc/core': 1.2.205 dev: true - /@testing-library/dom/8.14.0: - resolution: {integrity: sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==} + /@testing-library/dom/8.16.0: + resolution: {integrity: sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w==} engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.18.6 @@ -2432,7 +2437,7 @@ packages: peerDependencies: preact: '>=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0' dependencies: - '@testing-library/dom': 8.14.0 + '@testing-library/dom': 8.16.0 preact: 10.6.2 dev: true @@ -2474,8 +2479,8 @@ packages: /@types/babel__core/7.1.19: resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - '@babel/parser': 7.18.6 - '@babel/types': 7.18.7 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.17.1 @@ -2484,59 +2489,59 @@ packages: /@types/babel__generator/7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.18.6 - '@babel/types': 7.18.7 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 dev: true /@types/babel__traverse/7.17.1: resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@types/body-parser/1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/bonjour/3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/cheerio/0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/connect-history-api-fallback/1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.29 - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/enzyme/3.10.12: resolution: {integrity: sha512-xryQlOEIe1TduDWAOphR0ihfebKFSWOXpIsk+70JskCfRfW+xALdnJ0r1ZOTo85F9Qsjk6vtlU7edTYHbls9tA==} dependencies: '@types/cheerio': 0.22.31 - '@types/react': 18.0.14 + '@types/react': 18.0.15 dev: true /@types/eslint-scope/3.7.4: @@ -2549,7 +2554,7 @@ packages: /@types/eslint/8.4.5: resolution: {integrity: sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==} dependencies: - '@types/estree': 0.0.52 + '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 dev: true @@ -2557,14 +2562,14 @@ packages: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: true - /@types/estree/0.0.52: - resolution: {integrity: sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==} + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true /@types/express-serve-static-core/4.17.29: resolution: {integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -2582,19 +2587,19 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/hoist-non-react-statics/3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: - '@types/react': 18.0.14 + '@types/react': 18.0.15 hoist-non-react-statics: 3.3.2 /@types/html-minifier-terser/6.1.0: @@ -2604,7 +2609,7 @@ packages: /@types/http-proxy/1.17.9: resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -2623,8 +2628,8 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/28.1.4: - resolution: {integrity: sha512-telv6G5N7zRJiLcI3Rs3o+ipZ28EnE+7EvF0pSrt2pZOMnAVI/f+6/LucDxOvcBcTeTL3JMF744BbVQAVBUQRA==} + /@types/jest/28.1.5: + resolution: {integrity: sha512-TLAC2zXxGnohSP3GxgIyJn7yrTeRPDEyVFyCY1NE2wzg392auI+69uk5EPGjUXuhkq/K208J/TWpLG7J8ebIEQ==} dependencies: jest-matcher-utils: 28.1.1 pretty-format: 28.1.1 @@ -2633,7 +2638,7 @@ packages: /@types/jsdom/16.2.14: resolution: {integrity: sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 '@types/parse5': 6.0.3 '@types/tough-cookie': 4.0.2 dev: true @@ -2672,8 +2677,8 @@ packages: resolution: {integrity: sha512-0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA==} dev: true - /@types/node/18.0.1: - resolution: {integrity: sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg==} + /@types/node/18.0.3: + resolution: {integrity: sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==} dev: true /@types/normalize-package-data/2.4.1: @@ -2707,13 +2712,13 @@ packages: resolution: {integrity: sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==} dependencies: '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 18.0.14 + '@types/react': 18.0.15 hoist-non-react-statics: 3.3.2 redux: 4.2.0 dev: true - /@types/react/18.0.14: - resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} + /@types/react/18.0.15: + resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 @@ -2742,13 +2747,13 @@ packages: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/sockjs/0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/stack-utils/2.0.1: @@ -2758,7 +2763,7 @@ packages: /@types/testing-library__jest-dom/5.14.5: resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} dependencies: - '@types/jest': 28.1.4 + '@types/jest': 28.1.5 dev: true /@types/tough-cookie/4.0.2: @@ -2776,7 +2781,7 @@ packages: /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /@types/yargs-parser/21.0.0: @@ -2795,8 +2800,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin/5.30.3_uhfrv6c56y4b7yuzllo3ym4bou: - resolution: {integrity: sha512-QEgE1uahnDbWEkZlidq7uKB630ny1NN8KbLPmznX+8hYsYpoV1/quG1Nzvs141FVuumuS7O0EpqYw3RB4AVzRg==} + /@typescript-eslint/eslint-plugin/5.30.6_2vt5mtrqleafs33qg2bhpmbaqm: + resolution: {integrity: sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -2806,12 +2811,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e - '@typescript-eslint/scope-manager': 5.30.3 - '@typescript-eslint/type-utils': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e - '@typescript-eslint/utils': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/type-utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 4.3.4 - eslint: 8.18.0 + eslint: 8.19.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 @@ -2822,21 +2827,21 @@ packages: - supports-color dev: true - /@typescript-eslint/experimental-utils/5.30.0_b5e7v2qnwxfo6hmiq56u52mz3e: - resolution: {integrity: sha512-k+EM/r2hxSMX+S+ji9qQVyVMeJ8IEunadngM+1rEDLdUbqQlYoUv78HWCKoOHJao+KSyLbhYHFhh7h54+rB63A==} + /@typescript-eslint/experimental-utils/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-bqvT+0L8IjtW7MCrMgm9oVNxs4g7mESro1mm5c1/SNfTnHuFTf9OUX1WzVkTz75M9cp//UrTrSmGvK48NEKshQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.30.0_b5e7v2qnwxfo6hmiq56u52mz3e - eslint: 8.18.0 + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e: - resolution: {integrity: sha512-ddwGEPC3E49DduAUC8UThQafHRE5uc1NE8jdOgl+w8/NrYF50MJQNeD3u4JZrqAXdY9rJz0CdQ9HpNME20CzkA==} + /@typescript-eslint/parser/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2845,34 +2850,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.30.3 - '@typescript-eslint/types': 5.30.3 - '@typescript-eslint/typescript-estree': 5.30.3_typescript@4.7.4 + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4 debug: 4.3.4 - eslint: 8.18.0 + eslint: 8.19.0 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.30.0: - resolution: {integrity: sha512-3TZxvlQcK5fhTBw5solQucWSJvonXf5yua5nx8OqK94hxdrT7/6W3/CS42MLd/f1BmlmmbGEgQcTHHCktUX5bQ==} + /@typescript-eslint/scope-manager/5.30.6: + resolution: {integrity: sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.30.0 - '@typescript-eslint/visitor-keys': 5.30.0 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/visitor-keys': 5.30.6 dev: true - /@typescript-eslint/scope-manager/5.30.3: - resolution: {integrity: sha512-yVJIIUXeo/vv6Alj6lKBvsqnRs5hcxUpN3Dg3aD9Zv6r7p6Nn106jJcr5rnpRHAReEb/aMI2RWrt3JmL17eCVA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.30.3 - '@typescript-eslint/visitor-keys': 5.30.3 - dev: true - - /@typescript-eslint/type-utils/5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e: - resolution: {integrity: sha512-IIzakE7OXOqdwPaXhRiPnaZ8OuJJYBLufOffd9fqzkI4IMFIYq8KC7bghdnF7QUJTirURRErQFrJ/w5UpwIqaw==} + /@typescript-eslint/type-utils/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2881,27 +2878,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 4.3.4 - eslint: 8.18.0 + eslint: 8.19.0 tsutils: 3.21.0_typescript@4.7.4 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.30.0: - resolution: {integrity: sha512-vfqcBrsRNWw/LBXyncMF/KrUTYYzzygCSsVqlZ1qGu1QtGs6vMkt3US0VNSQ05grXi5Yadp3qv5XZdYLjpp8ag==} + /@typescript-eslint/types/5.30.6: + resolution: {integrity: sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types/5.30.3: - resolution: {integrity: sha512-vshU3pjSTgBPNgfd55JLYngHkXuwQP68fxYFUAg1Uq+JrR3xG/XjvL9Dmv28CpOERtqwkaR4QQ3mD0NLZcE2Xw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/typescript-estree/5.30.0_typescript@4.7.4: - resolution: {integrity: sha512-hDEawogreZB4n1zoqcrrtg/wPyyiCxmhPLpZ6kmWfKF5M5G0clRLaEexpuWr31fZ42F96SlD/5xCt1bT5Qm4Nw==} + /@typescript-eslint/typescript-estree/5.30.6_typescript@4.7.4: + resolution: {integrity: sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2909,8 +2901,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.30.0 - '@typescript-eslint/visitor-keys': 5.30.0 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/visitor-keys': 5.30.6 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -2921,76 +2913,29 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.30.3_typescript@4.7.4: - resolution: {integrity: sha512-jqVh5N9AJx6+7yRgoA+ZelAFrHezgI9pzI9giv7s84DDOmtpFwTgURcpICDHyz9x6vAeOu91iACZ4dBTVfzIyA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.30.3 - '@typescript-eslint/visitor-keys': 5.30.3 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.4 - typescript: 4.7.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils/5.30.0_b5e7v2qnwxfo6hmiq56u52mz3e: - resolution: {integrity: sha512-0bIgOgZflLKIcZsWvfklsaQTM3ZUbmtH0rJ1hKyV3raoUYyeZwcjQ8ZUJTzS7KnhNcsVT1Rxs7zeeMHEhGlltw==} + /@typescript-eslint/utils/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.30.0 - '@typescript-eslint/types': 5.30.0 - '@typescript-eslint/typescript-estree': 5.30.0_typescript@4.7.4 - eslint: 8.18.0 + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4 + eslint: 8.19.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.18.0 + eslint-utils: 3.0.0_eslint@8.19.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e: - resolution: {integrity: sha512-OEaBXGxxdIy35H+jyXfYAMQ66KMJczK9hEhL3gR6IRbWe5PyK+bPDC9zbQNVII6rNFTfF/Mse0z21NlEU+vOMw==} + /@typescript-eslint/visitor-keys/5.30.6: + resolution: {integrity: sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.30.3 - '@typescript-eslint/types': 5.30.3 - '@typescript-eslint/typescript-estree': 5.30.3_typescript@4.7.4 - eslint: 8.18.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.18.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys/5.30.0: - resolution: {integrity: sha512-6WcIeRk2DQ3pHKxU1Ni0qMXJkjO/zLjBymlYBy/53qxe7yjEFSvzKLDToJjURUhSl2Fzhkl4SMXQoETauF74cw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.30.0 - eslint-visitor-keys: 3.3.0 - dev: true - - /@typescript-eslint/visitor-keys/5.30.3: - resolution: {integrity: sha512-ep2xtHOhnSRt6fDP9DSSxrA/FqZhdMF7/Y9fYsxrKss2uWJMbzJyBJ/We1fKc786BJ10pHwrzUlhvpz8i7XzBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.30.3 + '@typescript-eslint/types': 5.30.6 eslint-visitor-keys: 3.3.0 dev: true @@ -3464,7 +3409,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.1 - caniuse-lite: 1.0.30001361 + caniuse-lite: 1.0.30001365 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -3538,7 +3483,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@babel/template': 7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 '@types/babel__core': 7.1.19 '@types/babel__traverse': 7.17.1 dev: true @@ -3565,7 +3510,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.18.6 + '@babel/compat-data': 7.18.8 '@babel/core': 7.18.6 '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 semver: 6.3.0 @@ -3580,7 +3525,7 @@ packages: dependencies: '@babel/core': 7.18.6 '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 - core-js-compat: 3.23.3 + core-js-compat: 3.23.4 transitivePeerDependencies: - supports-color dev: true @@ -3736,9 +3681,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001361 - electron-to-chromium: 1.4.176 - node-releases: 2.0.5 + caniuse-lite: 1.0.30001365 + electron-to-chromium: 1.4.187 + node-releases: 2.0.6 update-browserslist-db: 1.0.4_browserslist@4.21.1 dev: true @@ -3809,13 +3754,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.1 - caniuse-lite: 1.0.30001361 + caniuse-lite: 1.0.30001365 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite/1.0.30001361: - resolution: {integrity: sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ==} + /caniuse-lite/1.0.30001365: + resolution: {integrity: sha512-VDQZ8OtpuIPMBA4YYvZXECtXbddMCUFJk1qu8Mqxfm/SZJNSr1cy4IuLCOL7RJ/YASrvJcYg1Zh+UEUQ5m6z8Q==} dev: true /chalk/2.4.2: @@ -3973,8 +3918,8 @@ packages: is-regexp: 2.1.0 dev: true - /clsx/1.1.1: - resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} + /clsx/1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} dev: false @@ -4124,20 +4069,20 @@ packages: engines: {node: '>= 0.6'} dev: true - /core-js-compat/3.23.3: - resolution: {integrity: sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw==} + /core-js-compat/3.23.4: + resolution: {integrity: sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==} dependencies: browserslist: 4.21.1 semver: 7.0.0 dev: true - /core-js-pure/3.23.3: - resolution: {integrity: sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==} + /core-js-pure/3.23.4: + resolution: {integrity: sha512-lizxkcgj3XDmi7TUBFe+bQ1vNpD5E4t76BrBWI3HdUxdw/Mq1VF4CkiHzIKyieECKtcODK2asJttoofEeUKICQ==} requiresBuild: true dev: true - /core-js/3.23.3: - resolution: {integrity: sha512-oAKwkj9xcWNBAvGbT//WiCdOMpb9XQG92/Fe3ABFM/R16BsHgePG00mFOgKf7IsCtfj8tA1kHtf/VwErhriz5Q==} + /core-js/3.23.4: + resolution: {integrity: sha512-vjsKqRc1RyAJC3Ye2kYqgfdThb3zYnx9CrqoCcjMOENMtQPC7ZViBvlDxwYU/2z2NI/IPuiXw5mT4hWhddqjzQ==} requiresBuild: true /core-util-is/1.0.3: @@ -4465,7 +4410,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.2 dev: true /debug/4.3.4: @@ -4646,7 +4591,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - entities: 4.3.0 + entities: 4.3.1 dev: true /domelementtype/2.3.0: @@ -4714,8 +4659,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium/1.4.176: - resolution: {integrity: sha512-92JdgyRlcNDwuy75MjuFSb3clt6DGJ2IXSpg0MCjKd3JV9eSmuUAIyWiGAp/EtT0z2D4rqbYqThQLV90maH3Zw==} + /electron-to-chromium/1.4.187: + resolution: {integrity: sha512-t3iFLHVIMhB8jGZ+8ui951nz6Bna5qKfhxezG3wzXdBJ79qFKPsE2chjjVFNqC1ewhfrPQrw9pmVeo4FFpZeQA==} dev: true /emittery/0.10.2: @@ -4753,13 +4698,8 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - /entities/3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: true - - /entities/4.3.0: - resolution: {integrity: sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==} + /entities/4.3.1: + resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} engines: {node: '>=0.12'} dev: true @@ -4908,21 +4848,21 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-preact/1.3.0_7mj6cl6nctrt27s5myc3ohapqe: + /eslint-config-preact/1.3.0_3yacqyit32n2tvjhojswm22mwq: resolution: {integrity: sha512-yHYXg5qNzEJd3D/30AmsIW0W8MuY858KpApXp7xxBF08IYUljSKCOqMx+dVucXHQnAm7+11wOnMkgVHIBAechw==} peerDependencies: eslint: 6.x || 7.x || 8.x dependencies: '@babel/core': 7.18.6 - '@babel/eslint-parser': 7.18.2_adaaawmztyaoftgelr4r3k6qwu + '@babel/eslint-parser': 7.18.2_ygqbvsyswrl2cmipz2mlfqys74 '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.6 '@babel/plugin-syntax-decorators': 7.18.6_@babel+core@7.18.6 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.6 - eslint: 8.18.0 - eslint-plugin-compat: 4.0.2_eslint@8.18.0 - eslint-plugin-jest: 25.7.0_7mj6cl6nctrt27s5myc3ohapqe - eslint-plugin-react: 7.30.1_eslint@8.18.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.18.0 + eslint: 8.19.0 + eslint-plugin-compat: 4.0.2_eslint@8.19.0 + eslint-plugin-jest: 25.7.0_3yacqyit32n2tvjhojswm22mwq + eslint-plugin-react: 7.30.1_eslint@8.19.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.19.0 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - jest @@ -4930,16 +4870,16 @@ packages: - typescript dev: true - /eslint-config-prettier/8.5.0_eslint@8.18.0: + /eslint-config-prettier/8.5.0_eslint@8.19.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.18.0 + eslint: 8.19.0 dev: true - /eslint-config-react-app/7.0.1_o3zumcjzhrxqm4rk4z3wi6c4mq: + /eslint-config-react-app/7.0.1_2q22o7yntub6dgnjkyx65wx6su: resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4950,20 +4890,20 @@ packages: optional: true dependencies: '@babel/core': 7.18.6 - '@babel/eslint-parser': 7.18.2_adaaawmztyaoftgelr4r3k6qwu + '@babel/eslint-parser': 7.18.2_ygqbvsyswrl2cmipz2mlfqys74 '@rushstack/eslint-patch': 1.1.4 - '@typescript-eslint/eslint-plugin': 5.30.3_uhfrv6c56y4b7yuzllo3ym4bou - '@typescript-eslint/parser': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e + '@typescript-eslint/eslint-plugin': 5.30.6_2vt5mtrqleafs33qg2bhpmbaqm + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 - eslint: 8.18.0 - eslint-plugin-flowtype: 8.0.3_uj23m7lwigzrbwb5oku667qxh4 - eslint-plugin-import: 2.26.0_stpfporf4ezjetv6zdnl75453m - eslint-plugin-jest: 25.7.0_7mj6cl6nctrt27s5myc3ohapqe - eslint-plugin-jsx-a11y: 6.6.0_eslint@8.18.0 - eslint-plugin-react: 7.30.1_eslint@8.18.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.18.0 - eslint-plugin-testing-library: 5.5.1_b5e7v2qnwxfo6hmiq56u52mz3e + eslint: 8.19.0 + eslint-plugin-flowtype: 8.0.3_wrw5rqvtsoke32kfcflhlcgk4y + eslint-plugin-import: 2.26.0_rywvbqnelbznwddhxv2glfjuay + eslint-plugin-jest: 25.7.0_3yacqyit32n2tvjhojswm22mwq + eslint-plugin-jsx-a11y: 6.6.0_eslint@8.19.0 + eslint-plugin-react: 7.30.1_eslint@8.19.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.19.0 + eslint-plugin-testing-library: 5.5.1_4x5o4skxv6sl53vpwefgt23khm typescript: 4.7.4 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -4983,7 +4923,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.3_bzaq7d2i4y5c5mw2ofduwxq46a: + /eslint-module-utils/2.7.3_bsugbhruclroeiaqnd7gqoy7ya: resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} engines: {node: '>=4'} peerDependencies: @@ -5001,7 +4941,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 3.2.7 eslint-import-resolver-node: 0.3.6 find-up: 2.1.0 @@ -5009,7 +4949,7 @@ packages: - supports-color dev: true - /eslint-plugin-compat/4.0.2_eslint@8.18.0: + /eslint-plugin-compat/4.0.2_eslint@8.19.0: resolution: {integrity: sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==} engines: {node: '>=9.x'} peerDependencies: @@ -5018,15 +4958,15 @@ packages: '@mdn/browser-compat-data': 4.2.1 ast-metadata-inferer: 0.7.0 browserslist: 4.21.1 - caniuse-lite: 1.0.30001361 - core-js: 3.23.3 - eslint: 8.18.0 + caniuse-lite: 1.0.30001365 + core-js: 3.23.4 + eslint: 8.19.0 find-up: 5.0.0 lodash.memoize: 4.1.2 semver: 7.3.5 dev: true - /eslint-plugin-flowtype/8.0.3_uj23m7lwigzrbwb5oku667qxh4: + /eslint-plugin-flowtype/8.0.3_wrw5rqvtsoke32kfcflhlcgk4y: resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5036,12 +4976,12 @@ packages: dependencies: '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-react-jsx': 7.18.6_@babel+core@7.18.6 - eslint: 8.18.0 + eslint: 8.19.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: true - /eslint-plugin-import/2.26.0_stpfporf4ezjetv6zdnl75453m: + /eslint-plugin-import/2.26.0_rywvbqnelbznwddhxv2glfjuay: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -5051,14 +4991,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.30.3_b5e7v2qnwxfo6hmiq56u52mz3e + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.18.0 + eslint: 8.19.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3_bzaq7d2i4y5c5mw2ofduwxq46a + eslint-module-utils: 2.7.3_bsugbhruclroeiaqnd7gqoy7ya has: 1.0.3 is-core-module: 2.9.0 is-glob: 4.0.3 @@ -5072,7 +5012,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest/25.7.0_7mj6cl6nctrt27s5myc3ohapqe: + /eslint-plugin-jest/25.7.0_3yacqyit32n2tvjhojswm22mwq: resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: @@ -5085,16 +5025,16 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.30.3_uhfrv6c56y4b7yuzllo3ym4bou - '@typescript-eslint/experimental-utils': 5.30.0_b5e7v2qnwxfo6hmiq56u52mz3e - eslint: 8.18.0 - jest: 28.1.2_hjdndwgjqwbaqblgu6irbm6tqa + '@typescript-eslint/eslint-plugin': 5.30.6_2vt5mtrqleafs33qg2bhpmbaqm + '@typescript-eslint/experimental-utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 + jest: 28.1.2_eudefza5kbv4z3gj6nnnsfn4wu transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsx-a11y/6.6.0_eslint@8.18.0: + /eslint-plugin-jsx-a11y/6.6.0_eslint@8.19.0: resolution: {integrity: sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw==} engines: {node: '>=4.0'} peerDependencies: @@ -5108,15 +5048,15 @@ packages: axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.18.0 + eslint: 8.19.0 has: 1.0.3 - jsx-ast-utils: 3.3.1 + jsx-ast-utils: 3.3.2 language-tags: 1.0.5 minimatch: 3.1.2 semver: 6.3.0 dev: true - /eslint-plugin-prettier/4.2.1_xu6ewijrtliw5q5lksq5uixwby: + /eslint-plugin-prettier/4.2.1_7uxdfn2xinezdgvmbammh6ev5i: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5127,22 +5067,22 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.18.0 - eslint-config-prettier: 8.5.0_eslint@8.18.0 + eslint: 8.19.0 + eslint-config-prettier: 8.5.0_eslint@8.19.0 prettier: 2.7.1 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.18.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.19.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.18.0 + eslint: 8.19.0 dev: true - /eslint-plugin-react/7.30.1_eslint@8.18.0: + /eslint-plugin-react/7.30.1_eslint@8.19.0: resolution: {integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==} engines: {node: '>=4'} peerDependencies: @@ -5151,9 +5091,9 @@ packages: array-includes: 3.1.5 array.prototype.flatmap: 1.3.0 doctrine: 2.1.0 - eslint: 8.18.0 + eslint: 8.19.0 estraverse: 5.3.0 - jsx-ast-utils: 3.3.1 + jsx-ast-utils: 3.3.2 minimatch: 3.1.2 object.entries: 1.1.5 object.fromentries: 2.0.5 @@ -5165,14 +5105,14 @@ packages: string.prototype.matchall: 4.0.7 dev: true - /eslint-plugin-testing-library/5.5.1_b5e7v2qnwxfo6hmiq56u52mz3e: + /eslint-plugin-testing-library/5.5.1_4x5o4skxv6sl53vpwefgt23khm: resolution: {integrity: sha512-plLEkkbAKBjPxsLj7x4jNapcHAg2ernkQlKKrN2I8NrQwPISZHyCUNvg5Hv3EDqOQReToQb5bnqXYbkijJPE/g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.30.0_b5e7v2qnwxfo6hmiq56u52mz3e - eslint: 8.18.0 + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 transitivePeerDependencies: - supports-color - typescript @@ -5194,13 +5134,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.18.0: + /eslint-utils/3.0.0_eslint@8.19.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.18.0 + eslint: 8.19.0 eslint-visitor-keys: 2.1.0 dev: true @@ -5214,8 +5154,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.18.0: - resolution: {integrity: sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==} + /eslint/8.19.0: + resolution: {integrity: sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -5228,7 +5168,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.18.0 + eslint-utils: 3.0.0_eslint@8.19.0 eslint-visitor-keys: 3.3.0 espree: 9.3.2 esquery: 1.4.0 @@ -5237,7 +5177,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.15.0 + globals: 13.16.0 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -5565,8 +5505,8 @@ packages: optional: true dev: true - /fork-ts-checker-webpack-plugin/7.2.11_3o2jfq6vfqxns3sz6wn2nnc3ei: - resolution: {integrity: sha512-2e5+NyTUTE1Xq4fWo7KFEQblCaIvvINQwUX3jRmEGlgCTc1Ecqw/975EfQrQ0GEraxJTnp8KB9d/c8hlCHUMJA==} + /fork-ts-checker-webpack-plugin/7.2.12_3o2jfq6vfqxns3sz6wn2nnc3ei: + resolution: {integrity: sha512-SCjmmjPXPgp5XRQ49hXd2Eqth8rz4+ggtOHygTzyaOn32oIIOd8Kw+xKcgXNkFGlZy5l03bHRYTkbQs+TWhaNA==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: typescript: '>3.6.0' @@ -5752,8 +5692,8 @@ packages: engines: {node: '>=4'} dev: true - /globals/13.15.0: - resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} + /globals/13.16.0: + resolution: {integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -5943,22 +5883,13 @@ packages: entities: 2.2.0 dev: true - /htmlparser2/7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 3.0.1 - dev: true - /htmlparser2/8.0.1: resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.0.1 - entities: 4.3.0 + entities: 4.3.1 dev: true /http-deceiver/1.2.7: @@ -6182,12 +6113,12 @@ packages: resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} dev: false - /intl-messageformat/10.1.0: - resolution: {integrity: sha512-diGMDv9Zo2Mggf6AkJszq/BIR5+rarkwcr4g5JGgREwbwAHY9hR/dYd8FbIgQx2RTxhJsABfAWCiENFLbaTZjg==} + /intl-messageformat/10.1.1: + resolution: {integrity: sha512-FeJne2oooYW6shLPbrqyjRX6hTELVrQ90Dn88z7NomLk/xZBCLxLPAkgaYaTQJBRBV78nZ933d8APHHkTQrD9Q==} dependencies: - '@formatjs/ecma402-abstract': 1.11.7 + '@formatjs/ecma402-abstract': 1.11.8 '@formatjs/fast-memoize': 1.2.4 - '@formatjs/icu-messageformat-parser': 2.1.3 + '@formatjs/icu-messageformat-parser': 2.1.4 tslib: 2.4.0 dev: false @@ -6422,7 +6353,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.18.6 - '@babel/parser': 7.18.6 + '@babel/parser': 7.18.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -6474,7 +6405,7 @@ packages: '@jest/expect': 28.1.2 '@jest/test-result': 28.1.1 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -6493,7 +6424,7 @@ packages: - supports-color dev: true - /jest-cli/28.1.2_hjdndwgjqwbaqblgu6irbm6tqa: + /jest-cli/28.1.2_eudefza5kbv4z3gj6nnnsfn4wu: resolution: {integrity: sha512-l6eoi5Do/IJUXAFL9qRmDiFpBeEJAnjJb1dcd9i/VWfVWbp3mJhuH50dNtX67Ali4Ecvt4eBkWb4hXhPHkAZTw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -6503,14 +6434,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.2_ts-node@10.8.1 + '@jest/core': 28.1.2_ts-node@10.8.2 '@jest/test-result': 28.1.1 '@jest/types': 28.1.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 28.1.2_hjdndwgjqwbaqblgu6irbm6tqa + jest-config: 28.1.2_eudefza5kbv4z3gj6nnnsfn4wu jest-util: 28.1.1 jest-validate: 28.1.1 prompts: 2.4.2 @@ -6521,7 +6452,7 @@ packages: - ts-node dev: true - /jest-config/28.1.2_hjdndwgjqwbaqblgu6irbm6tqa: + /jest-config/28.1.2_eudefza5kbv4z3gj6nnnsfn4wu: resolution: {integrity: sha512-g6EfeRqddVbjPVBVY4JWpUY4IvQoFRIZcv4V36QkqzE0IGhEC/VkugFeBMAeUE7PRgC8KJF0yvJNDeQRbamEVA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: @@ -6536,7 +6467,7 @@ packages: '@babel/core': 7.18.6 '@jest/test-sequencer': 28.1.1 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 babel-jest: 28.1.2_@babel+core@7.18.6 chalk: 4.1.2 ci-info: 3.3.2 @@ -6556,7 +6487,7 @@ packages: pretty-format: 28.1.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.8.1_ul7vg5eqprg7bbfkmwpa5enrra + ts-node: 10.8.2_oob3snywllkr2hdymfpal4vwlq transitivePeerDependencies: - supports-color dev: true @@ -6597,7 +6528,7 @@ packages: '@jest/fake-timers': 28.1.2 '@jest/types': 28.1.1 '@types/jsdom': 16.2.14 - '@types/node': 18.0.1 + '@types/node': 18.0.3 jest-mock: 28.1.1 jest-util: 28.1.1 jsdom: 19.0.0 @@ -6615,7 +6546,7 @@ packages: '@jest/environment': 28.1.2 '@jest/fake-timers': 28.1.2 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 jest-mock: 28.1.1 jest-util: 28.1.1 dev: true @@ -6640,7 +6571,7 @@ packages: dependencies: '@jest/types': 28.1.1 '@types/graceful-fs': 4.1.5 - '@types/node': 18.0.1 + '@types/node': 18.0.3 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -6696,7 +6627,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 dev: true /jest-pnp-resolver/1.2.2_jest-resolve@28.1.1: @@ -6750,7 +6681,7 @@ packages: '@jest/test-result': 28.1.1 '@jest/transform': 28.1.2 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -6807,8 +6738,8 @@ packages: '@babel/core': 7.18.6 '@babel/generator': 7.18.7 '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.6 - '@babel/traverse': 7.18.6 - '@babel/types': 7.18.7 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 '@jest/expect-utils': 28.1.1 '@jest/transform': 28.1.2 '@jest/types': 28.1.1 @@ -6836,7 +6767,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 chalk: 4.1.2 ci-info: 3.3.2 graceful-fs: 4.2.10 @@ -6861,7 +6792,7 @@ packages: dependencies: '@jest/test-result': 28.1.1 '@jest/types': 28.1.1 - '@types/node': 18.0.1 + '@types/node': 18.0.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -6873,7 +6804,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -6882,12 +6813,12 @@ packages: resolution: {integrity: sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 18.0.1 + '@types/node': 18.0.3 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest/28.1.2_hjdndwgjqwbaqblgu6irbm6tqa: + /jest/28.1.2_eudefza5kbv4z3gj6nnnsfn4wu: resolution: {integrity: sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -6897,10 +6828,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.2_ts-node@10.8.1 + '@jest/core': 28.1.2_ts-node@10.8.2 '@jest/types': 28.1.1 import-local: 3.1.0 - jest-cli: 28.1.2_hjdndwgjqwbaqblgu6irbm6tqa + jest-cli: 28.1.2_eudefza5kbv4z3gj6nnnsfn4wu transitivePeerDependencies: - '@types/node' - supports-color @@ -6911,6 +6842,10 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true + /js-tokens/8.0.0: + resolution: {integrity: sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==} + dev: true + /js-yaml/3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -7020,8 +6955,8 @@ packages: graceful-fs: 4.2.10 dev: true - /jsx-ast-utils/3.3.1: - resolution: {integrity: sha512-pxrjmNpeRw5wwVeWyEAk7QJu2GnBO3uzPFmHCKJJFPKK2Cy0cWL23krGtLdnMmbIi6/FjlrQpPyfQI19ByPOhQ==} + /jsx-ast-utils/3.3.2: + resolution: {integrity: sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==} engines: {node: '>=4.0'} dependencies: array-includes: 3.1.5 @@ -7047,14 +6982,14 @@ packages: resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==} dev: true - /language-subtag-registry/0.3.21: - resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==} + /language-subtag-registry/0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true /language-tags/1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: - language-subtag-registry: 0.3.21 + language-subtag-registry: 0.3.22 dev: true /leven/3.1.0: @@ -7124,7 +7059,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.5 + rxjs: 7.5.6 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -7527,8 +7462,8 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-releases/2.0.5: - resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} dev: true /nodent-compiler/3.2.13: @@ -7882,7 +7817,7 @@ packages: /parse5/7.0.0: resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} dependencies: - entities: 4.3.0 + entities: 4.3.1 dev: true /parseurl/1.3.3: @@ -8015,11 +7950,11 @@ packages: find-up: 4.1.0 dev: true - /postcss-attribute-case-insensitive/5.0.1_postcss@8.4.14: - resolution: {integrity: sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==} + /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.14: + resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-selector-parser: 6.0.10 @@ -8045,11 +7980,11 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation/4.2.3_postcss@8.4.14: - resolution: {integrity: sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==} + /postcss-color-functional-notation/4.2.4_postcss@8.4.14: + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 @@ -8065,11 +8000,11 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple/7.1.0_postcss@8.4.14: - resolution: {integrity: sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw==} + /postcss-color-rebeccapurple/7.1.1_postcss@8.4.14: + resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 @@ -8129,11 +8064,11 @@ packages: postcss-selector-parser: 6.0.10 dev: true - /postcss-dir-pseudo-class/6.0.4_postcss@8.4.14: - resolution: {integrity: sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==} + /postcss-dir-pseudo-class/6.0.5_postcss@8.4.14: + resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-selector-parser: 6.0.10 @@ -8175,11 +8110,11 @@ packages: postcss: 8.4.14 dev: true - /postcss-double-position-gradients/3.1.1_postcss@8.4.14: - resolution: {integrity: sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==} + /postcss-double-position-gradients/3.1.2_postcss@8.4.14: + resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 postcss: 8.4.14 @@ -8224,29 +8159,30 @@ packages: postcss: 8.4.14 dev: true - /postcss-gap-properties/3.0.3_postcss@8.4.14: - resolution: {integrity: sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==} + /postcss-gap-properties/3.0.5_postcss@8.4.14: + resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 dev: true - /postcss-html/1.4.1: - resolution: {integrity: sha512-OKihuWxPuBQrQeLNsavP7ytJ9IYNj/ViAXB2v7Qjh56LnfESKrkahKA9si4VfPN8xtz6oqUE6KdL0bTPrHJr6g==} + /postcss-html/1.5.0: + resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==} engines: {node: ^12 || >=14} dependencies: - htmlparser2: 7.2.0 + htmlparser2: 8.0.1 + js-tokens: 8.0.0 postcss: 8.4.14 postcss-safe-parser: 6.0.0_postcss@8.4.14 dev: true - /postcss-image-set-function/4.0.6_postcss@8.4.14: - resolution: {integrity: sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==} + /postcss-image-set-function/4.0.7_postcss@8.4.14: + resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 @@ -8260,19 +8196,19 @@ packages: postcss: 8.4.14 dev: true - /postcss-lab-function/4.2.0_postcss@8.4.14: - resolution: {integrity: sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==} + /postcss-lab-function/4.2.1_postcss@8.4.14: + resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 postcss: 8.4.14 postcss-value-parser: 4.2.0 dev: true - /postcss-loader/7.0.0_mepnsno3xmng6eyses4tepu7bu: - resolution: {integrity: sha512-IDyttebFzTSY6DI24KuHUcBjbAev1i+RyICoPEWcAstZsj03r533uMXtDn506l6/wlsRYiS5XBdx7TpccCsyUg==} + /postcss-loader/7.0.1_mepnsno3xmng6eyses4tepu7bu: + resolution: {integrity: sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 @@ -8422,7 +8358,7 @@ packages: peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu + '@csstools/selector-specificity': 2.0.2_444rcjjorr3kpoqtvoodsr46pu postcss: 8.4.14 postcss-selector-parser: 6.0.10 dev: true @@ -8534,13 +8470,14 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-overflow-shorthand/3.0.3_postcss@8.4.14: - resolution: {integrity: sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==} + /postcss-overflow-shorthand/3.0.4_postcss@8.4.14: + resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 + postcss-value-parser: 4.2.0 dev: true /postcss-page-break/3.0.4_postcss@8.4.14: @@ -8551,11 +8488,11 @@ packages: postcss: 8.4.14 dev: true - /postcss-place/7.0.4_postcss@8.4.14: - resolution: {integrity: sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==} + /postcss-place/7.0.5_postcss@8.4.14: + resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-value-parser: 4.2.0 @@ -8567,18 +8504,18 @@ packages: peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-cascade-layers': 1.0.4_postcss@8.4.14 - '@csstools/postcss-color-function': 1.1.0_postcss@8.4.14 - '@csstools/postcss-font-format-keywords': 1.0.0_postcss@8.4.14 - '@csstools/postcss-hwb-function': 1.0.1_postcss@8.4.14 - '@csstools/postcss-ic-unit': 1.0.0_postcss@8.4.14 - '@csstools/postcss-is-pseudo-class': 2.0.6_postcss@8.4.14 - '@csstools/postcss-normalize-display-values': 1.0.0_postcss@8.4.14 - '@csstools/postcss-oklab-function': 1.1.0_postcss@8.4.14 + '@csstools/postcss-cascade-layers': 1.0.5_postcss@8.4.14 + '@csstools/postcss-color-function': 1.1.1_postcss@8.4.14 + '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.14 + '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.14 + '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.14 + '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.14 + '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.14 + '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.14 '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.14 - '@csstools/postcss-stepped-value-functions': 1.0.0_postcss@8.4.14 - '@csstools/postcss-trigonometric-functions': 1.0.1_postcss@8.4.14 - '@csstools/postcss-unset-value': 1.0.1_postcss@8.4.14 + '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.14 + '@csstools/postcss-trigonometric-functions': 1.0.2_postcss@8.4.14 + '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.14 autoprefixer: 10.4.7_postcss@8.4.14 browserslist: 4.21.1 css-blank-pseudo: 3.0.3_postcss@8.4.14 @@ -8586,39 +8523,39 @@ packages: css-prefers-color-scheme: 6.0.3_postcss@8.4.14 cssdb: 6.6.3 postcss: 8.4.14 - postcss-attribute-case-insensitive: 5.0.1_postcss@8.4.14 + postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.14 postcss-clamp: 4.1.0_postcss@8.4.14 - postcss-color-functional-notation: 4.2.3_postcss@8.4.14 + postcss-color-functional-notation: 4.2.4_postcss@8.4.14 postcss-color-hex-alpha: 8.0.4_postcss@8.4.14 - postcss-color-rebeccapurple: 7.1.0_postcss@8.4.14 + postcss-color-rebeccapurple: 7.1.1_postcss@8.4.14 postcss-custom-media: 8.0.2_postcss@8.4.14 postcss-custom-properties: 12.1.8_postcss@8.4.14 postcss-custom-selectors: 6.0.3_postcss@8.4.14 - postcss-dir-pseudo-class: 6.0.4_postcss@8.4.14 - postcss-double-position-gradients: 3.1.1_postcss@8.4.14 + postcss-dir-pseudo-class: 6.0.5_postcss@8.4.14 + postcss-double-position-gradients: 3.1.2_postcss@8.4.14 postcss-env-function: 4.0.6_postcss@8.4.14 postcss-focus-visible: 6.0.4_postcss@8.4.14 postcss-focus-within: 5.0.4_postcss@8.4.14 postcss-font-variant: 5.0.0_postcss@8.4.14 - postcss-gap-properties: 3.0.3_postcss@8.4.14 - postcss-image-set-function: 4.0.6_postcss@8.4.14 + postcss-gap-properties: 3.0.5_postcss@8.4.14 + postcss-image-set-function: 4.0.7_postcss@8.4.14 postcss-initial: 4.0.1_postcss@8.4.14 - postcss-lab-function: 4.2.0_postcss@8.4.14 + postcss-lab-function: 4.2.1_postcss@8.4.14 postcss-logical: 5.0.4_postcss@8.4.14 postcss-media-minmax: 5.0.0_postcss@8.4.14 postcss-nesting: 10.1.10_postcss@8.4.14 postcss-opacity-percentage: 1.1.2 - postcss-overflow-shorthand: 3.0.3_postcss@8.4.14 + postcss-overflow-shorthand: 3.0.4_postcss@8.4.14 postcss-page-break: 3.0.4_postcss@8.4.14 - postcss-place: 7.0.4_postcss@8.4.14 - postcss-pseudo-class-any-link: 7.1.5_postcss@8.4.14 + postcss-place: 7.0.5_postcss@8.4.14 + postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.14 postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.14 - postcss-selector-not: 6.0.0_postcss@8.4.14 + postcss-selector-not: 6.0.1_postcss@8.4.14 postcss-value-parser: 4.2.0 dev: true - /postcss-pseudo-class-any-link/7.1.5_postcss@8.4.14: - resolution: {integrity: sha512-nSGKGScwFTaaV8Cyi27W9FegX3l3b7tmNxujxmykI/j3++cBAiq8fTUAU3ZK0s2aneN2T8cTUvKdNedzp3JIEA==} + /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.14: + resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 @@ -8669,11 +8606,11 @@ packages: postcss: 8.4.14 dev: true - /postcss-selector-not/6.0.0_postcss@8.4.14: - resolution: {integrity: sha512-i/HI/VNd3V9e1WOLCwJsf9nePBRXqcGtVibcJ9FsVo0agfDEfsLSlFt94aYjY35wUNcdG0KrvdyjEr7It50wLQ==} + /postcss-selector-not/6.0.1_postcss@8.4.14: + resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: ^8.2 dependencies: postcss: 8.4.14 postcss-selector-parser: 6.0.10 @@ -8805,8 +8742,8 @@ packages: ipaddr.js: 1.9.1 dev: true - /psl/1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} + /psl/1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true /punycode/1.4.1: @@ -8873,8 +8810,8 @@ packages: unpipe: 1.0.0 dev: true - /react-intl/6.0.4_p7eosiy3chzp3uuudv3bugb7ua: - resolution: {integrity: sha512-eBIP4QuFOdr67+ZmNOA7WGzJ6dj0qgsGQbx3phzcel2B0kVLvfojTJuvYiFuLgbZTrRJMjHwYJZO5zsmibsfug==} + /react-intl/6.0.5_p7eosiy3chzp3uuudv3bugb7ua: + resolution: {integrity: sha512-nDZ3BosuE8WdovcGxsrjj1aIgJZklSL5aORs5oah+5tLQTzUdOEstzJEYQPM+sxl1dkDOu7RCuw0z9oI9ENf9g==} peerDependencies: react: ^16.6.0 || 17 || 18 typescript: ^4.5 @@ -8882,15 +8819,15 @@ packages: typescript: optional: true dependencies: - '@formatjs/ecma402-abstract': 1.11.7 - '@formatjs/icu-messageformat-parser': 2.1.3 - '@formatjs/intl': 2.3.0_typescript@4.7.4 - '@formatjs/intl-displaynames': 6.0.2 - '@formatjs/intl-listformat': 7.0.2 + '@formatjs/ecma402-abstract': 1.11.8 + '@formatjs/icu-messageformat-parser': 2.1.4 + '@formatjs/intl': 2.3.1_typescript@4.7.4 + '@formatjs/intl-displaynames': 6.0.3 + '@formatjs/intl-listformat': 7.0.3 '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 18.0.14 + '@types/react': 18.0.15 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.1.0 + intl-messageformat: 10.1.1 react: /@preact/compat/17.1.1_preact@10.6.2 tslib: 2.4.0 typescript: 4.7.4 @@ -9208,8 +9145,8 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs/7.5.5: - resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} + /rxjs/7.5.6: + resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} dependencies: tslib: 2.4.0 dev: true @@ -9807,7 +9744,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu + '@csstools/selector-specificity': 2.0.2_444rcjjorr3kpoqtvoodsr46pu balanced-match: 2.0.0 colord: 2.9.2 cosmiconfig: 7.0.1 @@ -10036,7 +9973,7 @@ packages: resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} engines: {node: '>=6'} dependencies: - psl: 1.8.0 + psl: 1.9.0 punycode: 2.1.1 universalify: 0.1.2 dev: true @@ -10072,8 +10009,8 @@ packages: webpack: 5.73.0_323cogk7mrkhphrh6zdbuggp4a dev: true - /ts-node/10.8.1_ul7vg5eqprg7bbfkmwpa5enrra: - resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} + /ts-node/10.8.2_oob3snywllkr2hdymfpal4vwlq: + resolution: {integrity: sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -10092,7 +10029,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.0.1 + '@types/node': 18.0.3 acorn: 8.7.1 acorn-walk: 8.2.0 arg: 4.1.3 diff --git a/frontend/pnpm-workspace.yaml b/frontend/pnpm-workspace.yaml new file mode 100644 index 0000000000..06b6051910 --- /dev/null +++ b/frontend/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - "apps/*"