diff --git a/.eslintrc.js b/.eslintrc.js index 210d270..643361c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,6 +2,15 @@ module.exports = { root: true, extends: [require.resolve('@sima-land/linters/eslint'), 'plugin:react/jsx-runtime'], overrides: [ + { + files: ['*.ts', '*.tsx'], + rules: { + '@typescript-eslint/explicit-member-accessibility': [ + 'error', + { accessibility: 'no-public' }, + ], + }, + }, { files: ['*.ts', '*.tsx', '*.js', '*.jsx'], rules: { diff --git a/src/di/errors.ts b/src/di/errors.ts index 6856237..ba5d191 100644 --- a/src/di/errors.ts +++ b/src/di/errors.ts @@ -4,7 +4,7 @@ import type { Token } from './types'; * Ошибка, сообщающая, что в контейнере нет сервиса по заданному ключу. */ export class NothingBoundError extends Error { - public readonly token: Token; + readonly token: Token; /** * Конструктор. diff --git a/src/di/token.ts b/src/di/token.ts index 708bc18..4d70ba5 100644 --- a/src/di/token.ts +++ b/src/di/token.ts @@ -26,7 +26,7 @@ class TokenImplementation implements Token { /** * @inheritdoc */ - public toString(): string { + toString(): string { return `Token(${this._key.description})`; } } diff --git a/src/preset/node/handler.ts b/src/preset/node/handler.ts index 64f33d7..f6478c7 100644 --- a/src/preset/node/handler.ts +++ b/src/preset/node/handler.ts @@ -111,12 +111,14 @@ export function provideMain(resolve: Resolve): VoidFunction { const template = resolve(KnownToken.Http.Handler.Response.Page.template); const builder = resolve(KnownToken.Http.Handler.Response.builder); + const getAssets = typeof assets === 'function' ? assets : () => assets; + return async function main() { try { // @todo это билдер ответа но в ответе может не быть markup, assets и тд, подумать и переделать builder .markup(await render(await prepare())) - .assets(assets) + .assets(await getAssets()) .format(PageResponse.defineFormat(context.req)) .template(template) .send(context.res); diff --git a/src/tokens.ts b/src/tokens.ts index 9ab1a4b..7dbbd91 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -75,7 +75,7 @@ export const KnownToken = { Response: { builder: createToken('response/builder'), Page: { - assets: createToken('page/assets'), + assets: createToken PageAssets | Promise)>('page/assets'), template: createToken('page/template'), prepare: createToken<() => JSX.Element | Promise>('page/prepare'), render: createToken<(element: JSX.Element) => string | Promise>('page/render'), diff --git a/src/utils/redux-saga/middleware.ts b/src/utils/redux-saga/middleware.ts index 5024f7f..3db5173 100644 --- a/src/utils/redux-saga/middleware.ts +++ b/src/utils/redux-saga/middleware.ts @@ -35,7 +35,7 @@ class MiddlewareControl { }); } - public toMiddleware(): SagaExtendedMiddleware { + toMiddleware(): SagaExtendedMiddleware { const middleware: SagaExtendedMiddleware = api => { this.api = api; return this.sagaMiddleware(api);