@sima-land/isomorph 11.0.0-alpha.37 → 11.0.0-alpha.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/preset/isomorphic/index.ts"],"sourcesContent":["export type {\n PresetTuner,\n KnownHttpApiKey,\n StrictMap,\n PageAssets,\n ConventionalJson,\n} from './types';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/isomorphic/types.ts"],"sourcesContent":["import type { Provider, Token } from '../../di';\nimport type { Request, Response, NextFunction } from 'express';\n\nexport interface PresetTuner {\n (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;\n}\n\nexport type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';\n\n/**\n * Строгая версия Map без возможности добавлять/удалять.\n */\nexport interface StrictMap<Key extends string> {\n /** Возвращает значение по ключу. */\n get(key: Key): string;\n}\n\n/**\n * Контекст обработчика express.\n * @todo Перенести!\n */\nexport interface HandlerContext {\n req: Request;\n res: Response;\n next: NextFunction;\n}\n\n/**\n * Внутренний интерфейс для хранения ссылок на ассеты.\n */\nexport interface PageAssets {\n js: string;\n css: string;\n criticalJs?: string;\n criticalCss?: string;\n}\n\n/**\n * Структура ответа от frontend-микросервиса в формате JSON по соглашению.\n */\nexport interface ConventionalJson {\n markup: string;\n bundle_js: string;\n bundle_css: string;\n critical_js?: string;\n critical_css?: string;\n meta?: any;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/isomorphic/types.ts"],"sourcesContent":["import type { Provider, Token } from '../../di';\n\nexport interface PresetTuner {\n (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;\n}\n\nexport type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';\n\n/**\n * Строгая версия Map без возможности добавлять/удалять.\n */\nexport interface StrictMap<Key extends string> {\n /** Возвращает значение по ключу. */\n get(key: Key): string;\n}\n\n/**\n * Внутренний интерфейс для хранения ссылок на ассеты.\n */\nexport interface PageAssets {\n js: string;\n css: string;\n criticalJs?: string;\n criticalCss?: string;\n}\n\n/**\n * Структура ответа от frontend-микросервиса в формате JSON по соглашению.\n */\nexport interface ConventionalJson {\n markup: string;\n bundle_js: string;\n bundle_css: string;\n critical_js?: string;\n critical_css?: string;\n meta?: any;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_node","require","_handler"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["export { PresetNode } from './node';\nexport { PresetHandler, HandlerProvider } from './handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_node","require","_handler"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["export type { HandlerContext } from './types';\nexport { PresetNode } from './node';\nexport { PresetHandler, HandlerProvider } from './handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type { Request, Response, NextFunction } from 'express';\n\n/**\n * Контекст обработчика express.\n */\nexport interface HandlerContext {\n req: Request;\n res: Response;\n next: NextFunction;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type {\n HandlerContext,\n KnownHttpApiKey,\n PageAssets,\n StrictMap,\n} from './preset/isomorphic/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(defaults?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA;;AAsBO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxB;EACAE,MAAM,EAAE;IACNC,MAAM,EAAE,IAAAC,eAAW,EAAe,eAAe,CAAC;IAClDC,IAAI,EAAE,IAAAD,eAAW,EAAa,aAAa;EAC7C,CAAC;EAED;EACAE,KAAK,EAAE,IAAAF,eAAW,EAAQ,OAAO,CAAC;EAElC;EACAG,MAAM,EAAE,IAAAH,eAAW,EAAS,QAAQ,CAAC;EAErC;EACA;EACAI,cAAc,EAAE,IAAAJ,eAAW,EAAyB,iBAAiB,CAAC;EAEtE;EACAK,OAAO,EAAE;IACPC,MAAM,EAAE,IAAAN,eAAW,EAAS,gBAAgB,CAAC;IAC7CO,YAAY,EAAE,IAAAP,eAAW,EAAe,uBAAuB,CAAC;IAChEQ,cAAc,EAAE,IAAAR,eAAW,EAAsB,yBAAyB,CAAC;IAE3E;IACAS,sBAAsB,EAAE,IAAAT,eAAW,EAAW,kBAAkB;EAClE,CAAC;EAED;EACAU,OAAO,EAAE;IACPC,OAAO,EAAE,IAAAX,eAAW,EAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAY,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAE,IAAAd,eAAW,EAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAe,MAAM,EAAE;MACNC,OAAO,EACL,IAAAhB,eAAW,EAA2D,gBAAgB,CAAC;MACzFiB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAE,IAAAnB,eAAW,EAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAoB,MAAM,EAAE;MACNJ,OAAO,EAAE,IAAAhB,eAAW,EAA4B,gBAAgB,CAAC;MACjEqB,QAAQ,EAAE;QACRC,WAAW,EAAE,IAAAtB,eAAW,EAAkB,sBAAsB;MAClE,CAAC;MACDiB,UAAU,EAAE;QACVM,OAAO,EAAE,IAAAvB,eAAW,EAAkB,oBAAoB,CAAC;QAC3DwB,GAAG,EAAE,IAAAxB,eAAW,EAAkB,gBAAgB,CAAC;QACnDyB,OAAO,EAAE,IAAAzB,eAAW,EAAkB,oBAAoB,CAAC;QAC3D0B,OAAO,EAAE,IAAA1B,eAAW,EAAkB,oBAAoB,CAAC;QAC3D2B,KAAK,EAAE,IAAA3B,eAAW,EAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA4B,OAAO,EAAE;MACPC,IAAI,EAAE,IAAA7B,eAAW,EAAa,cAAc,CAAC;MAC7C8B,OAAO,EAAE,IAAA9B,eAAW,EAAiB,iBAAiB,CAAC;MACvD+B,OAAO,EAAE;QACPC,cAAc,EAAE,IAAAhC,eAAW,EAA0B,yBAAyB;MAChF,CAAC;MACDiC,QAAQ,EAAE;QACRC,cAAc,EAAE,IAAAlC,eAAW,EAAiB,0BAA0B;MACxE,CAAC;MACDmC,IAAI,EAAE;QACJC,MAAM,EAAE,IAAApC,eAAW,EAAwD,aAAa,CAAC;QACzFqC,MAAM,EAAE,IAAArC,eAAW,EAAuC,aAAa,CAAC;QACxEsC,MAAM,EAAE,IAAAtC,eAAW,EAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACAuC,SAAS,EAAE;IACTC,UAAU,EAAE,IAAAxC,eAAW,EAA4B,wBAAwB,CAAC;IAC5EyC,UAAU,EAAE,IAAAzC,eAAW,EAAmB,wBAAwB;EACpE;AACF,CAAU"}
1
+ {"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';\nimport type { HandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(defaults?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA;;AAkBO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxB;EACAE,MAAM,EAAE;IACNC,MAAM,EAAE,IAAAC,eAAW,EAAe,eAAe,CAAC;IAClDC,IAAI,EAAE,IAAAD,eAAW,EAAa,aAAa;EAC7C,CAAC;EAED;EACAE,KAAK,EAAE,IAAAF,eAAW,EAAQ,OAAO,CAAC;EAElC;EACAG,MAAM,EAAE,IAAAH,eAAW,EAAS,QAAQ,CAAC;EAErC;EACA;EACAI,cAAc,EAAE,IAAAJ,eAAW,EAAyB,iBAAiB,CAAC;EAEtE;EACAK,OAAO,EAAE;IACPC,MAAM,EAAE,IAAAN,eAAW,EAAS,gBAAgB,CAAC;IAC7CO,YAAY,EAAE,IAAAP,eAAW,EAAe,uBAAuB,CAAC;IAChEQ,cAAc,EAAE,IAAAR,eAAW,EAAsB,yBAAyB,CAAC;IAE3E;IACAS,sBAAsB,EAAE,IAAAT,eAAW,EAAW,kBAAkB;EAClE,CAAC;EAED;EACAU,OAAO,EAAE;IACPC,OAAO,EAAE,IAAAX,eAAW,EAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAY,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAE,IAAAd,eAAW,EAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAe,MAAM,EAAE;MACNC,OAAO,EACL,IAAAhB,eAAW,EAA2D,gBAAgB,CAAC;MACzFiB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAE,IAAAnB,eAAW,EAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAoB,MAAM,EAAE;MACNJ,OAAO,EAAE,IAAAhB,eAAW,EAA4B,gBAAgB,CAAC;MACjEqB,QAAQ,EAAE;QACRC,WAAW,EAAE,IAAAtB,eAAW,EAAkB,sBAAsB;MAClE,CAAC;MACDiB,UAAU,EAAE;QACVM,OAAO,EAAE,IAAAvB,eAAW,EAAkB,oBAAoB,CAAC;QAC3DwB,GAAG,EAAE,IAAAxB,eAAW,EAAkB,gBAAgB,CAAC;QACnDyB,OAAO,EAAE,IAAAzB,eAAW,EAAkB,oBAAoB,CAAC;QAC3D0B,OAAO,EAAE,IAAA1B,eAAW,EAAkB,oBAAoB,CAAC;QAC3D2B,KAAK,EAAE,IAAA3B,eAAW,EAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA4B,OAAO,EAAE;MACPC,IAAI,EAAE,IAAA7B,eAAW,EAAa,cAAc,CAAC;MAC7C8B,OAAO,EAAE,IAAA9B,eAAW,EAAiB,iBAAiB,CAAC;MACvD+B,OAAO,EAAE;QACPC,cAAc,EAAE,IAAAhC,eAAW,EAA0B,yBAAyB;MAChF,CAAC;MACDiC,QAAQ,EAAE;QACRC,cAAc,EAAE,IAAAlC,eAAW,EAAiB,0BAA0B;MACxE,CAAC;MACDmC,IAAI,EAAE;QACJC,MAAM,EAAE,IAAApC,eAAW,EAAwD,aAAa,CAAC;QACzFqC,MAAM,EAAE,IAAArC,eAAW,EAAuC,aAAa,CAAC;QACxEsC,MAAM,EAAE,IAAAtC,eAAW,EAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACAuC,SAAS,EAAE;IACTC,UAAU,EAAE,IAAAxC,eAAW,EAA4B,wBAAwB,CAAC;IAC5EyC,UAAU,EAAE,IAAAzC,eAAW,EAAmB,wBAAwB;EACpE;AACF,CAAU"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/preset/isomorphic/index.ts"],"sourcesContent":["export type {\n PresetTuner,\n KnownHttpApiKey,\n StrictMap,\n PageAssets,\n ConventionalJson,\n} from './types';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/isomorphic/types.ts"],"sourcesContent":["import type { Provider, Token } from '../../di';\nimport type { Request, Response, NextFunction } from 'express';\n\nexport interface PresetTuner {\n (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;\n}\n\nexport type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';\n\n/**\n * Строгая версия Map без возможности добавлять/удалять.\n */\nexport interface StrictMap<Key extends string> {\n /** Возвращает значение по ключу. */\n get(key: Key): string;\n}\n\n/**\n * Контекст обработчика express.\n * @todo Перенести!\n */\nexport interface HandlerContext {\n req: Request;\n res: Response;\n next: NextFunction;\n}\n\n/**\n * Внутренний интерфейс для хранения ссылок на ассеты.\n */\nexport interface PageAssets {\n js: string;\n css: string;\n criticalJs?: string;\n criticalCss?: string;\n}\n\n/**\n * Структура ответа от frontend-микросервиса в формате JSON по соглашению.\n */\nexport interface ConventionalJson {\n markup: string;\n bundle_js: string;\n bundle_css: string;\n critical_js?: string;\n critical_css?: string;\n meta?: any;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/isomorphic/types.ts"],"sourcesContent":["import type { Provider, Token } from '../../di';\n\nexport interface PresetTuner {\n (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;\n}\n\nexport type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';\n\n/**\n * Строгая версия Map без возможности добавлять/удалять.\n */\nexport interface StrictMap<Key extends string> {\n /** Возвращает значение по ключу. */\n get(key: Key): string;\n}\n\n/**\n * Внутренний интерфейс для хранения ссылок на ассеты.\n */\nexport interface PageAssets {\n js: string;\n css: string;\n criticalJs?: string;\n criticalCss?: string;\n}\n\n/**\n * Структура ответа от frontend-микросервиса в формате JSON по соглашению.\n */\nexport interface ConventionalJson {\n markup: string;\n bundle_js: string;\n bundle_css: string;\n critical_js?: string;\n critical_css?: string;\n meta?: any;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PresetNode","PresetHandler","HandlerProvider"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["export { PresetNode } from './node';\nexport { PresetHandler, HandlerProvider } from './handler';\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,iBAAQ;AACnC,SAASC,aAAa,EAAEC,eAAe,QAAQ,oBAAW"}
1
+ {"version":3,"file":"index.js","names":["PresetNode","PresetHandler","HandlerProvider"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["export type { HandlerContext } from './types';\nexport { PresetNode } from './node';\nexport { PresetHandler, HandlerProvider } from './handler';\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,iBAAQ;AACnC,SAASC,aAAa,EAAEC,eAAe,QAAQ,oBAAW"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type { Request, Response, NextFunction } from 'express';\n\n/**\n * Контекст обработчика express.\n */\nexport interface HandlerContext {\n req: Request;\n res: Response;\n next: NextFunction;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","names":["createToken","KnownToken","Config","source","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type {\n HandlerContext,\n KnownHttpApiKey,\n PageAssets,\n StrictMap,\n} from './preset/isomorphic/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(defaults?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAM;;AAElC;;AAsBA,OAAO,MAAMC,UAAU,GAAG;EACxB;EACAC,MAAM,EAAE;IACNC,MAAM,EAAEH,WAAW,CAAe,eAAe,CAAC;IAClDI,IAAI,EAAEJ,WAAW,CAAa,aAAa;EAC7C,CAAC;EAED;EACAK,KAAK,EAAEL,WAAW,CAAQ,OAAO,CAAC;EAElC;EACAM,MAAM,EAAEN,WAAW,CAAS,QAAQ,CAAC;EAErC;EACA;EACAO,cAAc,EAAEP,WAAW,CAAyB,iBAAiB,CAAC;EAEtE;EACAQ,OAAO,EAAE;IACPC,MAAM,EAAET,WAAW,CAAS,gBAAgB,CAAC;IAC7CU,YAAY,EAAEV,WAAW,CAAe,uBAAuB,CAAC;IAChEW,cAAc,EAAEX,WAAW,CAAsB,yBAAyB,CAAC;IAE3E;IACAY,sBAAsB,EAAEZ,WAAW,CAAW,kBAAkB;EAClE,CAAC;EAED;EACAa,OAAO,EAAE;IACPC,OAAO,EAAEd,WAAW,CAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAe,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAEjB,WAAW,CAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAkB,MAAM,EAAE;MACNC,OAAO,EACLnB,WAAW,CAA2D,gBAAgB,CAAC;MACzFoB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAEtB,WAAW,CAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAuB,MAAM,EAAE;MACNJ,OAAO,EAAEnB,WAAW,CAA4B,gBAAgB,CAAC;MACjEwB,QAAQ,EAAE;QACRC,WAAW,EAAEzB,WAAW,CAAkB,sBAAsB;MAClE,CAAC;MACDoB,UAAU,EAAE;QACVM,OAAO,EAAE1B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D2B,GAAG,EAAE3B,WAAW,CAAkB,gBAAgB,CAAC;QACnD4B,OAAO,EAAE5B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D6B,OAAO,EAAE7B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D8B,KAAK,EAAE9B,WAAW,CAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA+B,OAAO,EAAE;MACPC,IAAI,EAAEhC,WAAW,CAAa,cAAc,CAAC;MAC7CiC,OAAO,EAAEjC,WAAW,CAAiB,iBAAiB,CAAC;MACvDkC,OAAO,EAAE;QACPC,cAAc,EAAEnC,WAAW,CAA0B,yBAAyB;MAChF,CAAC;MACDoC,QAAQ,EAAE;QACRC,cAAc,EAAErC,WAAW,CAAiB,0BAA0B;MACxE,CAAC;MACDsC,IAAI,EAAE;QACJC,MAAM,EAAEvC,WAAW,CAAwD,aAAa,CAAC;QACzFwC,MAAM,EAAExC,WAAW,CAAuC,aAAa,CAAC;QACxEyC,MAAM,EAAEzC,WAAW,CAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACA0C,SAAS,EAAE;IACTC,UAAU,EAAE3C,WAAW,CAA4B,wBAAwB,CAAC;IAC5E4C,UAAU,EAAE5C,WAAW,CAAmB,wBAAwB;EACpE;AACF,CAAU"}
1
+ {"version":3,"file":"tokens.js","names":["createToken","KnownToken","Config","source","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';\nimport type { HandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(defaults?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAM;;AAElC;;AAkBA,OAAO,MAAMC,UAAU,GAAG;EACxB;EACAC,MAAM,EAAE;IACNC,MAAM,EAAEH,WAAW,CAAe,eAAe,CAAC;IAClDI,IAAI,EAAEJ,WAAW,CAAa,aAAa;EAC7C,CAAC;EAED;EACAK,KAAK,EAAEL,WAAW,CAAQ,OAAO,CAAC;EAElC;EACAM,MAAM,EAAEN,WAAW,CAAS,QAAQ,CAAC;EAErC;EACA;EACAO,cAAc,EAAEP,WAAW,CAAyB,iBAAiB,CAAC;EAEtE;EACAQ,OAAO,EAAE;IACPC,MAAM,EAAET,WAAW,CAAS,gBAAgB,CAAC;IAC7CU,YAAY,EAAEV,WAAW,CAAe,uBAAuB,CAAC;IAChEW,cAAc,EAAEX,WAAW,CAAsB,yBAAyB,CAAC;IAE3E;IACAY,sBAAsB,EAAEZ,WAAW,CAAW,kBAAkB;EAClE,CAAC;EAED;EACAa,OAAO,EAAE;IACPC,OAAO,EAAEd,WAAW,CAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAe,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAEjB,WAAW,CAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAkB,MAAM,EAAE;MACNC,OAAO,EACLnB,WAAW,CAA2D,gBAAgB,CAAC;MACzFoB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAEtB,WAAW,CAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAuB,MAAM,EAAE;MACNJ,OAAO,EAAEnB,WAAW,CAA4B,gBAAgB,CAAC;MACjEwB,QAAQ,EAAE;QACRC,WAAW,EAAEzB,WAAW,CAAkB,sBAAsB;MAClE,CAAC;MACDoB,UAAU,EAAE;QACVM,OAAO,EAAE1B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D2B,GAAG,EAAE3B,WAAW,CAAkB,gBAAgB,CAAC;QACnD4B,OAAO,EAAE5B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D6B,OAAO,EAAE7B,WAAW,CAAkB,oBAAoB,CAAC;QAC3D8B,KAAK,EAAE9B,WAAW,CAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA+B,OAAO,EAAE;MACPC,IAAI,EAAEhC,WAAW,CAAa,cAAc,CAAC;MAC7CiC,OAAO,EAAEjC,WAAW,CAAiB,iBAAiB,CAAC;MACvDkC,OAAO,EAAE;QACPC,cAAc,EAAEnC,WAAW,CAA0B,yBAAyB;MAChF,CAAC;MACDoC,QAAQ,EAAE;QACRC,cAAc,EAAErC,WAAW,CAAiB,0BAA0B;MACxE,CAAC;MACDsC,IAAI,EAAE;QACJC,MAAM,EAAEvC,WAAW,CAAwD,aAAa,CAAC;QACzFwC,MAAM,EAAExC,WAAW,CAAuC,aAAa,CAAC;QACxEyC,MAAM,EAAEzC,WAAW,CAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACA0C,SAAS,EAAE;IACTC,UAAU,EAAE3C,WAAW,CAA4B,wBAAwB,CAAC;IAC5E4C,UAAU,EAAE5C,WAAW,CAAmB,wBAAwB;EACpE;AACF,CAAU"}
@@ -0,0 +1 @@
1
+ export type { PresetTuner, KnownHttpApiKey, StrictMap, PageAssets, ConventionalJson, } from './types';
@@ -1,5 +1,4 @@
1
1
  import type { Provider, Token } from '../../di';
2
- import type { Request, Response, NextFunction } from 'express';
3
2
  export interface PresetTuner {
4
3
  (tools: {
5
4
  override: <T>(token: Token<T>, provider: Provider<T>) => void;
@@ -13,15 +12,6 @@ export interface StrictMap<Key extends string> {
13
12
  /** Возвращает значение по ключу. */
14
13
  get(key: Key): string;
15
14
  }
16
- /**
17
- * Контекст обработчика express.
18
- * @todo Перенести!
19
- */
20
- export interface HandlerContext {
21
- req: Request;
22
- res: Response;
23
- next: NextFunction;
24
- }
25
15
  /**
26
16
  * Внутренний интерфейс для хранения ссылок на ассеты.
27
17
  */
@@ -1,2 +1,3 @@
1
+ export type { HandlerContext } from './types';
1
2
  export { PresetNode } from './node';
2
3
  export { PresetHandler, HandlerProvider } from './handler';
@@ -0,0 +1,9 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ /**
3
+ * Контекст обработчика express.
4
+ */
5
+ export interface HandlerContext {
6
+ req: Request;
7
+ res: Response;
8
+ next: NextFunction;
9
+ }
@@ -10,7 +10,8 @@ import type { Tracer } from '@opentelemetry/api';
10
10
  import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';
11
11
  import type { Resource } from '@opentelemetry/resources';
12
12
  import type { ElementType, ReactNode } from 'react';
13
- import type { HandlerContext, KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';
13
+ import type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';
14
+ import type { HandlerContext } from './preset/node/types';
14
15
  import type { SpecificExtras } from './preset/node/handler/utils';
15
16
  import type { CreateAxiosDefaults } from 'axios';
16
17
  import type { AxiosInstanceWrapper } from 'middleware-axios';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.37",
3
+ "version": "11.0.0-alpha.38",
4
4
  "description": "Tiny framework for fast start frontend microservices",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
@@ -49,6 +49,12 @@
49
49
  "import": "./dist/esm/tokens.js",
50
50
  "default": "./dist/esm/tokens.js"
51
51
  },
52
+ "./preset/isomorphic": {
53
+ "types": "./dist/types/preset/isomorphic/index.d.ts",
54
+ "require": "./dist/cjs/preset/isomorphic/index.js",
55
+ "import": "./dist/esm/preset/isomorphic/index.js",
56
+ "default": "./dist/esm/preset/isomorphic/index.js"
57
+ },
52
58
  "./preset/isomorphic/providers": {
53
59
  "types": "./dist/types/preset/isomorphic/providers/index.d.ts",
54
60
  "require": "./dist/cjs/preset/isomorphic/providers/index.js",
@@ -0,0 +1,7 @@
1
+ export type {
2
+ PresetTuner,
3
+ KnownHttpApiKey,
4
+ StrictMap,
5
+ PageAssets,
6
+ ConventionalJson,
7
+ } from './types';
@@ -1,5 +1,4 @@
1
1
  import type { Provider, Token } from '../../di';
2
- import type { Request, Response, NextFunction } from 'express';
3
2
 
4
3
  export interface PresetTuner {
5
4
  (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;
@@ -15,16 +14,6 @@ export interface StrictMap<Key extends string> {
15
14
  get(key: Key): string;
16
15
  }
17
16
 
18
- /**
19
- * Контекст обработчика express.
20
- * @todo Перенести!
21
- */
22
- export interface HandlerContext {
23
- req: Request;
24
- res: Response;
25
- next: NextFunction;
26
- }
27
-
28
17
  /**
29
18
  * Внутренний интерфейс для хранения ссылок на ассеты.
30
19
  */
@@ -1,2 +1,3 @@
1
+ export type { HandlerContext } from './types';
1
2
  export { PresetNode } from './node';
2
3
  export { PresetHandler, HandlerProvider } from './handler';
@@ -0,0 +1,10 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+
3
+ /**
4
+ * Контекст обработчика express.
5
+ */
6
+ export interface HandlerContext {
7
+ req: Request;
8
+ res: Response;
9
+ next: NextFunction;
10
+ }
package/src/tokens.ts CHANGED
@@ -12,12 +12,8 @@ import type { Tracer } from '@opentelemetry/api';
12
12
  import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';
13
13
  import type { Resource } from '@opentelemetry/resources';
14
14
  import type { ElementType, ReactNode } from 'react';
15
- import type {
16
- HandlerContext,
17
- KnownHttpApiKey,
18
- PageAssets,
19
- StrictMap,
20
- } from './preset/isomorphic/types';
15
+ import type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';
16
+ import type { HandlerContext } from './preset/node/types';
21
17
  import type { SpecificExtras } from './preset/node/handler/utils';
22
18
  import type { CreateAxiosDefaults } from 'axios';
23
19
  import type { AxiosInstanceWrapper } from 'middleware-axios';