@naturalcycles/backend-lib 9.15.0 → 9.16.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.
- package/dist/admin/adminMiddleware.js +2 -1
- package/dist/admin/base.admin.service.js +1 -1
- package/dist/admin/firebase.shared.service.js +1 -1
- package/dist/admin/secureHeaderMiddleware.js +1 -1
- package/dist/db/httpDB.d.ts +3 -1
- package/dist/db/httpDB.js +1 -1
- package/dist/db/httpDBRequestHandler.d.ts +1 -1
- package/dist/db/httpDBRequestHandler.js +2 -1
- package/dist/deploy/backend.cfg.util.d.ts +1 -1
- package/dist/deploy/deploy.model.d.ts +1 -1
- package/dist/deploy/deploy.util.js +4 -1
- package/dist/deploy/deployGae.js +3 -1
- package/dist/deploy/deployHealthCheck.js +4 -1
- package/dist/deploy/deployInfo.util.d.ts +1 -1
- package/dist/deploy/deployInfo.util.js +2 -1
- package/dist/env/env.shared.service.d.ts +1 -1
- package/dist/env/env.shared.service.js +2 -1
- package/dist/express/startServer.js +2 -1
- package/dist/sentry/sentry.shared.service.d.ts +2 -1
- package/dist/sentry/sentry.shared.service.js +1 -1
- package/dist/server/asyncLocalStorageMiddleware.d.ts +1 -1
- package/dist/server/basicAuthMiddleware.d.ts +1 -1
- package/dist/server/basicAuthMiddleware.js +1 -1
- package/dist/server/bodyParserTimeoutMiddleware.js +1 -1
- package/dist/server/genericErrorMiddleware.d.ts +1 -1
- package/dist/server/genericErrorMiddleware.js +2 -2
- package/dist/server/logMiddleware.d.ts +1 -1
- package/dist/server/requestLoggerMiddleware.js +1 -1
- package/dist/server/requestTimeoutMiddleware.d.ts +1 -1
- package/dist/server/requestTimeoutMiddleware.js +2 -1
- package/dist/server/safeJsonMiddleware.js +1 -1
- package/dist/server/server.model.d.ts +2 -1
- package/dist/server/serverStatsMiddleware.js +5 -1
- package/dist/server/serverStatusMiddleware.js +2 -1
- package/dist/server/simpleRequestLoggerMiddleware.js +1 -1
- package/dist/testing/express.test.service.d.ts +1 -1
- package/dist/testing/express.test.service.js +2 -1
- package/dist/validation/ajv/ajvValidateRequest.js +2 -1
- package/dist/validation/joi/joiValidateRequest.js +2 -1
- package/dist/validation/zod/zodValidateRequest.js +2 -1
- package/package.json +1 -1
- package/src/admin/adminMiddleware.ts +2 -1
- package/src/admin/base.admin.service.ts +1 -1
- package/src/admin/firebase.shared.service.ts +1 -1
- package/src/admin/secureHeaderMiddleware.ts +1 -1
- package/src/db/httpDB.ts +4 -7
- package/src/db/httpDBRequestHandler.ts +3 -2
- package/src/deploy/backend.cfg.util.ts +1 -1
- package/src/deploy/deploy.model.ts +1 -1
- package/src/deploy/deploy.util.ts +4 -1
- package/src/deploy/deployGae.ts +3 -1
- package/src/deploy/deployHealthCheck.ts +5 -2
- package/src/deploy/deployInfo.util.ts +2 -1
- package/src/env/env.shared.service.ts +3 -2
- package/src/express/startServer.ts +2 -1
- package/src/sentry/sentry.shared.service.ts +3 -2
- package/src/server/asyncLocalStorageMiddleware.ts +1 -1
- package/src/server/basicAuthMiddleware.ts +2 -2
- package/src/server/bodyParserTimeoutMiddleware.ts +1 -1
- package/src/server/genericErrorMiddleware.ts +3 -6
- package/src/server/logMiddleware.ts +2 -1
- package/src/server/request.log.util.ts +1 -1
- package/src/server/requestLoggerMiddleware.ts +2 -2
- package/src/server/requestTimeoutMiddleware.ts +3 -2
- package/src/server/safeJsonMiddleware.ts +1 -1
- package/src/server/server.model.ts +2 -1
- package/src/server/server.util.ts +1 -1
- package/src/server/serverStatsMiddleware.ts +5 -13
- package/src/server/serverStatusMiddleware.ts +2 -1
- package/src/server/simpleRequestLoggerMiddleware.ts +2 -2
- package/src/testing/express.test.service.ts +3 -2
- package/src/validation/ajv/ajvValidateRequest.ts +2 -1
- package/src/validation/joi/joiValidateRequest.ts +2 -1
- package/src/validation/zod/zodValidateRequest.ts +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { _memoFn
|
|
1
|
+
import { _memoFn } from '@naturalcycles/js-lib/decorators';
|
|
2
|
+
import { AppError } from '@naturalcycles/js-lib/error';
|
|
2
3
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
|
|
3
4
|
import { srcDir } from '../paths.cnst.js';
|
|
4
5
|
export function createAdminMiddleware(adminService, cfgDefaults = {}) {
|
package/dist/db/httpDB.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { CommonDB, CommonDBOptions, CommonDBSaveOptions, CommonDBStreamOptions, CommonDBSupport, DBQuery, RunQueryResult } from '@naturalcycles/db-lib';
|
|
2
2
|
import { BaseCommonDB } from '@naturalcycles/db-lib';
|
|
3
|
-
import type { FetcherOptions
|
|
3
|
+
import type { FetcherOptions } from '@naturalcycles/js-lib/http';
|
|
4
|
+
import type { JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema';
|
|
5
|
+
import type { ObjectWithId } from '@naturalcycles/js-lib/types';
|
|
4
6
|
import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream';
|
|
5
7
|
export interface HttpDBCfg extends FetcherOptions {
|
|
6
8
|
baseUrl: string;
|
package/dist/db/httpDB.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
2
|
import { BaseCommonDB, commonDBFullSupport } from '@naturalcycles/db-lib';
|
|
3
|
-
import { getFetcher } from '@naturalcycles/js-lib';
|
|
3
|
+
import { getFetcher } from '@naturalcycles/js-lib/http';
|
|
4
4
|
/**
|
|
5
5
|
* Implementation of CommonDB that proxies all requests via HTTP to "httpDBRequestHandler".
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommonDB, CommonDBOptions, CommonDBSaveOptions } from '@naturalcycles/db-lib';
|
|
2
2
|
import { DBQuery } from '@naturalcycles/db-lib';
|
|
3
|
-
import type { ObjectWithId } from '@naturalcycles/js-lib';
|
|
3
|
+
import type { ObjectWithId } from '@naturalcycles/js-lib/types';
|
|
4
4
|
import type { BackendRouter } from '../server/server.model.js';
|
|
5
5
|
export interface GetByIdsInput {
|
|
6
6
|
table: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DBQuery
|
|
1
|
+
import { DBQuery } from '@naturalcycles/db-lib';
|
|
2
|
+
import { InMemoryDB } from '@naturalcycles/db-lib/inmemory';
|
|
2
3
|
import { commonDBOptionsSchema, commonDBSaveOptionsSchema, dbQuerySchema, } from '@naturalcycles/db-lib/validation';
|
|
3
4
|
import { anyObjectSchema, arraySchema, objectSchema, stringSchema, } from '@naturalcycles/nodejs-lib/joi';
|
|
4
5
|
import { getDefaultRouter } from '../express/getDefaultRouter.js';
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
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';
|
|
2
5
|
import { sha256 } from '@naturalcycles/nodejs-lib';
|
|
3
6
|
import { dimGrey, white } from '@naturalcycles/nodejs-lib/colors';
|
|
4
7
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
|
package/dist/deploy/deployGae.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { _anyToError
|
|
1
|
+
import { _anyToError } from '@naturalcycles/js-lib/error';
|
|
2
|
+
import { pRetry } from '@naturalcycles/js-lib/promise';
|
|
3
|
+
import { _objectAssign } from '@naturalcycles/js-lib/types';
|
|
2
4
|
import { appendToGithubSummary } from '@naturalcycles/nodejs-lib/env';
|
|
3
5
|
import { exec2 } from '@naturalcycles/nodejs-lib/exec2';
|
|
4
6
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { inspect } from 'node:util';
|
|
2
|
-
import {
|
|
2
|
+
import { _ms, _since } from '@naturalcycles/js-lib/datetime';
|
|
3
|
+
import { getFetcher } from '@naturalcycles/js-lib/http';
|
|
4
|
+
import { _filterFalsyValues } from '@naturalcycles/js-lib/object';
|
|
5
|
+
import { pDelay } from '@naturalcycles/js-lib/promise';
|
|
3
6
|
import { dimGrey, red } from '@naturalcycles/nodejs-lib/colors';
|
|
4
7
|
import { exec2 } from '@naturalcycles/nodejs-lib/exec2';
|
|
5
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").MemoizedFunction;
|
|
2
|
+
export declare const getDeployInfo: ((projectDir: string) => DeployInfo) & import("@naturalcycles/js-lib/decorators").MemoizedFunction;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localTime } from '@naturalcycles/js-lib/datetime';
|
|
2
|
+
import { _memoFn } from '@naturalcycles/js-lib/decorators';
|
|
2
3
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
|
|
3
4
|
export const getDeployInfo = _memoFn((projectDir) => {
|
|
4
5
|
const deployInfoPath = `${projectDir}/deployInfo.json`;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _by } from '@naturalcycles/js-lib';
|
|
2
|
+
import { _assert } from '@naturalcycles/js-lib/error';
|
|
2
3
|
import { dimGrey } from '@naturalcycles/nodejs-lib/colors';
|
|
3
4
|
export class EnvSharedService {
|
|
4
5
|
constructor(cfg) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import os from 'node:os';
|
|
3
|
-
import {
|
|
3
|
+
import { _ms } from '@naturalcycles/js-lib/datetime';
|
|
4
|
+
import { _Memo } from '@naturalcycles/js-lib/decorators';
|
|
4
5
|
import { boldGrey, dimGrey, white } from '@naturalcycles/nodejs-lib/colors';
|
|
5
6
|
import { createDefaultApp } from './createDefaultApp.js';
|
|
6
7
|
const { NODE_OPTIONS, APP_ENV } = process.env;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { CommonLogger
|
|
1
|
+
import type { CommonLogger } from '@naturalcycles/js-lib/log';
|
|
2
|
+
import type { Primitive, StringMap } from '@naturalcycles/js-lib/types';
|
|
2
3
|
import type { Breadcrumb, SeverityLevel } from '@sentry/node';
|
|
3
4
|
import type * as SentryLib from '@sentry/node';
|
|
4
5
|
export interface SentrySharedServiceCfg {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _anyToError, _isErrorObject } from '@naturalcycles/js-lib';
|
|
1
|
+
import { _anyToError, _isErrorObject } from '@naturalcycles/js-lib/error';
|
|
2
2
|
import { _inspect } from '@naturalcycles/nodejs-lib';
|
|
3
3
|
import { getRequestLogger } from '../server/asyncLocalStorageMiddleware.js';
|
|
4
4
|
const sentrySeverityMap = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ErrorObject } from '@naturalcycles/js-lib/error';
|
|
2
2
|
import type { BackendErrorRequestHandler, BackendRequest, BackendResponse } from './server.model.js';
|
|
3
3
|
export interface GenericErrorMiddlewareCfg {
|
|
4
4
|
errorReportingService?: ErrorReportingService;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { _anyToError, _errorLikeToErrorObject } from '@naturalcycles/js-lib/error';
|
|
2
|
+
import { _objectAssign } from '@naturalcycles/js-lib/types';
|
|
3
3
|
const { APP_ENV } = process.env;
|
|
4
4
|
const includeErrorStack = APP_ENV === 'dev';
|
|
5
5
|
// Hacky way to store the errorService, so it's available to `respondWithError` function
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NumberOfSeconds } from '@naturalcycles/js-lib';
|
|
1
|
+
import type { NumberOfSeconds } from '@naturalcycles/js-lib/types';
|
|
2
2
|
import type { BackendRequest, BackendRequestHandler, BackendResponse } from './server.model.js';
|
|
3
3
|
export interface RequestTimeoutMiddlewareCfg {
|
|
4
4
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { _ms
|
|
1
|
+
import { _ms } from '@naturalcycles/js-lib/datetime';
|
|
2
|
+
import { AppError } from '@naturalcycles/js-lib/error';
|
|
2
3
|
import { onFinished } from '../onFinished.js';
|
|
3
4
|
import { respondWithError } from './genericErrorMiddleware.js';
|
|
4
5
|
import { getRequestEndpoint } from './request.util.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { CommonLogFunction
|
|
1
|
+
import type { CommonLogFunction } from '@naturalcycles/js-lib/log';
|
|
2
|
+
import type { Promisable } from '@naturalcycles/js-lib/types';
|
|
2
3
|
import type { Application, IRouter, NextFunction, Request, Response } from 'express';
|
|
3
4
|
/**
|
|
4
5
|
* Use this interface instead of express.Request in cases when TypeScript gives an error, because it haven't "included" this very file.
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
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';
|
|
5
|
+
import { _stringMapEntries, _stringMapValues } from '@naturalcycles/js-lib/types';
|
|
2
6
|
import { onFinished } from '../onFinished.js';
|
|
3
7
|
import { getRequestEndpoint } from './request.util.js';
|
|
4
8
|
const { GAE_INSTANCE } = process.env;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localTime } from '@naturalcycles/js-lib/datetime';
|
|
2
|
+
import { _filterNullishValues } from '@naturalcycles/js-lib/object';
|
|
2
3
|
import { memoryUsageFull, processSharedUtil } from '@naturalcycles/nodejs-lib';
|
|
3
4
|
import { getDeployInfo } from '../deploy/deployInfo.util.js';
|
|
4
5
|
const { versions, arch, platform } = process;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _since } from '@naturalcycles/js-lib';
|
|
1
|
+
import { _since } from '@naturalcycles/js-lib/datetime';
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import type { Fetcher, FetcherOptions } from '@naturalcycles/js-lib';
|
|
1
|
+
import type { Fetcher, FetcherOptions } from '@naturalcycles/js-lib/http';
|
|
2
2
|
import { type BackendRequestHandlerCfg, type DefaultAppCfg } from '../express/createDefaultApp.js';
|
|
3
3
|
import type { BackendApplication } from '../server/server.model.js';
|
|
4
4
|
export interface ExpressApp extends Fetcher, AsyncDisposable {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getFetcher
|
|
1
|
+
import { getFetcher } from '@naturalcycles/js-lib/http';
|
|
2
|
+
import { pDelay } from '@naturalcycles/js-lib/promise';
|
|
2
3
|
import { createDefaultApp, } from '../express/createDefaultApp.js';
|
|
3
4
|
const nativeFetchFn = async (url, init) => await globalThis.fetch(url, init);
|
|
4
5
|
// Example:
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error';
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object';
|
|
2
3
|
class AjvValidateRequest {
|
|
3
4
|
body(req, schema, opt = {}) {
|
|
4
5
|
return this.validate(req, 'body', schema, opt);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error';
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object';
|
|
2
3
|
import { getValidationResult } from '@naturalcycles/nodejs-lib/joi';
|
|
3
4
|
class ValidateRequest {
|
|
4
5
|
body(req, schema, opt = {}) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error';
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object';
|
|
2
3
|
import { zSafeValidate } from '@naturalcycles/js-lib/zod';
|
|
3
4
|
class ZodValidateRequest {
|
|
4
5
|
body(req, schema, opt = {}) {
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { _memoFn
|
|
1
|
+
import { _memoFn } from '@naturalcycles/js-lib/decorators'
|
|
2
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
2
3
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
|
|
3
4
|
import { srcDir } from '../paths.cnst.js'
|
|
4
5
|
import type { BackendRequestHandler } from '../server/server.model.js'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _assert, AppError } from '@naturalcycles/js-lib'
|
|
1
|
+
import { _assert, AppError } from '@naturalcycles/js-lib/error'
|
|
2
2
|
import { dimGrey, green, red } from '@naturalcycles/nodejs-lib/colors'
|
|
3
3
|
import type FirebaseAdmin from 'firebase-admin'
|
|
4
4
|
import type { BackendRequest, BackendRequestHandler } from '../server/server.model.js'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AppError } from '@naturalcycles/js-lib'
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
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'
|
package/src/db/httpDB.ts
CHANGED
|
@@ -9,13 +9,10 @@ import type {
|
|
|
9
9
|
RunQueryResult,
|
|
10
10
|
} from '@naturalcycles/db-lib'
|
|
11
11
|
import { BaseCommonDB, commonDBFullSupport } from '@naturalcycles/db-lib'
|
|
12
|
-
import type {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
ObjectWithId,
|
|
17
|
-
} from '@naturalcycles/js-lib'
|
|
18
|
-
import { getFetcher } from '@naturalcycles/js-lib'
|
|
12
|
+
import type { Fetcher, FetcherOptions } from '@naturalcycles/js-lib/http'
|
|
13
|
+
import { getFetcher } from '@naturalcycles/js-lib/http'
|
|
14
|
+
import type { JsonSchemaRootObject } from '@naturalcycles/js-lib/json-schema'
|
|
15
|
+
import type { ObjectWithId } from '@naturalcycles/js-lib/types'
|
|
19
16
|
import type { ReadableTyped } from '@naturalcycles/nodejs-lib/stream'
|
|
20
17
|
|
|
21
18
|
export interface HttpDBCfg extends FetcherOptions {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CommonDB, CommonDBOptions, CommonDBSaveOptions } from '@naturalcycles/db-lib'
|
|
2
|
-
import { DBQuery
|
|
2
|
+
import { DBQuery } from '@naturalcycles/db-lib'
|
|
3
|
+
import { InMemoryDB } from '@naturalcycles/db-lib/inmemory'
|
|
3
4
|
import {
|
|
4
5
|
commonDBOptionsSchema,
|
|
5
6
|
commonDBSaveOptionsSchema,
|
|
6
7
|
dbQuerySchema,
|
|
7
8
|
} from '@naturalcycles/db-lib/validation'
|
|
8
|
-
import type { ObjectWithId } from '@naturalcycles/js-lib'
|
|
9
|
+
import type { ObjectWithId } from '@naturalcycles/js-lib/types'
|
|
9
10
|
import {
|
|
10
11
|
anyObjectSchema,
|
|
11
12
|
arraySchema,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StringMap } from '@naturalcycles/js-lib'
|
|
1
|
+
import type { StringMap } from '@naturalcycles/js-lib/types'
|
|
2
2
|
import { AjvSchema } from '@naturalcycles/nodejs-lib/ajv'
|
|
3
3
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
|
|
4
4
|
import { yaml2 } from '@naturalcycles/nodejs-lib/yaml2'
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
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'
|
|
2
5
|
import { sha256 } from '@naturalcycles/nodejs-lib'
|
|
3
6
|
import { dimGrey, white } from '@naturalcycles/nodejs-lib/colors'
|
|
4
7
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
|
package/src/deploy/deployGae.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { _anyToError
|
|
1
|
+
import { _anyToError } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import { pRetry } from '@naturalcycles/js-lib/promise'
|
|
3
|
+
import { _objectAssign } from '@naturalcycles/js-lib/types'
|
|
2
4
|
import { appendToGithubSummary } from '@naturalcycles/nodejs-lib/env'
|
|
3
5
|
import { exec2 } from '@naturalcycles/nodejs-lib/exec2'
|
|
4
6
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { InspectOptions } from 'node:util'
|
|
2
2
|
import { inspect } from 'node:util'
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import { _ms, _since } from '@naturalcycles/js-lib/datetime'
|
|
4
|
+
import { getFetcher } from '@naturalcycles/js-lib/http'
|
|
5
|
+
import { _filterFalsyValues } from '@naturalcycles/js-lib/object'
|
|
6
|
+
import { pDelay } from '@naturalcycles/js-lib/promise'
|
|
7
|
+
import type { UnixTimestampMillis } from '@naturalcycles/js-lib/types'
|
|
5
8
|
import { dimGrey, red } from '@naturalcycles/nodejs-lib/colors'
|
|
6
9
|
import { exec2 } from '@naturalcycles/nodejs-lib/exec2'
|
|
7
10
|
import { coloredHttpCode } from '../server/request.log.util.js'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localTime } from '@naturalcycles/js-lib/datetime'
|
|
2
|
+
import { _memoFn } from '@naturalcycles/js-lib/decorators'
|
|
2
3
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2'
|
|
3
4
|
import type { DeployInfo } from './deploy.model.js'
|
|
4
5
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { _assert
|
|
1
|
+
import { _by } from '@naturalcycles/js-lib'
|
|
2
|
+
import { _assert } from '@naturalcycles/js-lib/error'
|
|
3
|
+
import type { StringMap } from '@naturalcycles/js-lib/types'
|
|
3
4
|
import { dimGrey } from '@naturalcycles/nodejs-lib/colors'
|
|
4
5
|
|
|
5
6
|
export interface BaseEnv {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Server } from 'node:http'
|
|
2
2
|
import os from 'node:os'
|
|
3
|
-
import {
|
|
3
|
+
import { _ms } from '@naturalcycles/js-lib/datetime'
|
|
4
|
+
import { _Memo } from '@naturalcycles/js-lib/decorators'
|
|
4
5
|
import { boldGrey, dimGrey, white } from '@naturalcycles/nodejs-lib/colors'
|
|
5
6
|
import type { SentrySharedService } from '../sentry/sentry.shared.service.js'
|
|
6
7
|
import type { BackendApplication } from '../server/server.model.js'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { _anyToError, _isErrorObject } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import type { CommonLogger, CommonLogLevel } from '@naturalcycles/js-lib/log'
|
|
3
|
+
import type { Primitive, StringMap } from '@naturalcycles/js-lib/types'
|
|
3
4
|
import type { InspectAnyOptions } from '@naturalcycles/nodejs-lib'
|
|
4
5
|
import { _inspect } from '@naturalcycles/nodejs-lib'
|
|
5
6
|
import type { Breadcrumb, SeverityLevel } from '@sentry/node'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks'
|
|
2
|
-
import type { CommonLogger } from '@naturalcycles/js-lib'
|
|
3
2
|
import { _lazyValue } from '@naturalcycles/js-lib'
|
|
3
|
+
import type { CommonLogger } from '@naturalcycles/js-lib/log'
|
|
4
4
|
import { ciLogger, devLogger, gcpStructuredLogger } from './logMiddleware.js'
|
|
5
5
|
import type { BackendRequest, BackendRequestHandler } from './server.model.js'
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { _split } from '@naturalcycles/js-lib/string'
|
|
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'
|
|
5
5
|
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type ErrorObject,
|
|
5
|
-
} from '@naturalcycles/js-lib'
|
|
6
|
-
import { _anyToError, _errorLikeToErrorObject } from '@naturalcycles/js-lib'
|
|
1
|
+
import type { BackendErrorResponseObject, ErrorObject } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import { _anyToError, _errorLikeToErrorObject } from '@naturalcycles/js-lib/error'
|
|
3
|
+
import { _objectAssign } from '@naturalcycles/js-lib/types'
|
|
7
4
|
import type { BackendErrorRequestHandler, BackendRequest, BackendResponse } from './server.model.js'
|
|
8
5
|
|
|
9
6
|
export interface GenericErrorMiddlewareCfg {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { inspect } from 'node:util'
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonLogger } from '@naturalcycles/js-lib/log'
|
|
3
|
+
import type { AnyObject } from '@naturalcycles/js-lib/types'
|
|
3
4
|
import { _inspect } from '@naturalcycles/nodejs-lib'
|
|
4
5
|
import { dimGrey } from '@naturalcycles/nodejs-lib/colors'
|
|
5
6
|
import type { BackendRequestHandler } from './server.model.js'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { _since } from '@naturalcycles/js-lib/datetime'
|
|
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'
|
|
5
5
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { _ms } from '@naturalcycles/js-lib/datetime'
|
|
2
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
3
|
+
import type { NumberOfSeconds } from '@naturalcycles/js-lib/types'
|
|
3
4
|
import { onFinished } from '../onFinished.js'
|
|
4
5
|
import { respondWithError } from './genericErrorMiddleware.js'
|
|
5
6
|
import { getRequestEndpoint } from './request.util.js'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { CommonLogFunction
|
|
1
|
+
import type { CommonLogFunction } from '@naturalcycles/js-lib/log'
|
|
2
|
+
import type { Promisable } from '@naturalcycles/js-lib/types'
|
|
2
3
|
import type { Application, IRouter, NextFunction, Request, Response } from 'express'
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Server } from 'node:http'
|
|
2
2
|
import type { Socket } from 'node:net'
|
|
3
|
-
import type { StringMap } from '@naturalcycles/js-lib'
|
|
3
|
+
import type { StringMap } from '@naturalcycles/js-lib/types'
|
|
4
4
|
|
|
5
5
|
export interface DestroyableServer extends Server {
|
|
6
6
|
destroy: () => Promise<void>
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
_ms,
|
|
7
|
-
_percentile,
|
|
8
|
-
_sortBy,
|
|
9
|
-
_stringMapEntries,
|
|
10
|
-
_stringMapValues,
|
|
11
|
-
_sum,
|
|
12
|
-
NumberStack,
|
|
13
|
-
} from '@naturalcycles/js-lib'
|
|
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'
|
|
5
|
+
import { _stringMapEntries, _stringMapValues, type StringMap } from '@naturalcycles/js-lib/types'
|
|
14
6
|
import { onFinished } from '../onFinished.js'
|
|
15
7
|
import { getRequestEndpoint } from './request.util.js'
|
|
16
8
|
import type { BackendRequestHandler } from './server.model.js'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localTime } from '@naturalcycles/js-lib/datetime'
|
|
2
|
+
import { _filterNullishValues } from '@naturalcycles/js-lib/object'
|
|
2
3
|
import { memoryUsageFull, processSharedUtil } from '@naturalcycles/nodejs-lib'
|
|
3
4
|
import { getDeployInfo } from '../deploy/deployInfo.util.js'
|
|
4
5
|
import type { BackendRequestHandler } from './server.model.js'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { _since } from '@naturalcycles/js-lib/datetime'
|
|
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'
|
|
5
5
|
import { logRequestWithColors } from './request.log.util.js'
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Server } from 'node:http'
|
|
2
2
|
import type { AddressInfo } from 'node:net'
|
|
3
|
-
import type { Fetcher, FetcherOptions, FetchFunction } from '@naturalcycles/js-lib'
|
|
4
|
-
import { getFetcher
|
|
3
|
+
import type { Fetcher, FetcherOptions, FetchFunction } from '@naturalcycles/js-lib/http'
|
|
4
|
+
import { getFetcher } from '@naturalcycles/js-lib/http'
|
|
5
|
+
import { pDelay } from '@naturalcycles/js-lib/promise'
|
|
5
6
|
import {
|
|
6
7
|
type BackendRequestHandlerCfg,
|
|
7
8
|
createDefaultApp,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object'
|
|
2
3
|
import type { AjvSchema, AjvValidationError } from '@naturalcycles/nodejs-lib/ajv'
|
|
3
4
|
import type { BackendRequest } from '../../server/server.model.js'
|
|
4
5
|
import type { ReqValidationOptions } from '../joi/joiValidateRequest.js'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object'
|
|
2
3
|
import type { AnySchema, JoiValidationError } from '@naturalcycles/nodejs-lib/joi'
|
|
3
4
|
import { getValidationResult } from '@naturalcycles/nodejs-lib/joi'
|
|
4
5
|
import type { BackendRequest } from '../../server/server.model.js'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppError } from '@naturalcycles/js-lib/error'
|
|
2
|
+
import { _get } from '@naturalcycles/js-lib/object'
|
|
2
3
|
import { type ZodType, type ZodValidationError, zSafeValidate } from '@naturalcycles/js-lib/zod'
|
|
3
4
|
import type { BackendRequest } from '../../server/server.model.js'
|
|
4
5
|
import type { ReqValidationOptions } from '../joi/joiValidateRequest.js'
|