Skip to content

build(registry): move to TypeScript 7 and replace ts-node with tsx - #738

Merged
stas-nc merged 3 commits into
developfrom
refactor/registry-typescript-7
Oct 27, 2026
Merged

stas-nc merged 3 commits into
developfrom
refactor/registry-typescript-7

Conversation

@stas-nc

@stas-nc stas-nc commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Summary

  • The registry server builds with TypeScript 7. TypeScript 7 has no JavaScript compiler API, so tsx replaces ts-node for the specs, the local OAuth server and the commands that create migrations and seeds. tsx does not type-check, so the test scripts run tsc over the specs first.
  • TypeScript configs follow the Nx layout at the repository root, so ilc and the registry client can join later: tsconfig.base.json (from tsc --init) holds the shared options, and each package's tsconfig.json extends it and references its app and spec projects.
  • New compiler flags are the ones that cost a small diff: noImplicitReturns, noImplicitOverride, noUnusedLocals, noFallthroughCasesInSwitch, isolatedModules and noUncheckedSideEffectImports. noUncheckedIndexedAccess (149 errors) and verbatimModuleSyntax (needs ESM) are left for later.
  • The registry reads its compiled config at runtime and no longer needs ts-node or TypeScript in production. See below.
  • Registry coverage is measured with c8, so the numbers stay comparable with nyc's under tsx.

The registry loaded ts-node in production

The server and the assets discovery runner start from the registry folder without NODE_CONFIG_DIR. node-config then reads the TypeScript sources in config/ and registers ts-node to transpile them, which works only because the image keeps its dev dependencies. Measured in the published image namecheap/ilc_registry:8b4db9b:

Config source Load time Heap RSS
config/*.ts through ts-node ~300 ms 23 MB 92 MB
compiled build/config ~10 ms 4 MB 55 MB

With TypeScript 7, ts-node finds no compiler API and the registry fails to start. Both entry points now import server/preload.ts first: it points node-config at the compiled build/config unless NODE_CONFIG_DIR is already set, then loads New Relic, whose newrelic.js reads the config. The knex CLI gets the same folder through the knexfile.

The folder is set in code because images built on top of the registry image start node build/server/index.js directly, without the package scripts. Config files such an image adds to config/ as .ts are compiled into build/config by its pnpm build.

Found by tsx

tsx compiles each file the way native ESM runs it, which exposed code that worked only with tsc's CommonJS output:

  • Two specs replaced module exports with sinon stubs. Module exports are read-only under tsx and ESM, so the specs check the behavior.
  • chai 6 has no default export, so it is imported as a namespace.
  • Imports run before the module's own code, so the config folder is set in its own module that is imported first.
  • nyc counted the branches of the helpers esbuild adds to every file, and branch coverage fell from 85.0% to 79.9%. c8 maps coverage onto the original source and reports 84.7%. The report keeps the .nyc_output/coverage folder, because CI also runs the base branch, which uses nyc.

Verification

  • Started the compiled server and the assets discovery runner with plain node, as images built on top of the registry image do, with an extra config/production.ts compiled in. The server served its port from that file, and New Relic started.
  • Built the registry image and type-checked the specs inside it.
  • ESM was evaluated and not done: 801 relative imports need extensions, and New Relic needs its ESM loader, which should be checked on staging first.

🤖 Generated with Claude Code

@stas-nc
stas-nc force-pushed the refactor/registry-typescript-7 branch from 33d04ee to 7c5d437 Compare October 27, 2026 17:07
Base automatically changed from refactor/registry-drop-lodash to develop October 27, 2026 17:14
stas-nc and others added 3 commits October 27, 2026 19:14
TypeScript 7 has no JavaScript compiler API, so ts-node cannot run on it.
tsx now runs the mocha specs, the local OAuth server and the knex
migrate:make / seed:make commands. It does not type-check, so the test
scripts run `tsc -p tsconfig.spec.json` first.

TypeScript configs follow the Nx layout at the repository root, so ilc
and the registry client can join later: tsconfig.base.json (from
`tsc --init`) holds the shared options, tsconfig.json references the
packages, and registry/tsconfig.json references its app and spec
projects. The registry image copies the base config one level above
/codebase, as in the repository.

New compiler flags are the ones that cost a small diff:
noImplicitReturns, noImplicitOverride, noUnusedLocals,
noFallthroughCasesInSwitch, isolatedModules,
noUncheckedSideEffectImports. noUncheckedIndexedAccess and
verbatimModuleSyntax stay off.

tsx compiles like native ESM, which exposed code that only worked with
tsc's CommonJS output:
- two specs stubbed module exports, which are read-only now; they
  check behaviour instead
- chai 6 has no default export; it is imported as a namespace
- knexfile set NODE_CONFIG_DIR before `import config`, but imports run
  first; the assignment moved to config/configDir.ts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
nyc counted the branches of the CommonJS helpers esbuild adds to every
file under tsx: branch coverage fell from 84.99% to 79.86% and failed
the PR coverage report. c8 maps V8 coverage onto the original source and
leaves out generated code, which gives 84.67% for the same files.

The report stays in .nyc_output/coverage, because CI moves that folder
for the base branch too, and it still runs nyc. The coverage job no
longer re-runs `nyc report` in the images: test:ci already writes the
summary into the uploaded artifact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The server ran from the registry folder without NODE_CONFIG_DIR, so
node-config read the TypeScript sources in config/ and registered
ts-node to transpile them. Production depended on a dev dependency for
it: in the published image, loading the config took about 300 ms and
20 MB of heap for the TypeScript compiler. TypeScript 7 has no compiler
API for ts-node, so after the upgrade the registry failed to start.

The server and the assets discovery runner import server/preload.ts
first. It sets NODE_CONFIG_DIR to the compiled build/config unless it
is already set, then loads New Relic, whose newrelic.js reads the
config. The knexfile keeps importing config/configDir.ts. The variable
is set in code rather than in package scripts, because images built on
top of the registry image start node directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stas-nc
stas-nc force-pushed the refactor/registry-typescript-7 branch from 7c5d437 to ac7f101 Compare October 27, 2026 17:15
@github-actions

Copy link
Copy Markdown

Coverage Report

Ilc/server

Commit SHA:5d9936a3ecfe17584203de8dcceb65c4f2b8feb7

Test coverage results 🧪

Code coverage diff between base branch:develop and head branch: refactor/registry-typescript-7 
File details
Status File % Stmts % Branch % Funcs % Lines
➖ total 95.73 90.47 92.52 95.91
➖ /codebase/common/DefaultCacheWrapper.ts 100 100 100 100
➖ /codebase/common/EvictingCacheStorage.ts 100 100 100 100
➖ /codebase/common/utils.ts 100 100 100 100
➖ /codebase/common/router/Router.ts 98 91.66 100 98
➖ /codebase/common/router/errors.ts 100 100 100 100
➖ /codebase/common/transition-hooks/ActionType.ts 100 100 100 100
➖ /codebase/common/transition-hooks/errors.ts 100 100 100 100
➖ /codebase/server/TransitionHooksExecutor.ts 100 100 100 100
➖ /codebase/server/app.js 96.96 81.81 100 96.96
➖ /codebase/server/i18n.js 97.95 95.83 100 97.82
➖ /codebase/server/index.js 0 100 0 0
➖ /codebase/server/objectToBase64.js 100 100 100 100
➖ /codebase/server/serveStatic.ts 29.41 0 16.66 33.33
➖ /codebase/server/server.js 59.09 87.5 42.85 59.09
➖ /codebase/server/application/application.ts 100 100 75 100
➖ /codebase/server/context/context.ts 88.88 50 75 88.88
➖ /codebase/server/errorHandler/ErrorHandler.ts 100 100 100 100
➖ /codebase/server/errorHandler/factory.js 100 100 100 100
➖ /codebase/server/experiments/StaticConfigRulesetProvider.ts 73.33 0 100 73.33
➖ /codebase/server/experiments/assign.ts 100 97.5 88.88 100
➖ /codebase/server/experiments/bucket.ts 100 100 100 100
➖ /codebase/server/experiments/consent.ts 100 66.66 100 100
➖ /codebase/server/experiments/cookies.ts 100 100 100 100
➖ /codebase/server/experiments/index.ts 91.66 76 50 90.62
➖ /codebase/server/experiments/ruleset.ts 96.77 90.9 100 96.77
➖ /codebase/server/experiments/validate.ts 90.19 83.33 100 90.19
➖ /codebase/server/logger/accessLogger.js 100 87.5 100 100
➖ /codebase/server/logger/enhanceLogger.js 100 100 100 100
➖ /codebase/server/plugins/PluginsLoader.js 82.35 100 50 86.66
➖ /codebase/server/plugins/pluginManager.js 100 100 100 100
➖ /codebase/server/plugins/reportingPlugin.js 100 50 100 100
➖ /codebase/server/registry/Registry.js 92.36 83.72 83.33 93.75
➖ /codebase/server/registry/TemplateParser.js 100 100 100 100
➖ /codebase/server/registry/errors.ts 100 100 100 100
➖ /codebase/server/registry/factory.ts 100 100 100 100
➖ /codebase/server/registry/isTemplateValid.js 100 100 100 100
➖ /codebase/server/routes/pingPluginFactory.ts 100 100 100 100
➖ /codebase/server/routes/renderTemplateHandlerFactory.ts 100 100 100 100
➖ /codebase/server/routes/wildcardRequestHandlerFactory.ts 100 100 100 100
➖ /codebase/server/services/CanonicalTagService.ts 100 100 100 100
➖ /codebase/server/services/CspBuilderService.js 100 91.66 100 100
➖ /codebase/server/services/HrefLangService.js 92.59 62.5 100 92.59
➖ /codebase/server/tailor/configs-injector.ts 97.27 91.66 100 97.27
➖ /codebase/server/tailor/error-handler.js 100 100 100 100
➖ /codebase/server/tailor/errors.js 100 100 100 100
➖ /codebase/server/tailor/factory.ts 100 25 100 100
➖ /codebase/server/tailor/fetch-template.ts 100 100 100 100
➖ /codebase/server/tailor/filter-headers.ts 100 90 100 100
➖ /codebase/server/tailor/fragment-hooks.js 100 100 100 100
➖ /codebase/server/tailor/header-block.ts 96.49 85.71 100 96.49
➖ /codebase/server/tailor/merge-configs.ts 100 90.62 100 100
➖ /codebase/server/tailor/parse-override-config.ts 97.64 100 100 97.56
➖ /codebase/server/tailor/process-fragment-response.js 100 93.75 100 100
➖ /codebase/server/tailor/request-fragment.ts 97.74 90.38 100 97.74
➖ /codebase/server/tailor/server-router.ts 96.96 87.87 100 96.92
➖ /codebase/server/tailor/tailorx.ts 100 100 100 100
➖ /codebase/server/types/FastifyReply.ts 100 100 100 100
➖ /codebase/server/types/IlcRequest.ts 100 100 100 100
➖ /codebase/server/types/PatchedHttpRequest.ts 100 100 100 100
➖ /codebase/server/utils/helpers.ts 100 100 100 100
➖ /codebase/server/utils/utils.js 100 100 100 100

Ilc/client

Commit SHA:5d9936a3ecfe17584203de8dcceb65c4f2b8feb7

Test coverage results 🧪

Code coverage diff between base branch:develop and head branch: refactor/registry-typescript-7 
File details
Status File % Stmts % Branch % Funcs % Lines
➖ total 94.37 86.95 93.33 94.56
➖ /codebase/client.plugins.manifest.js 100 100 100 100
➖ /codebase/client/AsyncBootUp.js 100 80 100 100
➖ /codebase/client/BundleLoader.ts 92.72 97.05 81.25 92.45
➖ /codebase/client/CanonicalTagHandler.ts 100 93.75 100 100
➖ /codebase/client/Client.js 90.07 80.48 88.88 90
➖ /codebase/client/ClientRouter.js 95.29 91.91 95.65 95.09
➖ /codebase/client/CssTrackedApp.ts 94.04 88.57 92.3 96.15
➖ /codebase/client/HrefLangHandler.js 100 100 100 100
➖ /codebase/client/ParcelApi.js 97.05 87.5 100 96.96
➖ /codebase/client/PluginsLoader.js 55.55 25 33.33 62.5
➖ /codebase/client/TransitionHooksExecutor.js 96.15 88.88 100 96.15
➖ /codebase/client/WrapApp.js 97.18 76.47 93.75 98.52
➖ /codebase/client/composeAppSlotPairsToRegister.js 100 100 100 100
➖ /codebase/client/dispatchSynchronizedEvent.js 96.96 100 100 96.55
➖ /codebase/client/i18n.js 90.9 86.66 90.9 90.47
➖ /codebase/client/initIlcState.js 100 100 100 100
➖ /codebase/client/registerSpaApps.js 78.46 59.09 53.33 79.36
➖ /codebase/client/utils.js 92 80.95 90 95.83
➖ /codebase/client/ErrorHandlerManager/ErrorHandlerManager.js 100 90 100 100
➖ /codebase/client/Sdk/SdkAdapterFactory.js 100 100 100 100
➖ /codebase/client/Sdk/SdkFactoryBuilder.js 100 100 100 100
➖ /codebase/client/TransitionManager/TransitionBlocker.js 93.93 87.5 100 93.93
➖ /codebase/client/TransitionManager/TransitionBlockerList.js 94.73 50 100 93.33
➖ /codebase/client/TransitionManager/TransitionManager.js 92.14 81.48 89.28 92.08
➖ /codebase/client/TransitionManager/GlobalSpinner/GlobalSpinner.js 100 100 100 100
➖ /codebase/client/TransitionManager/ScrollController/ScrollController.js 95.83 100 100 95.83
➖ /codebase/client/TransitionManager/SlotRenderObserver/SlotRenderObserver.js 85.18 79.16 100 84.61
➖ /codebase/client/TransitionManager/TransitionHooks/BaseTransitionHook.js 0 100 0 0
➖ /codebase/client/TransitionManager/TransitionHooks/PerformanceTransitionHook.js 100 100 100 100
➖ /codebase/client/TransitionManager/TransitionHooks/TitleCheckerTransitionHook.js 100 100 100 100
➖ /codebase/client/TransitionManager/TransitionHooks/TransitionHooks.js 100 80 100 100
➖ /codebase/client/TransitionManager/errors/CriticalSlotTransitionError.js 100 100 100 100
➖ /codebase/client/configuration/IlcConfigRoot.js 92.3 60 100 92.3
➖ /codebase/client/configuration/SystemJSImportMap.js 93.33 75 100 93.33
➖ /codebase/client/configuration/getIlcConfigRoot.js 100 100 100 100
➖ /codebase/client/constants/ilcEvents.js 100 100 100 100
➖ /codebase/client/errors/BaseError.js 100 86.66 100 100
➖ /codebase/client/errors/CorsError.js 100 100 100 100
➖ /codebase/client/errors/CriticalFragmentError.js 100 100 100 100
➖ /codebase/client/errors/CriticalInternalError.js 100 100 100 100
➖ /codebase/client/errors/CriticalRuntimeError.js 100 100 100 100
➖ /codebase/client/errors/FetchTemplateError.js 100 100 100 100
➖ /codebase/client/errors/FragmentError.js 100 100 100 100
➖ /codebase/client/errors/InternalError.js 100 100 100 100
➖ /codebase/client/errors/NavigationError.js 100 100 100 100
➖ /codebase/client/errors/RuntimeError.js 100 100 100 100
➖ /codebase/client/errors/UnhandledError.js 100 100 100 100
➖ /codebase/client/navigationEvents/index.js 100 100 100 100
➖ /codebase/client/navigationEvents/setupEvents.js 90.24 88.09 94.11 90
➖ /codebase/client/registry/BrowserCacheStorage.ts 100 100 100 100
➖ /codebase/client/registry/Registry.js 90 50 100 90
➖ /codebase/client/registry/errors.js 100 100 100 100
➖ /codebase/client/registry/factory.ts 100 100 100 100
➖ /codebase/client/utils/exponentialRetry.ts 100 100 100 100
➖ /codebase/common/DefaultCacheWrapper.ts 98.07 95.45 100 97.95
➖ /codebase/common/Environment.js 100 100 100 100
➖ /codebase/common/EvictingCacheStorage.ts 100 100 100 100
➖ /codebase/common/SdkOptions.js 100 100 100 100
➖ /codebase/common/UrlProcessor.js 100 100 100 100
➖ /codebase/common/constants.js 100 100 100 100
➖ /codebase/common/i18nCookie.js 100 100 100 100
➖ /codebase/common/utils.ts 100 100 100 100
➖ /codebase/common/Slot/Slot.js 100 100 100 100
➖ /codebase/common/Slot/SlotCollection.js 100 100 100 100
➖ /codebase/common/Slot/SpaSlot.js 100 100 100 100
➖ /codebase/common/Slot/SpaSlotCollection.js 100 100 100 100
➖ /codebase/common/router/Router.ts 97.87 93.54 100 97.87
➖ /codebase/common/router/errors.ts 100 100 100 100
➖ /codebase/common/transition-hooks/errors.ts 100 100 100 100

Registry

Commit SHA:5d9936a3ecfe17584203de8dcceb65c4f2b8feb7

Test coverage results 🧪

Code coverage diff between base branch:develop and head branch: refactor/registry-typescript-7 
File details
Status File % Stmts % Branch % Funcs % Lines
🟢 total 92.93 (0.72) 84.65 (-0.34) 95.98 (9.98) 92.93 (0.6)
➖ /codebase/newrelic.js 100 50 100 100
🔴 /codebase/server.plugins.manifest.ts 88.88 (-11.12) 71.42 (-28.58) 100 (0) 88.88 (-11.12)
❌ /codebase/lde/oauth-server.ts 0 100 0 0
🟢 /codebase/server/app.ts 100 (0) 87.5 (37.5) 100 (0) 100 (0)
🔴 /codebase/server/composition.ts 100 (0) 69.23 (-30.77) 100 (0) 100 (0)
❌ /codebase/server/index.ts 0 100 0 0
➖ /codebase/server/preload.ts 0 0 0 0
➖ /codebase/server/runnerAssetsDiscovery.ts 0 0 0 0
➖ /codebase/server/server.ts 0 0 0 0
🔴 /codebase/server/appRoutes/interfaces/index.ts 100 (0) 90.9 (-3.21) 83.33 (-16.67) 100 (0)
🔴 /codebase/server/appRoutes/repositories/RoutesRepository.ts 100 (0) 95.23 (-4.77) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/createAppRoute.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/deleteAppRoute.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/getAppRoute.ts 100 (0) 90 (-10) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/getAppRoutes.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/routes/updateAppRoute.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🟢 /codebase/server/appRoutes/services/RoutesService.ts 97.33 (0.99) 93.42 (4.14) 100 (0) 97.33 (1.13)
🟢 /codebase/server/appRoutes/services/prepareAppRoute.ts 100 (0) 81.81 (1.81) 100 (0) 100 (0)
🔴 /codebase/server/appRoutes/services/transformSpecialRoutes.ts 100 (0) 90.47 (-9.53) 90.9 (-9.1) 100 (0)
🔴 /codebase/server/apps/interfaces/index.ts 100 (0) 89.74 (-2.36) 87.5 (-12.5) 100 (0)
🟢 /codebase/server/apps/repositories/AppsRepository.ts 98.6 (0.57) 92 (5.34) 100 (0) 98.6 (0.6)
🔴 /codebase/server/apps/routes/createApp.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🔴 /codebase/server/apps/routes/deleteApp.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/apps/routes/getApp.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/apps/routes/getApps.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/apps/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/apps/routes/updateApp.ts 100 (0) 89.47 (-10.53) 100 (0) 100 (0)
🟢 /codebase/server/apps/services/AppsService.ts 98.71 (0.47) 94.44 (0.69) 100 (0) 98.71 (0.5)
🟢 /codebase/server/auth/index.ts 98 (0.5) 77.77 (77.77) 100 (0) 98 (0.5)
🔴 /codebase/server/auth/handlers/availableMethodsHandler.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/auth/handlers/localLoginHandler.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🟢 /codebase/server/auth/handlers/logoutHandler.ts 80.95 (5.95) 66.66 (41.66) 100 (0) 80.95 (-0.86)
🟢 /codebase/server/auth/handlers/openIdAuthCallbackHandler.ts 93.93 (-0.51) 76.19 (9.53) 100 (0) 93.93 (-0.51)
🔴 /codebase/server/auth/middleware/bearerAuthenticationMiddleware.ts 100 (0) 75 (-25) 100 (0) 100 (0)
🟢 /codebase/server/auth/middleware/initializeOpenIdMiddleware.ts 93.54 (0.69) 75 (8.34) 100 (0) 93.54 (0.69)
🔴 /codebase/server/auth/middleware/rolesMiddleware.ts 100 (0) 84.61 (-15.39) 100 (0) 100 (0)
🔴 /codebase/server/auth/services/AuthService.ts 100 (0) 84 (-16) 100 (0) 100 (0)
🔴 /codebase/server/auth/services/OpenIdService.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🟢 /codebase/server/auth/strategies/CustomOIDCStrategy.ts 100 (11.12) 66.66 (6.66) 100 (0) 100 (11.12)
🔴 /codebase/server/auth/strategies/bearer.ts 100 (0) 87.5 (-12.5) 100 (0) 100 (0)
🔴 /codebase/server/auth/strategies/local.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🟢 /codebase/server/auth/strategies/oidc.ts 91.02 (-3.09) 80.76 (7.69) 100 (0) 91.02 (-2.91)
🔴 /codebase/server/authEntities/interfaces.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/repositories/AuthEntitiesRepository.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/create.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/deleteRoute.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/get.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/getAll.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/authEntities/routes/update.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🟢 /codebase/server/authEntities/services/AuthEntitiesService.ts 96.61 (0.78) 82.14 (15.48) 100 (0) 96.61 (0.78)
🔴 /codebase/server/common/services/preProcessResponse.ts 100 (0) 92.3 (-7.7) 100 (0) 100 (0)
🔴 /codebase/server/common/services/protectedEntities.ts 100 (0) 84 (-16) 91.66 (-8.34) 100 (0)
🟢 /codebase/server/common/services/assets/AssetsDiscovery.ts 96.89 (1.98) 92.85 (17.85) 100 (6.67) 96.89 (1.98)
🟢 /codebase/server/common/services/assets/AssetsDiscoveryProcessor.ts 96 (1) 85.71 (10.71) 100 (0) 96 (1)
🔴 /codebase/server/common/services/assets/AssetsDiscoveryWhiteLists.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/common/services/assets/AssetsManifestReader.ts 100 (0) 85 (-15) 100 (0) 100 (0)
🔴 /codebase/server/common/services/assets/AssetsValidator.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/common/services/assets/assetsManifestProcessor.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/common/services/assets/errors/AssetsManifestError.ts 100 (0) 71.42 (-28.58) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/EntryError.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/IncorrectEntryError.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/NotFoundApplicationError.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/NotFoundFqrnError.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/NotFoundSharedLibraryError.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/common/services/entries/error/ValidationFqrnError.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🟢 /codebase/server/common/validation/schemas.ts 100 (0) 89.65 (16.93) 100 (0) 100 (0)
🔴 /codebase/server/common/validation/validated.ts 100 (0) 91.66 (-1.19) 100 (0) 100 (0)
🟢 /codebase/server/config/ConfigService.ts 99 (0.3) 91.3 (2.42) 100 (0) 99 (0.34)
🔴 /codebase/server/config/getConfig.ts 100 (0) 89.47 (-10.53) 100 (0) 100 (0)
🔴 /codebase/server/config/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🟢 /codebase/server/config/transformConfig.ts 98.57 (2.57) 86 (5.36) 100 (0) 98.57 (3.02)
🔴 /codebase/server/config/updateConfig.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🟢 /codebase/server/config/validateConfig.ts 100 (0) 76.92 (26.92) 100 (0) 100 (0)
🔴 /codebase/server/db/cascadeTruncate.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🟢 /codebase/server/db/index.ts 100 (0) 75 (25) 100 (0) 100 (0)
🔴 /codebase/server/db/logger.ts 100 (0) 84.61 (-15.39) 100 (0) 100 (0)
➖ /codebase/server/db/migrationSource.ts 0 0 0 0
🔴 /codebase/server/db/range.ts 100 (0) 92.3 (-7.7) 100 (0) 100 (0)
🔴 /codebase/server/db/structure.ts 100 (0) 75 (-25) 100 (0) 100 (0)
🔴 /codebase/server/db/syncSequence.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/entries/entries.ts 98.68 (1.18) 87.87 (-12.13) 100 (0) 98.68 (1.18)
🔴 /codebase/server/errorHandler/httpErrors.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🔴 /codebase/server/errorHandler/index.ts 100 (0) 88 (-12) 100 (0) 100 (0)
🟢 /codebase/server/errorHandler/noticeError.ts 100 (0) 69.23 (69.23) 88.88 (-11.12) 100 (0)
🟢 /codebase/server/middleware/context.ts 97.29 (-2.71) 77.77 (11.11) 100 (0) 97.29 (-2.71)
🟢 /codebase/server/middleware/unless.ts 100 (0) 76.92 (1.92) 100 (0) 100 (0)
🔴 /codebase/server/middleware/userContext.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/migrations/20191016185102_apps.ts 94.11 (-5.89) 84.61 (-15.39) 88.88 (22.22) 94.11 (-5.89)
🔴 /codebase/server/migrations/20191017131220_templates.ts 90 (-10) 84.61 (-15.39) 88.88 (22.22) 90 (-10)
🔴 /codebase/server/migrations/20191017131749_routes.ts 92.85 (-7.15) 84.61 (-15.39) 88.88 (22.22) 92.85 (-7.15)
🔴 /codebase/server/migrations/20191017144455_route_slots.ts 92.3 (-7.7) 84.61 (-15.39) 88.88 (22.22) 92.3 (-7.7)
🟢 /codebase/server/migrations/20200113141956_apps.ts 66.66 (0) 84.61 (-15.39) 88.88 (38.88) 66.66 (0)
🟢 /codebase/server/migrations/20200113142437_route_slots.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20200120162838_apps_config_selector.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🔴 /codebase/server/migrations/20200121110723_shared_props.ts 75 (-8.33) 84.61 (-15.39) 88.88 (22.22) 75 (-8.33)
🔴 /codebase/server/migrations/20200409184919_auth_entitites.ts 93.75 (-6.25) 84.61 (-15.39) 88.88 (22.22) 93.75 (-6.25)
🟢 /codebase/server/migrations/20200409190157_auth_entitites_default.ts 96.15 (-3.85) 73.33 (-26.67) 90 (40) 96.15 (-3.85)
🔴 /codebase/server/migrations/20200410180130_sessions.ts 90.9 (-9.1) 84.61 (-15.39) 88.88 (22.22) 90.9 (-9.1)
🟢 /codebase/server/migrations/20200518134531_apps_initProps_removal.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🔴 /codebase/server/migrations/20200729141256_settings.ts 90 (-10) 84.61 (-15.39) 88.88 (22.22) 90 (-10)
🟢 /codebase/server/migrations/20201012152003_settings_meta.ts 60 (1.67) 84.61 (-15.39) 88.88 (38.88) 60 (1.67)
🟢 /codebase/server/migrations/20201013140633_settings_default.ts 97.85 (6.95) 80 (30) 88.88 (13.88) 97.85 (6.95)
🟢 /codebase/server/migrations/20201027180112_settings_globalSpinner.ts 84.84 (4.84) 83.33 (-16.67) 88.88 (38.88) 84.84 (4.84)
🟢 /codebase/server/migrations/20201028142200_settings_i18n.ts 85.18 (5.18) 83.33 (-16.67) 88.88 (38.88) 85.18 (5.18)
🟢 /codebase/server/migrations/20201029122727_settings_AuthOpenIdUniqueIdentifierClaimName.ts 85.71 (5.71) 83.33 (-16.67) 88.88 (38.88) 85.71 (5.71)
🔴 /codebase/server/migrations/20201105155522_versioning.ts 82.35 (-8.55) 84.61 (-15.39) 88.88 (22.22) 82.35 (-8.55)
🔴 /codebase/server/migrations/20201130141801_i18n_enabled_by_default.ts 60 (-20) 83.33 (-16.67) 88.88 (38.88) 60 (-20)
🟢 /codebase/server/migrations/20201228201314_route_meta.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🔴 /codebase/server/migrations/20210125185210_app_wrapper_kind.ts 85.71 (-14.29) 83.33 (-16.67) 88.88 (38.88) 85.71 (-14.29)
🟢 /codebase/server/migrations/20210125185211_apps_wrappedWith.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210219174348_settings_overrideConfigTrustedOrigins.ts 85.71 (5.71) 83.33 (-16.67) 88.88 (38.88) 85.71 (5.71)
🟢 /codebase/server/migrations/20210226191151_apps_ssrProps.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210226191205_shared_props_ssrProps.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🔴 /codebase/server/migrations/20210405164831_router_domains.ts 76.92 (-8.79) 84.61 (-15.39) 88.88 (22.22) 76.92 (-8.79)
🟢 /codebase/server/migrations/20210405182655_routes_domainId.ts 57.89 (-2.11) 84.61 (-15.39) 88.88 (38.88) 57.89 (-2.11)
🟢 /codebase/server/migrations/20210426163602_routes_orderPosIsNullable.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210430154258_routes_uniqfromSpecialRoleToRoute.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🟢 /codebase/server/migrations/20210430154639_routes_moveSpecialRolesToRoute.ts 26 (-9.29) 85.71 (85.71) 88.88 (51.38) 26 (-9.29)
🟢 /codebase/server/migrations/20210430155514_routes_removeColumnSpecialRole.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210505151225_routes_domainIdIdxble.ts 61.53 (1.53) 83.33 (-16.67) 88.88 (55.55) 61.53 (1.53)
🟢 /codebase/server/migrations/20210505181754_routes_orderPos_unique_per_domain.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🟢 /codebase/server/migrations/20210505182004_routes_route_unique_per_domain.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🔴 /codebase/server/migrations/20210505182425_old_tbls_cleanup.ts 85.71 (-14.29) 83.33 (-16.67) 88.88 (38.88) 85.71 (-14.29)
🟢 /codebase/server/migrations/20210521125202_routes_drop_unique_route.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210607160910_apps_discoveryMetadata.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210607161242_apps_adminNotes.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20210625150840_roles_userToReadonly.ts 48.64 (-1.36) 81.25 (31.25) 88.88 (38.88) 48.64 (-1.36)
🟢 /codebase/server/migrations/20210701183133_auth_entity_readonly.ts 82.35 (2.35) 73.33 (-26.67) 90 (40) 82.35 (2.35)
🔴 /codebase/server/migrations/20210826144904_shared_libs.ts 80 (-8.88) 84.61 (-15.39) 88.88 (22.22) 80 (-8.88)
🟢 /codebase/server/migrations/20220121115756_settings_onPropsUpdate.ts 86.36 (6.36) 83.33 (-16.67) 88.88 (38.88) 86.36 (6.36)
🟢 /codebase/server/migrations/20220315155008_increase-template-size.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20220316133143_versioning-text-update.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🔴 /codebase/server/migrations/20220323123155_add-locale-to-template.ts 80 (-8.88) 84.61 (-15.39) 88.88 (22.22) 80 (-8.88)
🟢 /codebase/server/migrations/20220520083801_apps_enforceDomain.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20220815164948_l20nManifest.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20220819204836_rename-use-l10n.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20220928161155_shared-lib-add-localization.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20221118164122_add_csp_settings.ts 84.21 (4.21) 83.33 (-16.67) 88.88 (38.88) 84.21 (4.21)
🟢 /codebase/server/migrations/20221123163817_csp-available-host-for-local.ts 84.21 (4.21) 83.33 (-16.67) 88.88 (38.88) 84.21 (4.21)
🟢 /codebase/server/migrations/20221201191407_csp_enable_scrict_mode.ts 94.11 (-5.89) 83.33 (-16.67) 88.88 (38.88) 94.11 (-5.89)
🟢 /codebase/server/migrations/20230303174003_settings-add-primary-key.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🔴 /codebase/server/migrations/20230303175443_settings-domain-value-table.ts 81.25 (-8.75) 84.61 (-15.39) 88.88 (22.22) 81.25 (-8.75)
🟢 /codebase/server/migrations/20230703130802_remove-spa-bundle-constraint.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20231003103643_routes_meta.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20240315141721_pg_versioning_idx.ts 66.66 (-8.34) 83.33 (-16.67) 88.88 (38.88) 66.66 (-8.34)
🟢 /codebase/server/migrations/20250225163431_unique_route.ts 62.5 (0) 84.61 (-15.39) 88.88 (38.88) 62.5 (0)
🟢 /codebase/server/migrations/20250227154210_unique_app.ts 62.5 (0) 84.61 (-15.39) 88.88 (38.88) 62.5 (0)
🟢 /codebase/server/migrations/20250303125703_orderpos_sequence.ts 64.7 (-5.3) 84.61 (-15.39) 88.88 (38.88) 64.7 (-5.3)
🟢 /codebase/server/migrations/20250313162453_unique_route_v2.ts 63.15 (0.65) 84.61 (-15.39) 88.88 (38.88) 63.15 (0.65)
🟢 /codebase/server/migrations/20250331085251_routeIdCascadeDelete.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🟢 /codebase/server/migrations/20250404133940_orderpos_sequence_revert.ts 52.94 (2.94) 84.61 (84.61) 88.88 (38.88) 52.94 (2.94)
🟢 /codebase/server/migrations/20250618105344_add_props_to_router_domains.ts 60 (-2.5) 84.61 (-15.39) 88.88 (38.88) 60 (-2.5)
🟢 /codebase/server/migrations/20250818155232_canonical_domain_to_router_domain.ts 68.75 (2.09) 84.61 (-15.39) 88.88 (38.88) 68.75 (2.09)
🟢 /codebase/server/migrations/20260113105120_sanitize_versioning_secrets.ts 46.8 (2.36) 78.57 (78.57) 80 (30) 46.8 (4.5)
🟢 /codebase/server/migrations/20260216120000_add_alias_to_router_domains.ts 61.53 (-5.13) 84.61 (-15.39) 88.88 (38.88) 61.53 (-5.13)
🟢 /codebase/server/migrations/20260319000000_settings_proxyHeaders.ts 84.84 (4.84) 83.33 (-16.67) 88.88 (38.88) 84.84 (4.84)
🔴 /codebase/server/public/routes/appDiscovery.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/public/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/interfaces/index.ts 100 (0) 85.71 (-14.29) 90 (-10) 100 (0)
🟢 /codebase/server/routerDomains/repositories/RouterDomainsRepository.ts 92.59 (6.39) 88.46 (88.46) 100 (0) 92.59 (6.39)
🔴 /codebase/server/routerDomains/routes/createRouterDomains.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/routes/deleteRouterDomains.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/routes/getAllRouterDomains.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/routes/getRouterDomains.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/routes/updateRouterDomains.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/routerDomains/services/RouterDomainsService.ts 100 (0) 94.28 (-5.72) 100 (0) 100 (0)
🔴 /codebase/server/routes/ping.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🔴 /codebase/server/routes/routes.ts 100 (0) 71.42 (-28.58) 100 (0) 100 (0)
🔴 /codebase/server/seeds/00_cleanup.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/seeds/01_apps.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🔴 /codebase/server/seeds/02_templates.ts 100 (0) 69.23 (-30.77) 100 (0) 100 (0)
🔴 /codebase/server/seeds/03_routerDomains.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🔴 /codebase/server/seeds/04_routes.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🔴 /codebase/server/seeds/05_route_slots.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🟢 /codebase/server/seeds/06_settings.ts 89.47 (-1.43) 69.23 (19.23) 100 (0) 89.47 (-1.43)
🟢 /codebase/server/seeds/07_rootPwd.ts 60 (-23.33) 64.28 (64.28) 100 (0) 60 (-23.33)
🔴 /codebase/server/settings/interfaces/cspSchema.ts 100 (0) 71.42 (-28.58) 100 (0) 100 (0)
🔴 /codebase/server/settings/interfaces/index.ts 99.57 (-0.43) 95.23 (0.95) 95.45 (-4.55) 99.57 (-0.43)
🔴 /codebase/server/settings/repositories/SettingsRepository.ts 100 (0) 92.3 (-7.7) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/createSetting.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/deleteDomainSetting.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/getSetting.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/getSettings.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/settings/routes/updateSetting.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🟢 /codebase/server/settings/services/SettingsService.ts 98.11 (9.74) 75.55 (6.46) 100 (0) 98.11 (3.24)
🔴 /codebase/server/sharedLibs/interfaces/index.ts 100 (0) 90.47 (-9.53) 91.66 (-8.34) 100 (0)
🔴 /codebase/server/sharedLibs/repositories/SharedLibsRepository.ts 100 (0) 90 (-10) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/createSharedLib.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/deleteSharedLib.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/getSharedLib.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/getSharedLibs.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/sharedLibs/routes/updateSharedLib.ts 100 (0) 89.47 (-10.53) 100 (0) 100 (0)
🟢 /codebase/server/sharedLibs/services/SharedLibsService.ts 95.19 (0.32) 88.57 (8.57) 100 (0) 95.19 (0.46)
🔴 /codebase/server/sharedProps/interfaces/index.ts 100 (0) 84.61 (-15.39) 87.5 (-12.5) 100 (0)
🔴 /codebase/server/sharedProps/repositories/SharedPropsRepository.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/createSharedProps.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/deleteSharedProps.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/getAllSharedProps.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/getSharedProps.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/routes/updateSharedProps.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/sharedProps/services/SharedPropsService.ts 100 (0) 90.9 (-9.1) 100 (0) 100 (0)
🔴 /codebase/server/templates/errors.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/templates/interfaces/index.ts 100 (0) 89.47 (-10.53) 92.85 (-7.15) 100 (0)
🟢 /codebase/server/templates/repositories/TemplatesRepository.ts 100 (0) 93.33 (1.67) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/createTemplate.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/deleteTemplate.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/deleteTemplateLocalizedVersion.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/getRenderedTemplate.ts 100 (0) 84.61 (-15.39) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/getTemplate.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/getTemplates.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/partialUpdateTemplate.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/updateTemplate.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/routes/upsertTemplateLocalizedVersion.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/TemplateParser.ts 100 (0) 85.71 (-14.29) 100 (0) 100 (0)
🟢 /codebase/server/templates/services/TemplatesService.ts 96.39 (0.74) 87.5 (6.25) 100 (0) 96.39 (0.84)
🔴 /codebase/server/templates/services/isTemplateValid.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/parseLinkHeader.ts 100 (0) 96.87 (-3.13) 100 (0) 100 (0)
🟢 /codebase/server/templates/services/renderTemplate.ts 97.82 (0.53) 94.33 (4.33) 100 (0) 97.82 (0.77)
🔴 /codebase/server/templates/services/resources/Attributes.ts 95.45 (-4.55) 71.42 (-28.58) 100 (0) 95.45 (-4.55)
🔴 /codebase/server/templates/services/resources/Resource.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/ResourceLinkParser.ts 100 (0) 77.77 (-22.23) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/ResourcePreload.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/ResourceScript.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/ResourceStylesheet.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/buildAttributes.ts 100 (0) 82.35 (-17.65) 100 (0) 100 (0)
🔴 /codebase/server/templates/services/resources/filterObject.ts 100 (0) 86.66 (-13.34) 100 (0) 100 (0)
🔴 /codebase/server/util/TypedMap.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🟢 /codebase/server/util/axiosErrorTransformer.ts 98.63 (2.21) 91.66 (0) 100 (0) 98.63 (2.21)
🔴 /codebase/server/util/axiosExponentialRetry.ts 100 (0) 87.5 (-12.5) 100 (0) 100 (0)
🔴 /codebase/server/util/db.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/util/deepMerge.ts 100 (0) 92.59 (-7.41) 100 (0) 100 (0)
🔴 /codebase/server/util/defined.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/util/extendError.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/util/hmac.ts 100 (0) 75 (-25) 100 (0) 100 (0)
🔴 /codebase/server/util/isPlainObject.ts 100 (0) 84.61 (-15.39) 100 (0) 100 (0)
🟢 /codebase/server/util/json.ts 79.48 (0.54) 86.84 (4.24) 100 (12.5) 79.48 (3.01)
🟢 /codebase/server/util/logger.ts 100 (14.64) 88.57 (-5.87) 100 (45.46) 100 (15)
🔴 /codebase/server/util/normalizeArray.ts 100 (0) 84.61 (-15.39) 100 (0) 100 (0)
🔴 /codebase/server/util/pluginManager.ts 100 (0) 87.5 (-12.5) 100 (0) 100 (0)
🔴 /codebase/server/util/set.ts 100 (0) 88.23 (-11.77) 100 (0) 100 (0)
🔴 /codebase/server/versioning/config.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/versioning/errors.ts 100 (0) 80 (-20) 85.71 (-14.29) 100 (0)
🔴 /codebase/server/versioning/interfaces.ts 100 (0) 83.33 (-16.67) 100 (0) 100 (0)
🔴 /codebase/server/versioning/routes/getVersions.ts 100 (0) 81.81 (-18.19) 100 (0) 100 (0)
🔴 /codebase/server/versioning/routes/index.ts 100 (0) 76.92 (-23.08) 100 (0) 100 (0)
🔴 /codebase/server/versioning/routes/revertVersion.ts 96.96 (4.11) 72.22 (-27.78) 100 (0) 96.96 (4.11)
🔴 /codebase/server/versioning/services/Versioning.ts 93.43 (-1.44) 88.67 (1.64) 100 (0) 93.43 (-1.11)
🔴 /codebase/server/versioning/services/selectVersionedRows.ts 100 (0) 80 (-20) 100 (0) 100 (0)
🔴 /codebase/server/versioning/utils/secretSanitizer.ts 95 (-0.23) 87.5 (-4.16) 76.92 (-23.08) 95 (0.27)
➖ /codebase/typings/PaginatedResult.ts 0 0 0 0
➖ /codebase/typings/User.ts 0 0 0 0

@stas-nc
stas-nc merged commit f35e54e into develop Oct 27, 2026
15 checks passed
@stas-nc
stas-nc deleted the refactor/registry-typescript-7 branch October 27, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants