From 1ee655db68bd401d834141a0756d482942f22614 Mon Sep 17 00:00:00 2001 From: Len Bekker Date: Wed, 3 Jul 2024 12:29:49 +0200 Subject: [PATCH 1/4] refactor: move networkmap config --- .env.template | 2 +- src/apm.ts | 10 +++---- src/config.ts | 51 +++++++++++++++++++++++++---------- src/index.ts | 35 +++++++----------------- src/interfaces/iConfig.ts | 25 ----------------- src/services/logic.service.ts | 4 +-- 6 files changed, 55 insertions(+), 72 deletions(-) delete mode 100644 src/interfaces/iConfig.ts diff --git a/.env.template b/.env.template index 3d9caa2d..cfb07b8b 100644 --- a/.env.template +++ b/.env.template @@ -10,7 +10,7 @@ LOGSTASH_PORT=8080 LOGSTASH_LEVEL='info' DATABASE_URL=http://0.0.0.0:8529 -DATABASE_NAME=networkmap +DATABASE_NAME=configuration DATABASE_USER=root DATABASE_PASSWORD= DATABASE_CERT_PATH= diff --git a/src/apm.ts b/src/apm.ts index dabab6e0..129407a4 100644 --- a/src/apm.ts +++ b/src/apm.ts @@ -1,13 +1,13 @@ // SPDX-License-Identifier: Apache-2.0 import { Apm } from '@frmscoe/frms-coe-lib/lib/services/apm'; -import { config } from './config'; +import { configuration } from './config'; const apm = new Apm({ - serviceName: config.functionName, - secretToken: config.apmSecretToken, - serverUrl: config.apmURL, + serviceName: configuration.functionName, + secretToken: configuration.apmSecretToken, + serverUrl: configuration.apmURL, usePathAsTransactionName: true, - active: config.apmLogging, + active: configuration.apmLogging, transactionIgnoreUrls: ['/health'], }); diff --git a/src/config.ts b/src/config.ts index f7611d0a..d5f4d7fc 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,26 +1,49 @@ // SPDX-License-Identifier: Apache-2.0 -import path from 'path'; +import { type ManagerConfig } from '@frmscoe/frms-coe-lib'; import * as dotenv from 'dotenv'; -import { type IConfig } from './interfaces/iConfig'; +import path from 'path'; // Load .env file into process.env if it exists. This is convenient for running locally. dotenv.config({ path: path.resolve(__dirname, '../.env'), }); -export const config: IConfig = { +export interface IConfig { + maxCPU: number; + db: ManagerConfig; + logger: { + logstashHost: string; + logstashPort: number; + logstashLevel: string; + }; + arangoHost: string; + arangoPort: number; + functionName: string; + apmLogging: boolean; + apmSecretToken: string; + apmURL: string; + nodeEnv: string; + nodeCacheTTL: number; + sidecarHost: string; +} + +export const configuration: IConfig = { maxCPU: parseInt(process.env.MAX_CPU!, 10) || 1, - redis: { - password: process.env.REDIS_AUTH!, - db: parseInt(process.env.REDIS_DB ?? ''), - servers: JSON.parse(process.env.REDIS_SERVERS! || '[{"hostname": "127.0.0.1", "port":6379}]'), - isCluster: process.env.REDIS_IS_CLUSTER === 'true', + db: { + redisConfig: { + db: parseInt(process.env.REDIS_DB ?? ''), + servers: JSON.parse(process.env.REDIS_SERVERS! || '[{"hostname": "127.0.0.1", "port":6379}]'), + password: process.env.REDIS_AUTH!, + isCluster: process.env.REDIS_IS_CLUSTER === 'true', + }, + configuration: { + url: process.env.DATABASE_URL!, + databaseName: process.env.DATABASE_NAME!, + user: process.env.DATABASE_USER!, + password: process.env.DATABASE_PASSWORD!, + certPath: process.env.DATABASE_CERT_PATH!, + }, }, - dbURL: process.env.DATABASE_URL!, - dbName: process.env.DATABASE_NAME!, - dbUser: process.env.DATABASE_USER!, - dbPassword: process.env.DATABASE_PASSWORD!, - dbCertPath: process.env.DATABASE_CERT_PATH!, logger: { logstashHost: process.env.LOGSTASH_HOST!, logstashPort: parseInt(process.env.LOGSTASH_PORT ?? '0', 10), @@ -33,6 +56,6 @@ export const config: IConfig = { apmSecretToken: process.env.APM_SECRET_TOKEN!, apmURL: process.env.APM_URL!, nodeEnv: process.env.NODE_ENV!, - cacheTTL: parseInt(process.env.CACHETTL ?? '300', 10), + nodeCacheTTL: parseInt(process.env.CACHETTL ?? '300', 10), sidecarHost: process.env.SIDECAR_HOST!, }; diff --git a/src/index.ts b/src/index.ts index 56264d4c..abfff77a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,33 +1,18 @@ // SPDX-License-Identifier: Apache-2.0 /* eslint-disable no-console */ import './apm'; -import os from 'os'; -import { config } from './config'; import { LoggerService, type DatabaseManagerInstance } from '@frmscoe/frms-coe-lib'; -import { handleTransaction } from './services/logic.service'; -import cluster from 'cluster'; import { StartupFactory, type IStartupService } from '@frmscoe/frms-coe-startup-lib'; +import cluster from 'cluster'; import NodeCache from 'node-cache'; +import os from 'os'; +import { configuration } from './config'; +import { handleTransaction } from './services/logic.service'; import { Singleton } from './services/services'; -// Set config for lib (network map db config you want to use) -const databaseManagerConfig = { - networkMap: { - certPath: config.dbCertPath, - databaseName: config.dbName, - user: config.dbUser, - password: config.dbPassword, - url: config.dbURL, - }, - redisConfig: { - db: config.redis.db, - servers: config.redis.servers, - password: config.redis.password, - isCluster: config.redis.isCluster, - }, -}; +const databaseManagerConfig = configuration.db; -export const loggerService: LoggerService = new LoggerService(config.sidecarHost); +export const loggerService: LoggerService = new LoggerService(configuration.sidecarHost); let databaseManager: DatabaseManagerInstance; export const nodeCache = new NodeCache(); @@ -35,7 +20,7 @@ export let server: IStartupService; export const runServer = async (): Promise => { server = new StartupFactory(); - if (config.nodeEnv !== 'test') { + if (configuration.nodeEnv !== 'test') { let isConnected = false; for (let retryCount = 0; retryCount < 10; retryCount++) { loggerService.log('Connecting to nats server...'); @@ -61,14 +46,14 @@ process.on('unhandledRejection', (err) => { loggerService.error(`process on unhandledRejection error: ${JSON.stringify(err, Object.getOwnPropertyNames(err))}`); }); -const numCPUs = os.cpus().length > config.maxCPU ? config.maxCPU + 1 : os.cpus().length + 1; +const numCPUs = os.cpus().length > configuration.maxCPU ? configuration.maxCPU + 1 : os.cpus().length + 1; export const dbInit = async (): Promise => { const manager = await Singleton.getDatabaseManager(databaseManagerConfig); console.log(manager.isReadyCheck()); databaseManager = manager; }; -if (cluster.isPrimary && config.maxCPU !== 1) { +if (cluster.isPrimary && configuration.maxCPU !== 1) { loggerService.log(`Primary ${process.pid} is running`); // Fork workers @@ -85,7 +70,7 @@ if (cluster.isPrimary && config.maxCPU !== 1) { // In this case it is an HTTP server (async () => { try { - if (config.nodeEnv !== 'test') { + if (configuration.nodeEnv !== 'test') { await runServer(); await dbInit(); } diff --git a/src/interfaces/iConfig.ts b/src/interfaces/iConfig.ts deleted file mode 100644 index 600281e5..00000000 --- a/src/interfaces/iConfig.ts +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -import { type RedisConfig } from '@frmscoe/frms-coe-lib/lib/interfaces'; -export interface IConfig { - maxCPU: number; - redis: RedisConfig; - dbURL: string; - dbName: string; - dbUser: string; - dbPassword: string; - dbCertPath: string; - logger: { - logstashHost: string; - logstashPort: number; - logstashLevel: string; - }; - arangoHost: string; - arangoPort: number; - functionName: string; - apmLogging: boolean; - apmSecretToken: string; - apmURL: string; - nodeEnv: string; - cacheTTL: number; - sidecarHost: string; -} diff --git a/src/services/logic.service.ts b/src/services/logic.service.ts index fa95d2ea..dc640eb6 100644 --- a/src/services/logic.service.ts +++ b/src/services/logic.service.ts @@ -4,7 +4,7 @@ import apm from '../apm'; import { NetworkMap, type DataCache, type Message, type Rule } from '@frmscoe/frms-coe-lib/lib/interfaces'; import { databaseManager, nodeCache, server, loggerService } from '..'; import { unwrap } from '@frmscoe/frms-coe-lib/lib/helpers/unwrap'; -import { config } from '../config'; +import { configuration } from '../config'; const calculateDuration = (startTime: bigint): number => { const endTime = process.hrtime.bigint(); @@ -67,7 +67,7 @@ export const handleTransaction = async (req: unknown): Promise => { if (unwrappedNetworkMap) { networkMap = unwrappedNetworkMap; // save networkmap in memory cache - nodeCache.set(cacheKey, networkMap, config.cacheTTL); + nodeCache.set(cacheKey, networkMap, configuration.nodeCacheTTL); prunedMap = networkMap.messages.filter((msg) => msg.txTp === parsedRequest.transaction.TxTp); } else { loggerService.log('No network map found in DB'); From 1454171828a0a4d50fd9c469c95a2936b6521d3f Mon Sep 17 00:00:00 2001 From: Len Bekker Date: Wed, 3 Jul 2024 12:32:26 +0200 Subject: [PATCH 2/4] chore: use new deps --- package-lock.json | 622 +++++++++++----------------------------------- package.json | 4 +- 2 files changed, 147 insertions(+), 479 deletions(-) diff --git a/package-lock.json b/package-lock.json index 408a5d33..87e064a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "1.2.0", "license": "Apache-2.0", "dependencies": { - "dotenv": "^16.4.5", - "@frmscoe/frms-coe-lib": "^4.0.0-rc.7", - "@frmscoe/frms-coe-startup-lib": "^2.2.0-rc.2", - "node-cache": "^5.1.2", - "tslib": "^2.6.0" + "@frmscoe/frms-coe-lib": "^4.0.0-rc.10", + "@frmscoe/frms-coe-startup-lib": "^2.2.0-rc.3", + "dotenv": "^16.4.5", + "node-cache": "^5.1.2", + "tslib": "^2.6.0" }, "devDependencies": { "@stylistic/eslint-plugin": "^2.1.0", @@ -29,7 +29,6 @@ "ioredis-mock": "^8.9.0", "jest": "^29.7.0", "lint-staged": "^15.2.5", - "nodemon": "^3.1.3", "prettier": "^3.3.1", "replace": "1.2.2", "rimraf": "^5.0.7", @@ -737,11 +736,11 @@ } }, "node_modules/@elastic/elasticsearch": { - "version": "8.13.1", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.13.1.tgz", - "integrity": "sha512-2G4Vu6OHw4+XTrp7AGIcOEezpPEoVrWg2JTK1v/exEKSLYquZkUdd+m4yOL3/UZ6bTj7hmXwrmYzW76BnLCkJQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.14.0.tgz", + "integrity": "sha512-MGrgCI4y+Ozssf5Q2IkVJlqt5bUMnKIICG2qxeOfrJNrVugMCBCAQypyesmSSocAtNm8IX3LxfJ3jQlFHmKe2w==", "dependencies": { - "@elastic/transport": "~8.4.1", + "@elastic/transport": "^8.6.0", "tslib": "^2.4.0" }, "engines": { @@ -749,19 +748,20 @@ } }, "node_modules/@elastic/transport": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.4.1.tgz", - "integrity": "sha512-/SXVuVnuU5b4dq8OFY4izG+dmGla185PcoqgK6+AJMpmOeY1QYVNbWtCwvSvoAANN5D/wV+EBU8+x7Vf9EphbA==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.7.0.tgz", + "integrity": "sha512-IqXT7a8DZPJtqP2qmX1I2QKmxYyN27kvSW4g6pInESE1SuGwZDp2FxHJ6W2kwmYOJwQdAt+2aWwzXO5jHo9l4A==", "dependencies": { + "@opentelemetry/api": "1.x", "debug": "^4.3.4", "hpagent": "^1.0.0", "ms": "^2.1.3", "secure-json-parse": "^2.4.0", "tslib": "^2.4.0", - "undici": "^5.22.1" + "undici": "^6.12.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@elastic/transport/node_modules/debug": { @@ -927,14 +927,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "engines": { - "node": ">=14" - } - }, "node_modules/@fastify/merge-json-schemas": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", @@ -944,39 +936,33 @@ } }, "node_modules/@frmscoe/frms-coe-lib": { - "version": "4.0.0-rc.7", - "resolved": "https://npm.pkg.github.com/download/@frmscoe/frms-coe-lib/4.0.0-rc.7/46b602422db4696fd21c31fcf7baf1af4bb0e939", - "integrity": "sha512-vLV9FtObYxurrw9drxlBQcvjlWac9vrFQHRMa7tLm4fHF/mFIhj94iLLoqZA24fxMWmlddWx+632uJHS7WvLbw==", + "version": "4.0.0-rc.10", + "resolved": "https://npm.pkg.github.com/download/@frmscoe/frms-coe-lib/4.0.0-rc.10/243fd9e34c910718b533ffc93857034f7bf18f48", + "integrity": "sha512-8UOOhyqoOWnA500uImBHK5zMlj+ro9RtJtCgSNsAOT6BPHhTguPRU8jaImxRtHM5FsblNBfxsTrx6J5FUm1q1A==", "dependencies": { "@elastic/ecs-pino-format": "^1.5.0", - "@grpc/grpc-js": "^1.9.9", - "@grpc/proto-loader": "^0.7.10", - "@log4js-node/logstash-http": "^1.1.0", - "@types/uuid": "^9.0.2", - "arangojs": "^8.4.0", - "dotenv": "^16.3.1", - "elastic-apm-node": "^3.49.1", - "fast-json-stringify": "^5.8.0", - "ioredis": "^5.3.2", + "@grpc/grpc-js": "^1.10.9", + "@grpc/proto-loader": "^0.7.13", + "@types/uuid": "^9.0.8", + "arangojs": "^8.8.1", + "dotenv": "^16.4.5", + "elastic-apm-node": "^4.6.0", + "fast-json-stringify": "^5.16.0", + "ioredis": "^5.4.1", "node-cache": "^5.1.2", - "pino": "^8.16.2", - "pino-elasticsearch": "^7.0.0", - "protobufjs": "^7.2.5", - "uuid": "^9.0.0" + "pino": "^9.2.0", + "pino-elasticsearch": "^8.0.0", + "protobufjs": "^7.3.2", + "uuid": "^10.0.0" } }, "node_modules/@frmscoe/frms-coe-startup-lib": { - "version": "2.2.0-rc.2", - "resolved": "https://npm.pkg.github.com/download/@frmscoe/frms-coe-startup-lib/2.2.0-rc.2/86fe58269dc13dc51257a32385d3080ff6af9754", - "integrity": "sha512-cFd7Cuy7b8ebkifgu9JgEk5Ux5l82F6Sgs1mZaRu+nC965DIhl7+i3fQihson0KyszVh30Ky+wusMRrZzgck9Q==", - "license": "ISC", + "version": "2.2.0-rc.3", + "resolved": "https://npm.pkg.github.com/download/@frmscoe/frms-coe-startup-lib/2.2.0-rc.3/11505ec73b76794152ae639ce55b5a692c1ddc9c", + "integrity": "sha512-aDPwtNV7+DByvih4tr9a7h1UEAlEKSqFVkOCXSKZpGw8G0yNJXTnz4SNLK5odW2IwcFNPnX/BBIffCnBs6txXw==", "dependencies": { "@frmscoe/frms-coe-lib": "^4.0.0-rc.7", - "arangojs": "^8.3.0", - "fast-json-stringify": "^5.8.0", - "ioredis": "^5.3.2", - "nats": "^2.14.0", - "node-cache": "^5.1.2" + "nats": "^2.14.0" } }, "node_modules/@grpc/grpc-js": { @@ -1644,18 +1630,6 @@ "url": "https://opencollective.com/js-sdsl" } }, - "node_modules/@log4js-node/logstash-http": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@log4js-node/logstash-http/-/logstash-http-1.1.0.tgz", - "integrity": "sha512-kVl/g9CyNDN8wkH/cdGP3HbtdpTimL2WZbUm7WubNSVl7eS8QIDAqE1Clp4aaF1Y5oT7MUU4gUx8RzuP5xbuLg==", - "dependencies": { - "axios": "^0.21.1", - "debug": "^3.1.0" - }, - "engines": { - "node": ">=6.0" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1700,11 +1674,11 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz", - "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz", + "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.25.0" + "@opentelemetry/semantic-conventions": "1.25.1" }, "engines": { "node": ">=14" @@ -1714,12 +1688,12 @@ } }, "node_modules/@opentelemetry/resources": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz", - "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz", + "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==", "dependencies": { - "@opentelemetry/core": "1.25.0", - "@opentelemetry/semantic-conventions": "1.25.0" + "@opentelemetry/core": "1.25.1", + "@opentelemetry/semantic-conventions": "1.25.1" }, "engines": { "node": ">=14" @@ -1729,12 +1703,12 @@ } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz", - "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz", + "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==", "dependencies": { - "@opentelemetry/core": "1.25.0", - "@opentelemetry/resources": "1.25.0", + "@opentelemetry/core": "1.25.1", + "@opentelemetry/resources": "1.25.1", "lodash.merge": "^4.6.2" }, "engines": { @@ -1745,9 +1719,9 @@ } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz", - "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz", + "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==", "engines": { "node": ">=14" } @@ -2421,10 +2395,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "peerDependencies": { "acorn": "^8" } @@ -2739,29 +2713,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/async-cache": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", - "integrity": "sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g==", - "deprecated": "No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.", - "dependencies": { - "lru-cache": "^4.0.0" - } - }, - "node_modules/async-cache/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/async-cache/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, "node_modules/async-value": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/async-value/-/async-value-1.2.2.tgz", @@ -2804,14 +2755,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -2964,16 +2907,12 @@ "node": ">= 0.8" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, "node_modules/binary-search": { @@ -3173,42 +3112,6 @@ "node": ">=10" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -3408,9 +3311,9 @@ "dev": true }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -3516,6 +3419,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -3681,21 +3585,20 @@ "dev": true }, "node_modules/elastic-apm-node": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/elastic-apm-node/-/elastic-apm-node-3.51.0.tgz", - "integrity": "sha512-GvZyoV4uhHB9qW4QE4pGcYZLbDCay2VzbeE5zN5v9vrQQ7j72GbzE5wGmtryNHwqP4DGCuXUk/jerArfpIquOQ==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/elastic-apm-node/-/elastic-apm-node-4.7.0.tgz", + "integrity": "sha512-fOcDYOcZ/180Ib0p8xLNF8iDu9e1QGqZiEizOntdh1GmkurN3sIGVgGlE25s9LRBUMmD2bMWwlER56T8moW+tg==", "dependencies": { - "@elastic/ecs-pino-format": "^1.2.0", + "@elastic/ecs-pino-format": "^1.5.0", "@opentelemetry/api": "^1.4.1", "@opentelemetry/core": "^1.11.0", "@opentelemetry/sdk-metrics": "^1.12.0", "after-all-results": "^2.0.0", "agentkeepalive": "^4.2.1", - "async-cache": "^1.1.0", "async-value-promise": "^1.1.1", "basic-auth": "^2.0.1", "breadth-filter": "^2.0.0", - "cookie": "^0.5.0", + "cookie": "^0.6.0", "core-util-is": "^1.0.2", "end-of-stream": "^1.4.4", "error-callsites": "^2.0.4", @@ -3704,20 +3607,20 @@ "fast-safe-stringify": "^2.0.7", "fast-stream-to-buffer": "^1.0.0", "http-headers": "^3.0.2", - "import-in-the-middle": "1.4.2", - "is-native": "^1.0.1", - "lru-cache": "^6.0.0", + "import-in-the-middle": "1.8.0", + "json-bigint": "^1.0.0", + "lru-cache": "^10.0.1", "measured-reporting": "^1.51.1", "module-details-from-path": "^1.0.3", "monitor-event-loop-delay": "^1.0.0", "object-filter-sequence": "^1.0.0", "object-identity-map": "^1.0.2", "original-url": "^1.2.3", - "pino": "^6.11.2", - "readable-stream": "^3.4.0", + "pino": "^8.15.0", + "readable-stream": "^3.6.2", "relative-microtime": "^2.0.0", "require-in-the-middle": "^7.1.1", - "semver": "^6.3.1", + "semver": "^7.5.4", "shallow-clone-shim": "^2.0.0", "source-map": "^0.8.0-beta.0", "sql-summary": "^1.0.1", @@ -3725,51 +3628,49 @@ "unicode-byte-truncate": "^1.0.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=14.17.0" } }, "node_modules/elastic-apm-node/node_modules/pino": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-6.14.0.tgz", - "integrity": "sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==", - "dependencies": { - "fast-redact": "^3.0.0", - "fast-safe-stringify": "^2.0.8", - "flatstr": "^1.0.12", - "pino-std-serializers": "^3.1.0", - "process-warning": "^1.0.0", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", + "integrity": "sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.2.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^3.0.0", "quick-format-unescaped": "^4.0.3", - "sonic-boom": "^1.0.2" + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.7.0", + "thread-stream": "^2.6.0" }, "bin": { "pino": "bin.js" } }, "node_modules/elastic-apm-node/node_modules/pino-std-serializers": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz", - "integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==" - }, - "node_modules/elastic-apm-node/node_modules/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" }, - "node_modules/elastic-apm-node/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/elastic-apm-node/node_modules/sonic-boom": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", + "dependencies": { + "atomic-sleep": "^1.0.0" } }, - "node_modules/elastic-apm-node/node_modules/sonic-boom": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", - "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", + "node_modules/elastic-apm-node/node_modules/thread-stream": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", + "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", "dependencies": { - "atomic-sleep": "^1.0.0", - "flatstr": "^1.0.12" + "real-require": "^0.2.0" } }, "node_modules/electron-to-chromium": { @@ -4753,36 +4654,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/flatstr": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", - "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" - }, "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -5288,12 +5165,6 @@ "node": ">= 4" } }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -5311,12 +5182,12 @@ } }, "node_modules/import-in-the-middle": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz", - "integrity": "sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.0.tgz", + "integrity": "sha512-/xQjze8szLNnJ5rvHSzn+dcVXqCAU6Plbk4P24U/jwPmg1wy7IIp9OjKIO5tYue8GSPhDpPDiApQjvBUmWwhsQ==", "dependencies": { "acorn": "^8.8.2", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "cjs-module-lexer": "^1.2.2", "module-details-from-path": "^1.0.3" } @@ -5477,18 +5348,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -5624,15 +5483,6 @@ "is-finite": "^1.0.0" } }, - "node_modules/is-native": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-native/-/is-native-1.0.1.tgz", - "integrity": "sha512-I4z9hx+4u3/zyvpvGtAR+n7SodJugE+i2jiS8yfq1A9QAZY0KldLQz0SBptLC9ti7kBlpghWUwTKE2BA62eCcw==", - "dependencies": { - "is-nil": "^1.0.0", - "to-source-code": "^1.0.0" - } - }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -5645,11 +5495,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-nil": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", - "integrity": "sha512-m2Rm8PhUFDNNhgvwZJjJG74a9h5CHU0fkA8WT+WGlCjyEbZ2jPwgb+ZxHu4np284EqNVyOsgppReK4qy/TwEwg==" - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6508,6 +6353,14 @@ "node": ">=4" } }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -6976,14 +6829,11 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", "engines": { - "node": ">=10" + "node": "14 || >=16.14" } }, "node_modules/make-dir": { @@ -7258,100 +7108,6 @@ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/nodemon": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.3.tgz", - "integrity": "sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w==", - "dev": true, - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/nodemon/node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/nodemon/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nodemon/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nodemon/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -7680,15 +7436,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -7741,21 +7488,21 @@ } }, "node_modules/pino": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", - "integrity": "sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.2.0.tgz", + "integrity": "sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", "on-exit-leak-free": "^2.1.0", "pino-abstract-transport": "^1.2.0", - "pino-std-serializers": "^6.0.0", + "pino-std-serializers": "^7.0.0", "process-warning": "^3.0.0", "quick-format-unescaped": "^4.0.3", "real-require": "^0.2.0", "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.6.0" + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" }, "bin": { "pino": "bin.js" @@ -7786,9 +7533,9 @@ } }, "node_modules/pino-elasticsearch": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pino-elasticsearch/-/pino-elasticsearch-7.0.0.tgz", - "integrity": "sha512-CBHXm9iAcmM+n/NyXHa6F6Mv0+K65vCoeXQkyNaSD2JON2/oOFtY6Ho288bUYHSLDRz9awnHl+3zZpfbo8n4+Q==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pino-elasticsearch/-/pino-elasticsearch-8.0.0.tgz", + "integrity": "sha512-Q9plUD1r+NaD+LgrWB50VyYKlIRlx0U6RYcUTa/XkYFEKBWk0vePnuPaIRawPsu6/T+YVJzRnloJBQwYdiLrHA==", "dependencies": { "@elastic/elasticsearch": "^8.0.0", "minimist": "^1.2.5", @@ -7800,9 +7547,9 @@ } }, "node_modules/pino-std-serializers": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", - "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==" }, "node_modules/pirates": { "version": "4.0.6", @@ -7985,17 +7732,6 @@ "node": ">=12.0.0" } }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -8088,30 +7824,6 @@ "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/readline-sync": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", @@ -8733,7 +8445,6 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -8828,18 +8539,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -8884,9 +8583,9 @@ } }, "node_modules/sonic-boom": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", - "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.0.1.tgz", + "integrity": "sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==", "dependencies": { "atomic-sleep": "^1.0.0" } @@ -9296,9 +8995,9 @@ "dev": true }, "node_modules/thread-stream": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", - "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", "dependencies": { "real-require": "^0.2.0" } @@ -9342,14 +9041,6 @@ "node": ">=8.0" } }, - "node_modules/to-source-code": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/to-source-code/-/to-source-code-1.0.2.tgz", - "integrity": "sha512-YzWtjmNIf3E75eZYa7m1SCyl0vgOGoTzdpH3svfa8SUm5rqTgl9hnDolrAGOghCF9P2gsITXQoMrlujOoz+RPw==", - "dependencies": { - "is-nil": "^1.0.0" - } - }, "node_modules/token-types": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", @@ -9366,15 +9057,6 @@ "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", - "dev": true, - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, "node_modules/tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", @@ -9688,21 +9370,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, + "version": "6.19.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", + "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==", "engines": { - "node": ">=14.0" + "node": ">=18.17" } }, "node_modules/undici-types": { @@ -9768,9 +9441,9 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -10044,11 +9717,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/yaml": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", diff --git a/package.json b/package.json index f6713a57..96409c2c 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "license": "Apache-2.0", "dependencies": { "dotenv": "^16.4.5", - "@frmscoe/frms-coe-lib": "^4.0.0-rc.7", - "@frmscoe/frms-coe-startup-lib": "^2.2.0-rc.2", + "@frmscoe/frms-coe-lib": "^4.0.0-rc.10", + "@frmscoe/frms-coe-startup-lib": "^2.2.0-rc.3", "node-cache": "^5.1.2", "tslib": "^2.6.0" }, From d0f88ba20f0c4b303c58d52d7d5668b528ceff51 Mon Sep 17 00:00:00 2001 From: Len Bekker Date: Wed, 3 Jul 2024 12:32:55 +0200 Subject: [PATCH 3/4] build: update env --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index bb7d0a9a..ca117225 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,11 +57,10 @@ ENV LOGSTASH_LEVEL='info' # Database ENV DATABASE_URL= -ENV DATABASE_NAME=networkmap +ENV DATABASE_NAME=configuration ENV DATABASE_USER=root ENV DATABASE_PASSWORD= ENV DATABASE_CERT_PATH= -ENV CONFIG_DATABASE=Configuration # Redis ENV REDIS_DB=0 From b904b3cc4b73db01f9377e53bcabc4436ee62e9f Mon Sep 17 00:00:00 2001 From: Len Bekker Date: Wed, 3 Jul 2024 12:33:15 +0200 Subject: [PATCH 4/4] docs: update env --- Readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index e2a56c05..b58805ba 100644 --- a/Readme.md +++ b/Readme.md @@ -36,8 +36,7 @@ A [registry](https://github.com/frmscoe/docs) of environment variables is provid | `DATABASE_URL` | URL where Arango is served | `tcp://arango:8529` | `DATABASE_USER` | Arango database username | `root` | `DATABASE_PASSWORD` | Arango database password | `password` -| `DATABASE_NAME` | Arango database name | `networkmap` -| `CONFIG_DATABASE` | Arango Configuration name | `Configuration` +| `DATABASE_NAME` | Arango database name | `configuration` #### Build and Start