Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@tramvai/module-common
Advanced tools
Модуль, собравший в себя основные архитектурные блоки для работы приложения. Этот модуль необходим в большинстве случаев и добавляемые этим модулем провайдеры используются подавляющим числом других модулей.
Модуль, собравший в себя основные архитектурные блоки для работы приложения. Этот модуль необходим в большинстве случаев и добавляемые этим модулем провайдеры используются подавляющим числом других модулей.
Необходимо установить @tramvai/module-common
с помощью npm
npm i @tramvai/module-common
Нужно передать в список модулей приложения CommonModule
import { createApp } from '@tramvai/core';
import { CommonModule } from '@tramvai/module-common';
createApp({
modules: [CommonModule],
});
Модуль которые добавляет в проект реализацию commandLineRunner и дефолтных команд
Модуль использует логгер с идентификатором command:command-line-runner
Подключает и инициализирует state-manager в проекте
Реализация системы экшенов
Модуль использует логгер с идентификатором action:action-page-runner
Подключен модуль который позволяет работать с куками, документация
Модуль для работы с env переменные в приложении на стороне сервера и клиента, документация
Для отправки событий между модулями используется PubSub который позволяет отправлять сообщения и подписываться на изменения, документация
Модуль использует логгер с идентификатором pubsub
Минимальная реализация логгера для токена LOGGER_TOKEN
без фильтров и дополнительных фич
Модуль для работы с кешами. Функции:
Модуль использует логгер с идентификатором cache:papi-clear-cache
import { provide } from '@tramvai/core';
export const providers = [
provide({
provide: MY_MODULE_PROVIDER_FACTORY,
scope: Scope.SINGLETON,
useFactory: ({ createCache }) => {
const cache = createCache('memory', ...args); // тип кеша и дополнительные аргументы которые будут переданы в конструктор кеша
return someFactory({ cache });
},
deps: {
createCache: CREATE_CACHE_TOKEN,
},
}),
provide({
provide: REGISTER_CLEAR_CACHE_TOKEN,
scope: Scope.SINGLETON,
useFactory: ({ cache }) => {
return async () => {
await cache.reset();
console.log('my module cache cleared');
};
},
deps: {
cache: MY_MODULE_CACHE,
},
}),
provide({
provide: commandLineListTokens.clear,
useFactory: ({ clearCache }) => {
return function clear() {
clearCache(); // очистить кеши явно в своем провайдере
};
},
deps: {
clearCache: CLEAR_CACHE_TOKEN,
},
}),
];
Модуль для работы с параметрами запроса
Модуль для работы с параметрами ответа
FAQs
Base module consisted of the architectural blocks for typical tramvai app. This module is required at most cases and is used a lot by the other modules.
The npm package @tramvai/module-common receives a total of 2,203 weekly downloads. As such, @tramvai/module-common popularity was classified as popular.
We found that @tramvai/module-common demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.