@naturalcycles/backend-lib 9.17.0 → 9.18.0

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.
Files changed (41) hide show
  1. package/dist/admin/adminMiddleware.js +2 -2
  2. package/dist/admin/firebase.shared.service.js +1 -1
  3. package/dist/admin/secureHeaderMiddleware.js +1 -1
  4. package/dist/deploy/deploy.util.js +4 -4
  5. package/dist/deploy/deployGae.js +1 -1
  6. package/dist/deploy/deployHealthCheck.js +2 -2
  7. package/dist/deploy/deployInfo.util.d.ts +1 -1
  8. package/dist/deploy/deployInfo.util.js +2 -2
  9. package/dist/env/env.shared.service.js +2 -2
  10. package/dist/express/startServer.js +2 -2
  11. package/dist/server/basicAuthMiddleware.js +1 -1
  12. package/dist/server/bodyParserTimeoutMiddleware.js +1 -1
  13. package/dist/server/requestLoggerMiddleware.js +1 -1
  14. package/dist/server/requestTimeoutMiddleware.js +2 -2
  15. package/dist/server/safeJsonMiddleware.js +1 -1
  16. package/dist/server/serverStatsMiddleware.js +6 -4
  17. package/dist/server/serverStatusMiddleware.js +2 -2
  18. package/dist/server/simpleRequestLoggerMiddleware.js +1 -1
  19. package/dist/testing/express.test.service.js +1 -1
  20. package/dist/validation/validateRequest.util.d.ts +1 -1
  21. package/dist/validation/validateRequest.util.js +2 -2
  22. package/package.json +7 -7
  23. package/src/admin/adminMiddleware.ts +2 -2
  24. package/src/admin/firebase.shared.service.ts +1 -1
  25. package/src/admin/secureHeaderMiddleware.ts +1 -1
  26. package/src/deploy/deploy.util.ts +4 -4
  27. package/src/deploy/deployGae.ts +1 -1
  28. package/src/deploy/deployHealthCheck.ts +2 -2
  29. package/src/deploy/deployInfo.util.ts +2 -2
  30. package/src/env/env.shared.service.ts +2 -2
  31. package/src/express/startServer.ts +2 -2
  32. package/src/server/basicAuthMiddleware.ts +1 -1
  33. package/src/server/bodyParserTimeoutMiddleware.ts +1 -1
  34. package/src/server/requestLoggerMiddleware.ts +1 -1
  35. package/src/server/requestTimeoutMiddleware.ts +2 -2
  36. package/src/server/safeJsonMiddleware.ts +1 -1
  37. package/src/server/serverStatsMiddleware.ts +6 -4
  38. package/src/server/serverStatusMiddleware.ts +2 -2
  39. package/src/server/simpleRequestLoggerMiddleware.ts +1 -1
  40. package/src/testing/express.test.service.ts +1 -1
  41. package/src/validation/validateRequest.util.ts +2 -2
@@ -1,5 +1,5 @@
1
- import { _memoFn } from '@naturalcycles/js-lib/decorators';
2
- import { AppError } from '@naturalcycles/js-lib/error';
1
+ import { _memoFn } from '@naturalcycles/js-lib/decorators/memoFn.js';
2
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
3
3
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
4
4
  import { srcDir } from '../paths.cnst.js';
5
5
  export function createAdminMiddleware(adminService, cfgDefaults = {}) {
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { _Memo } from '@naturalcycles/js-lib/decorators';
2
+ import { _Memo } from '@naturalcycles/js-lib/decorators/memo.decorator.js';
3
3
  export class FirebaseSharedService {
4
4
  cfg;
5
5
  constructor(cfg) {
@@ -1,4 +1,4 @@
1
- import { AppError } from '@naturalcycles/js-lib/error';
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
2
2
  import { timingSafeStringEqual } from '@naturalcycles/nodejs-lib';
3
3
  import { requireAdminPermissions } from './adminMiddleware.js';
4
4
  /**
@@ -1,7 +1,7 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime';
2
- import { _assert } from '@naturalcycles/js-lib/error';
3
- import { _mapValues, _merge } from '@naturalcycles/js-lib/object';
4
- import { _truncate } from '@naturalcycles/js-lib/string';
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js';
2
+ import { _assert } from '@naturalcycles/js-lib/error/assert.js';
3
+ import { _mapValues, _merge } from '@naturalcycles/js-lib/object/object.util.js';
4
+ import { _truncate } from '@naturalcycles/js-lib/string/string.util.js';
5
5
  import { sha256 } from '@naturalcycles/nodejs-lib';
6
6
  import { dimGrey, white } from '@naturalcycles/nodejs-lib/colors';
7
7
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
@@ -1,5 +1,5 @@
1
1
  import { _anyToError } from '@naturalcycles/js-lib/error';
2
- import { pRetry } from '@naturalcycles/js-lib/promise';
2
+ import { pRetry } from '@naturalcycles/js-lib/promise/pRetry.js';
3
3
  import { _objectAssign } from '@naturalcycles/js-lib/types';
4
4
  import { appendToGithubSummary } from '@naturalcycles/nodejs-lib/env';
5
5
  import { exec2 } from '@naturalcycles/nodejs-lib/exec2';
@@ -1,8 +1,8 @@
1
1
  import { inspect } from 'node:util';
2
2
  import { _ms, _since } from '@naturalcycles/js-lib/datetime';
3
3
  import { getFetcher } from '@naturalcycles/js-lib/http';
4
- import { _filterFalsyValues } from '@naturalcycles/js-lib/object';
5
- import { pDelay } from '@naturalcycles/js-lib/promise';
4
+ import { _filterFalsyValues } from '@naturalcycles/js-lib/object/object.util.js';
5
+ import { pDelay } from '@naturalcycles/js-lib/promise/pDelay.js';
6
6
  import { dimGrey, red } from '@naturalcycles/nodejs-lib/colors';
7
7
  import { exec2 } from '@naturalcycles/nodejs-lib/exec2';
8
8
  import { coloredHttpCode } from '../server/request.log.util.js';
@@ -1,2 +1,2 @@
1
1
  import type { DeployInfo } from './deploy.model.js';
2
- export declare const getDeployInfo: ((projectDir: string) => DeployInfo) & import("@naturalcycles/js-lib/decorators").MemoizedFunction;
2
+ export declare const getDeployInfo: ((projectDir: string) => DeployInfo) & import("@naturalcycles/js-lib/decorators/memoFn.js").MemoizedFunction;
@@ -1,5 +1,5 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime';
2
- import { _memoFn } from '@naturalcycles/js-lib/decorators';
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js';
2
+ import { _memoFn } from '@naturalcycles/js-lib/decorators/memoFn.js';
3
3
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
4
4
  export const getDeployInfo = _memoFn((projectDir) => {
5
5
  const deployInfoPath = `${projectDir}/deployInfo.json`;
@@ -1,5 +1,5 @@
1
- import { _by } from '@naturalcycles/js-lib';
2
- import { _assert } from '@naturalcycles/js-lib/error';
1
+ import { _by } from '@naturalcycles/js-lib/array/array.util.js';
2
+ import { _assert } from '@naturalcycles/js-lib/error/assert.js';
3
3
  import { dimGrey } from '@naturalcycles/nodejs-lib/colors';
4
4
  export class EnvSharedService {
5
5
  constructor(cfg) {
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import os from 'node:os';
3
- import { _ms } from '@naturalcycles/js-lib/datetime';
4
- import { _Memo } from '@naturalcycles/js-lib/decorators';
3
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js';
4
+ import { _Memo } from '@naturalcycles/js-lib/decorators/memo.decorator.js';
5
5
  import { boldGrey, dimGrey, white } from '@naturalcycles/nodejs-lib/colors';
6
6
  import { createDefaultApp } from './createDefaultApp.js';
7
7
  const { NODE_OPTIONS, APP_ENV } = process.env;
@@ -1,4 +1,4 @@
1
- import { _split } from '@naturalcycles/js-lib/string';
1
+ import { _split } from '@naturalcycles/js-lib/string/string.util.js';
2
2
  import { base64ToString, timingSafeStringEqual } from '@naturalcycles/nodejs-lib';
3
3
  export function basicAuthMiddleware(cfg) {
4
4
  const { realm } = cfg;
@@ -1,4 +1,4 @@
1
- import { AppError } from '@naturalcycles/js-lib/error';
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
2
2
  import { respondWithError } from './genericErrorMiddleware.js';
3
3
  const code = 'BODY_PARSER_TIMEOUT';
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { _since } from '@naturalcycles/js-lib/datetime';
1
+ import { _since } from '@naturalcycles/js-lib/datetime/time.util.js';
2
2
  import { onFinished } from '../onFinished.js';
3
3
  /**
4
4
  * Experimental request logger for Cloud Run.
@@ -1,5 +1,5 @@
1
- import { _ms } from '@naturalcycles/js-lib/datetime';
2
- import { AppError } from '@naturalcycles/js-lib/error';
1
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js';
2
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
3
3
  import { onFinished } from '../onFinished.js';
4
4
  import { respondWithError } from './genericErrorMiddleware.js';
5
5
  import { getRequestEndpoint } from './request.util.js';
@@ -1,4 +1,4 @@
1
- import { _safeJsonStringify } from '@naturalcycles/js-lib/string';
1
+ import { _safeJsonStringify } from '@naturalcycles/js-lib/string/safeJsonStringify.js';
2
2
  /**
3
3
  * Replaces express's built-in req.json() function with the safe one,
4
4
  * protected from circular references.
@@ -1,7 +1,9 @@
1
- import { _mb, _sortBy, _sum } from '@naturalcycles/js-lib';
2
- import { _ms } from '@naturalcycles/js-lib/datetime';
3
- import { _percentile, NumberStack } from '@naturalcycles/js-lib/math';
4
- import { _get, _mapValues } from '@naturalcycles/js-lib/object';
1
+ import { _mb } from '@naturalcycles/js-lib';
2
+ import { _sortBy, _sum } from '@naturalcycles/js-lib/array/array.util.js';
3
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js';
4
+ import { _percentile } from '@naturalcycles/js-lib/math/math.util.js';
5
+ import { NumberStack } from '@naturalcycles/js-lib/math/stack.util.js';
6
+ import { _get, _mapValues } from '@naturalcycles/js-lib/object/object.util.js';
5
7
  import { _stringMapEntries, _stringMapValues } from '@naturalcycles/js-lib/types';
6
8
  import { onFinished } from '../onFinished.js';
7
9
  import { getRequestEndpoint } from './request.util.js';
@@ -1,5 +1,5 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime';
2
- import { _filterNullishValues } from '@naturalcycles/js-lib/object';
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js';
2
+ import { _filterNullishValues } from '@naturalcycles/js-lib/object/object.util.js';
3
3
  import { memoryUsageFull, processSharedUtil } from '@naturalcycles/nodejs-lib';
4
4
  import { getDeployInfo } from '../deploy/deployInfo.util.js';
5
5
  const { versions, arch, platform } = process;
@@ -1,4 +1,4 @@
1
- import { _since } from '@naturalcycles/js-lib/datetime';
1
+ import { _since } from '@naturalcycles/js-lib/datetime/time.util.js';
2
2
  import { boldGrey, dimGrey } from '@naturalcycles/nodejs-lib/colors';
3
3
  import { onFinished } from '../onFinished.js';
4
4
  import { logRequestWithColors } from './request.log.util.js';
@@ -1,5 +1,5 @@
1
1
  import { getFetcher } from '@naturalcycles/js-lib/http';
2
- import { pDelay } from '@naturalcycles/js-lib/promise';
2
+ import { pDelay } from '@naturalcycles/js-lib/promise/pDelay.js';
3
3
  import { createDefaultApp, } from '../express/createDefaultApp.js';
4
4
  const nativeFetchFn = async (url, init) => await globalThis.fetch(url, init);
5
5
  // Example:
@@ -1,4 +1,4 @@
1
- import { AppError } from '@naturalcycles/js-lib/error';
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
2
2
  export declare function handleValidationError<T, ERR extends AppError>(error: ERR, originalProperty: T, opt?: ReqValidationOptions<ERR>): never;
3
3
  export interface ReqValidationOptions<ERR extends AppError> {
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { AppError } from '@naturalcycles/js-lib/error';
2
- import { _get } from '@naturalcycles/js-lib/object';
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js';
2
+ import { _get } from '@naturalcycles/js-lib/object/object.util.js';
3
3
  export function handleValidationError(error, originalProperty, opt = {}) {
4
4
  // const item: T = opt.mutate ? { ...req[reqProperty] } : (req[reqProperty] || {})
5
5
  let report;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@naturalcycles/backend-lib",
3
3
  "type": "module",
4
- "version": "9.17.0",
4
+ "version": "9.18.0",
5
5
  "peerDependencies": {
6
6
  "@sentry/node": "^9"
7
7
  },
@@ -26,20 +26,20 @@
26
26
  "tslib": "^2"
27
27
  },
28
28
  "devDependencies": {
29
- "@naturalcycles/dev-lib": "*",
30
29
  "@sentry/node": "^9",
31
30
  "@types/ejs": "^3",
32
- "fastify": "^5"
31
+ "fastify": "^5",
32
+ "@naturalcycles/dev-lib": "19.11.0"
33
33
  },
34
34
  "exports": {
35
- "./cfg/tsconfig.json": "./cfg/tsconfig.json",
36
35
  ".": "./dist/index.js",
36
+ "./cfg/tsconfig.json": "./cfg/tsconfig.json",
37
37
  "./admin": "./dist/admin/index.js",
38
+ "./admin/*.js": "./dist/admin/*.js",
38
39
  "./db": "./dist/db/index.js",
39
40
  "./deploy": "./dist/deploy/index.js",
40
- "./express/createDefaultApp": "./dist/express/createDefaultApp.js",
41
- "./express/getDefaultRouter": "./dist/express/getDefaultRouter.js",
42
- "./express/startServer": "./dist/express/startServer.js",
41
+ "./deploy/*.js": "./dist/deploy/*.js",
42
+ "./express/*.js": "./dist/express/*.js",
43
43
  "./ajvValidateRequest": "./dist/validation/ajv/ajvValidateRequest.js",
44
44
  "./joiValidateRequest": "./dist/validation/joi/joiValidateRequest.js",
45
45
  "./zodValidateRequest": "./dist/validation/zod/zodValidateRequest.js",
@@ -1,5 +1,5 @@
1
- import { _memoFn } from '@naturalcycles/js-lib/decorators'
2
- import { AppError } from '@naturalcycles/js-lib/error'
1
+ import { _memoFn } from '@naturalcycles/js-lib/decorators/memoFn.js'
2
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js'
3
3
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
4
4
  import { srcDir } from '../paths.cnst.js'
5
5
  import type { BackendRequestHandler } from '../server/server.model.js'
@@ -1,4 +1,4 @@
1
- import { _Memo } from '@naturalcycles/js-lib/decorators'
1
+ import { _Memo } from '@naturalcycles/js-lib/decorators/memo.decorator.js'
2
2
  import type { AppOptions, ServiceAccount } from 'firebase-admin'
3
3
  import type FirebaseAdmin from 'firebase-admin'
4
4
 
@@ -1,4 +1,4 @@
1
- import { AppError } from '@naturalcycles/js-lib/error'
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js'
2
2
  import { timingSafeStringEqual } from '@naturalcycles/nodejs-lib'
3
3
  import type { BackendRequestHandler } from '../server/server.model.js'
4
4
  import type { AdminMiddleware, RequireAdminCfg } from './adminMiddleware.js'
@@ -1,7 +1,7 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime'
2
- import { _assert } from '@naturalcycles/js-lib/error'
3
- import { _mapValues, _merge } from '@naturalcycles/js-lib/object'
4
- import { _truncate } from '@naturalcycles/js-lib/string'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js'
2
+ import { _assert } from '@naturalcycles/js-lib/error/assert.js'
3
+ import { _mapValues, _merge } from '@naturalcycles/js-lib/object/object.util.js'
4
+ import { _truncate } from '@naturalcycles/js-lib/string/string.util.js'
5
5
  import { sha256 } from '@naturalcycles/nodejs-lib'
6
6
  import { dimGrey, white } from '@naturalcycles/nodejs-lib/colors'
7
7
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
@@ -1,5 +1,5 @@
1
1
  import { _anyToError } from '@naturalcycles/js-lib/error'
2
- import { pRetry } from '@naturalcycles/js-lib/promise'
2
+ import { pRetry } from '@naturalcycles/js-lib/promise/pRetry.js'
3
3
  import { _objectAssign } from '@naturalcycles/js-lib/types'
4
4
  import { appendToGithubSummary } from '@naturalcycles/nodejs-lib/env'
5
5
  import { exec2 } from '@naturalcycles/nodejs-lib/exec2'
@@ -2,8 +2,8 @@ import type { InspectOptions } from 'node:util'
2
2
  import { inspect } from 'node:util'
3
3
  import { _ms, _since } from '@naturalcycles/js-lib/datetime'
4
4
  import { getFetcher } from '@naturalcycles/js-lib/http'
5
- import { _filterFalsyValues } from '@naturalcycles/js-lib/object'
6
- import { pDelay } from '@naturalcycles/js-lib/promise'
5
+ import { _filterFalsyValues } from '@naturalcycles/js-lib/object/object.util.js'
6
+ import { pDelay } from '@naturalcycles/js-lib/promise/pDelay.js'
7
7
  import type { UnixTimestampMillis } from '@naturalcycles/js-lib/types'
8
8
  import { dimGrey, red } from '@naturalcycles/nodejs-lib/colors'
9
9
  import { exec2 } from '@naturalcycles/nodejs-lib/exec2'
@@ -1,5 +1,5 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime'
2
- import { _memoFn } from '@naturalcycles/js-lib/decorators'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js'
2
+ import { _memoFn } from '@naturalcycles/js-lib/decorators/memoFn.js'
3
3
  import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
4
4
  import type { DeployInfo } from './deploy.model.js'
5
5
 
@@ -1,5 +1,5 @@
1
- import { _by } from '@naturalcycles/js-lib'
2
- import { _assert } from '@naturalcycles/js-lib/error'
1
+ import { _by } from '@naturalcycles/js-lib/array/array.util.js'
2
+ import { _assert } from '@naturalcycles/js-lib/error/assert.js'
3
3
  import type { StringMap } from '@naturalcycles/js-lib/types'
4
4
  import { dimGrey } from '@naturalcycles/nodejs-lib/colors'
5
5
 
@@ -1,7 +1,7 @@
1
1
  import type { Server } from 'node:http'
2
2
  import os from 'node:os'
3
- import { _ms } from '@naturalcycles/js-lib/datetime'
4
- import { _Memo } from '@naturalcycles/js-lib/decorators'
3
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js'
4
+ import { _Memo } from '@naturalcycles/js-lib/decorators/memo.decorator.js'
5
5
  import { boldGrey, dimGrey, white } from '@naturalcycles/nodejs-lib/colors'
6
6
  import type { SentrySharedService } from '../sentry/sentry.shared.service.js'
7
7
  import type { BackendApplication } from '../server/server.model.js'
@@ -1,4 +1,4 @@
1
- import { _split } from '@naturalcycles/js-lib/string'
1
+ import { _split } from '@naturalcycles/js-lib/string/string.util.js'
2
2
  import type { StringMap } from '@naturalcycles/js-lib/types'
3
3
  import { base64ToString, timingSafeStringEqual } from '@naturalcycles/nodejs-lib'
4
4
  import type { BackendRequestHandler } from './server.model.js'
@@ -1,4 +1,4 @@
1
- import { AppError } from '@naturalcycles/js-lib/error'
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js'
2
2
  import { respondWithError } from './genericErrorMiddleware.js'
3
3
  import type { BackendRequestHandler } from './server.model.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { _since } from '@naturalcycles/js-lib/datetime'
1
+ import { _since } from '@naturalcycles/js-lib/datetime/time.util.js'
2
2
  import type { UnixTimestampMillis } from '@naturalcycles/js-lib/types'
3
3
  import { onFinished } from '../onFinished.js'
4
4
  import type { BackendRequest, BackendRequestHandler } from './server.model.js'
@@ -1,5 +1,5 @@
1
- import { _ms } from '@naturalcycles/js-lib/datetime'
2
- import { AppError } from '@naturalcycles/js-lib/error'
1
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js'
2
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js'
3
3
  import type { NumberOfSeconds } from '@naturalcycles/js-lib/types'
4
4
  import { onFinished } from '../onFinished.js'
5
5
  import { respondWithError } from './genericErrorMiddleware.js'
@@ -1,4 +1,4 @@
1
- import { _safeJsonStringify } from '@naturalcycles/js-lib/string'
1
+ import { _safeJsonStringify } from '@naturalcycles/js-lib/string/safeJsonStringify.js'
2
2
  import type { BackendRequestHandler, BackendResponse } from './server.model.js'
3
3
 
4
4
  /**
@@ -1,7 +1,9 @@
1
- import { _mb, _sortBy, _sum } from '@naturalcycles/js-lib'
2
- import { _ms } from '@naturalcycles/js-lib/datetime'
3
- import { _percentile, NumberStack } from '@naturalcycles/js-lib/math'
4
- import { _get, _mapValues } from '@naturalcycles/js-lib/object'
1
+ import { _mb } from '@naturalcycles/js-lib'
2
+ import { _sortBy, _sum } from '@naturalcycles/js-lib/array/array.util.js'
3
+ import { _ms } from '@naturalcycles/js-lib/datetime/time.util.js'
4
+ import { _percentile } from '@naturalcycles/js-lib/math/math.util.js'
5
+ import { NumberStack } from '@naturalcycles/js-lib/math/stack.util.js'
6
+ import { _get, _mapValues } from '@naturalcycles/js-lib/object/object.util.js'
5
7
  import { _stringMapEntries, _stringMapValues, type StringMap } from '@naturalcycles/js-lib/types'
6
8
  import { onFinished } from '../onFinished.js'
7
9
  import { getRequestEndpoint } from './request.util.js'
@@ -1,5 +1,5 @@
1
- import { localTime } from '@naturalcycles/js-lib/datetime'
2
- import { _filterNullishValues } from '@naturalcycles/js-lib/object'
1
+ import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js'
2
+ import { _filterNullishValues } from '@naturalcycles/js-lib/object/object.util.js'
3
3
  import { memoryUsageFull, processSharedUtil } from '@naturalcycles/nodejs-lib'
4
4
  import { getDeployInfo } from '../deploy/deployInfo.util.js'
5
5
  import type { BackendRequestHandler } from './server.model.js'
@@ -1,4 +1,4 @@
1
- import { _since } from '@naturalcycles/js-lib/datetime'
1
+ import { _since } from '@naturalcycles/js-lib/datetime/time.util.js'
2
2
  import type { UnixTimestampMillis } from '@naturalcycles/js-lib/types'
3
3
  import { boldGrey, dimGrey } from '@naturalcycles/nodejs-lib/colors'
4
4
  import { onFinished } from '../onFinished.js'
@@ -2,7 +2,7 @@ import type { Server } from 'node:http'
2
2
  import type { AddressInfo } from 'node:net'
3
3
  import type { Fetcher, FetcherOptions, FetchFunction } from '@naturalcycles/js-lib/http'
4
4
  import { getFetcher } from '@naturalcycles/js-lib/http'
5
- import { pDelay } from '@naturalcycles/js-lib/promise'
5
+ import { pDelay } from '@naturalcycles/js-lib/promise/pDelay.js'
6
6
  import {
7
7
  type BackendRequestHandlerCfg,
8
8
  createDefaultApp,
@@ -1,5 +1,5 @@
1
- import { AppError } from '@naturalcycles/js-lib/error'
2
- import { _get } from '@naturalcycles/js-lib/object'
1
+ import { AppError } from '@naturalcycles/js-lib/error/error.util.js'
2
+ import { _get } from '@naturalcycles/js-lib/object/object.util.js'
3
3
 
4
4
  export function handleValidationError<T, ERR extends AppError>(
5
5
  error: ERR,