From 0d60b8bfad2f6d6192f23bb0904c85bbc4a47fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 30 May 2023 16:12:00 +0200 Subject: [PATCH] feat: update tests feat: update tests feat: update tests --- .syncpackrc.cjs | 67 ++ .syncpackrc.json | 97 --- backend/backend/Dockerfile | 2 +- backend/backend/package.json | 16 +- backend/backend/src/app.ts | 5 +- .../src/routes/virtual-plugin-route.ts | 2 +- .../src/storage/elasticsearch/monitoring.ts | 3 + .../query/boost/boost-functions.ts | 2 +- .../query/boost/scoring-functions.ts | 2 +- .../src/storage/elasticsearch/query/filter.ts | 14 +- .../query/filters/availability.ts | 2 +- .../elasticsearch/query/filters/boolean.ts | 4 +- .../elasticsearch/query/filters/date-range.ts | 2 +- .../elasticsearch/query/filters/distance.ts | 2 +- .../elasticsearch/query/filters/geo.ts | 2 +- .../query/filters/numeric-range.ts | 2 +- .../elasticsearch/query/filters/value.ts | 2 +- .../src/storage/elasticsearch/query/query.ts | 4 +- .../src/storage/elasticsearch/query/sort.ts | 4 +- backend/backend/test/common.ts | 2 +- .../test/storage/elasticsearch/query.spec.ts | 4 +- backend/database/README.md | 8 +- backend/proxy/package.json | 19 +- configuration/backend-config/package.json | 8 +- .../eslint-config/copyright-header-rule.js | 115 +++ .../copyright-header-rule.spec.js | 58 ++ configuration/eslint-config/index.js | 7 +- .../eslint-config/licenses/GPL-3.0-only.txt | 14 + configuration/eslint-config/package.json | 6 + configuration/eslint-config/tsconfig.json | 8 + configuration/projectmanagement/package.json | 8 +- coverage.mjs | 11 + examples/minimal-connector/package.json | 6 +- examples/minimal-plugin/package.json | 5 +- frontend/app/package.json | 2 +- package.json | 18 +- packages/api/package.json | 12 +- packages/collection-utils/package.json | 6 +- packages/core-tools/package.json | 14 +- packages/core/package.json | 8 +- packages/easy-ast/package.json | 6 +- packages/es-mapping-generator/package.json | 8 +- .../test/aggregations.spec.ts | 39 +- packages/es-mapping-generator/test/common.ts | 19 + .../test/mapping-model/MapAggTest.ts | 0 .../test/mapping-model/MapAggTestOptions.ts | 0 .../aggregations/src/agg-array.agg-test.ts | 4 +- .../src/agg-global-nested.agg-test.ts | 4 +- .../aggregations/src/agg-global.agg-test.ts | 4 +- .../src/agg-inherited-global.agg-test.ts | 4 +- .../src/agg-inherited-overwritten.agg-test.ts | 4 +- .../src/agg-inherited.agg-test.ts | 4 +- .../aggregations/src/agg-nested.agg-test.ts | 4 +- .../mapping-model/aggregations/src/types.ts | 24 + .../mapping-model/map-agg-test-options.ts | 34 + .../test/mapping-model/map-agg-test.ts | 145 ++++ .../mappings/src/any-unknown.mapping-test.ts | 4 +- .../mappings/src/date.mapping-test.ts | 4 +- .../src/default-generics.mapping-test.ts | 6 +- .../src/double-type-conflict.mapping-test.ts | 6 +- .../mappings/src/enum.mapping-test.ts | 4 +- .../src/filterable-tag.mapping-test.ts | 4 +- .../mappings/src/generics.mapping-test.ts | 4 +- .../src/impossible-union.mapping-test.ts | 4 +- .../src/incompatible-type.mapping-test.ts | 4 +- .../src/index-signature.mapping-test.ts | 4 +- .../inferred-type-filterable.mapping-test.ts | 4 +- .../mappings/src/inherit-tags.mapping-test.ts | 4 +- .../src/inherited-property.mapping-test.ts | 4 +- .../mappings/src/invalid-tag.mapping-test.ts | 4 +- .../src/map-explicit-types.mapping-test.ts | 4 +- .../src/missing-premap.mapping-test.ts | 6 +- .../mappings/src/nested.mapping-test.ts | 4 +- .../mappings/src/object-union.mapping-test.ts | 4 +- .../mappings/src/paired-tags.mapping-test.ts | 4 +- .../src/sensible-defaults.mapping-test.ts | 4 +- .../mappings/src/sortable-tag.mapping-test.ts | 4 +- .../src/tags-ignore-case.mapping-test.ts | 4 +- .../mappings/src/type-alias.mapping-test.ts | 4 +- .../src/type-overrides.mapping-test.ts | 4 +- .../src/type-query.mapping-test.disabled.ts | 4 +- ...apper-inheritance.mapping-test.disabled.ts | 4 +- .../es-mapping-generator/test/mapping.spec.ts | 40 +- packages/gitlab-api/package.json | 4 +- packages/logger/package.json | 8 +- pnpm-lock.yaml | 800 +++++++----------- turbo.json | 6 +- 87 files changed, 1021 insertions(+), 823 deletions(-) create mode 100644 .syncpackrc.cjs delete mode 100644 .syncpackrc.json create mode 100644 configuration/eslint-config/copyright-header-rule.js create mode 100644 configuration/eslint-config/copyright-header-rule.spec.js create mode 100644 configuration/eslint-config/licenses/GPL-3.0-only.txt create mode 100644 configuration/eslint-config/tsconfig.json create mode 100755 coverage.mjs create mode 100644 packages/es-mapping-generator/test/common.ts delete mode 100644 packages/es-mapping-generator/test/mapping-model/MapAggTest.ts delete mode 100644 packages/es-mapping-generator/test/mapping-model/MapAggTestOptions.ts create mode 100644 packages/es-mapping-generator/test/mapping-model/aggregations/src/types.ts diff --git a/.syncpackrc.cjs b/.syncpackrc.cjs new file mode 100644 index 00000000..8f60385c --- /dev/null +++ b/.syncpackrc.cjs @@ -0,0 +1,67 @@ +// @ts-check + +/** @type {import('syncpack').RcFile} */ +const config = { + semverRange: '', + source: ['package.json', '**/package.json'], + indent: ' ', + sortFirst: [ + 'name', + 'description', + 'version', + 'type', + 'license', + 'repository', + 'author', + 'contributors', + 'keywords', + 'main', + 'types', + 'bin', + 'scripts', + 'dependencies', + 'devDependencies', + 'peerDependencies', + 'tsup', + 'prettier', + 'eslintConfig', + 'eslintIgnore', + 'nyc', + ], + versionGroups: [ + { + label: 'ES Mapping Generator Special Dependencies', + dependencies: ['typescript', 'typedoc', 'ts-node', '@types/node', 'got'], + packages: ['@openstapps/es-mapping-generator'], + isIgnored: true, + }, + /*{ + label: 'App Special Dependencies', + dependencies: ['typescript'], + packages: ['@openstapps/app'], + isIgnored: true, + },*/ + { + label: 'Should have the same version', + dependencies: ['**'], + dependencyTypes: ['workspace'], + packages: ['**'], + pinVersion: '2.1.0', + }, + { + label: 'Packages should use workspace version', + dependencies: ['@openstapps/**'], + dependencyTypes: ['prod', 'dev'], + packages: ['**'], + pinVersion: 'workspace:*', + }, + { + label: 'Packages should be synced to app', + dependencies: ['typescript', 'ts-node'], + packages: ['**'], + snapTo: ['@openstapps/app'], + }, + ], +}; + +module.exports = config; diff --git a/.syncpackrc.json b/.syncpackrc.json deleted file mode 100644 index 69c9640d..00000000 --- a/.syncpackrc.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "semverRange": "", - "source": [ - "package.json", - "**/package.json" - ], - "indent": " ", - "sortFirst": [ - "name", - "description", - "version", - "type", - "license", - "repository", - "author", - "contributors", - "keywords", - "main", - "types", - "bin", - "scripts", - "dependencies", - "devDependencies", - "peerDependencies", - "tsup", - "prettier", - "eslintConfig", - "eslintIgnore", - "nyc" - ], - "versionGroups": [ - { - "label": "ES Mapping Generator Special Dependencies", - "dependencies": [ - "typescript", - "typedoc", - "ts-node", - "@types/node", - "got" - ], - "packages": [ - "@openstapps/es-mapping-generator" - ], - "isIgnored": true - }, - { - "label": "App Special Dependencies", - "dependencies": [ - "typescript" - ], - "packages": [ - "@openstapps/app" - ], - "isIgnored": true - }, - { - "label": "Should have the same version", - "dependencies": [ - "**" - ], - "dependencyTypes": [ - "workspace" - ], - "packages": [ - "**" - ], - "pinVersion": "2.1.0" - }, - { - "label": "Packages should use workspace version", - "dependencies": [ - "@openstapps/**" - ], - "dependencyTypes": [ - "prod", - "dev" - ], - "packages": [ - "**" - ], - "pinVersion": "workspace:*" - }, - { - "label": "Packages should be synced to app", - "dependencies": [ - "typescript", - "ts-node" - ], - "packages": [ - "**" - ], - "snapTo": [ - "@openstapps/app" - ] - } - ] -} diff --git a/backend/backend/Dockerfile b/backend/backend/Dockerfile index 0ec1eefd..aad70db8 100644 --- a/backend/backend/Dockerfile +++ b/backend/backend/Dockerfile @@ -10,4 +10,4 @@ RUN npm ci && npm run build EXPOSE 3000 -CMD ["node", "./lib/cli"] +CMD ["node", "app"] diff --git a/backend/backend/package.json b/backend/backend/package.json index 6fb2fdc7..eb8ab308 100644 --- a/backend/backend/package.json +++ b/backend/backend/package.json @@ -28,7 +28,7 @@ "start:debug": "cross-env STAPPS_LOG_LEVEL=31 NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true node app.js", "test": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true STAPPS_LOG_LEVEL=0 c8 mocha", "test:integration": "docker-compose -f integration-test.yml pull && docker-compose -f integration-test.yml up --build --abort-on-container-exit --exit-code-from apicli", - "test:unit": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true STAPPS_LOG_LEVEL=0 nyc mocha --require ts-node/register --exit 'test/**/*.spec.ts'" + "test:unit": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true STAPPS_LOG_LEVEL=0 c8 mocha" }, "dependencies": { "@elastic/elasticsearch": "8.4.0", @@ -36,15 +36,15 @@ "@openstapps/core-tools": "workspace:*", "@openstapps/logger": "workspace:*", "body-parser": "1.20.2", - "cosmiconfig": "8.1.3", "cors": "2.8.5", + "cosmiconfig": "8.1.3", "express": "4.18.2", "express-prom-bundle": "6.6.0", "express-promise-router": "4.1.1", "got": "12.6.0", "moment": "2.29.4", "morgan": "1.10.0", - "nock": "13.3.0", + "nock": "13.3.1", "node-cache": "5.1.2", "node-cron": "3.0.2", "nodemailer": "6.9.1", @@ -61,7 +61,7 @@ "@openstapps/tsconfig": "workspace:*", "@testdeck/mocha": "0.3.3", "@types/body-parser": "1.19.2", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/chai-as-promised": "7.1.5", "@types/config": "3.3.0", "@types/cors": "2.8.13", @@ -77,21 +77,21 @@ "@types/sinon-express-mock": "1.3.9", "@types/supertest": "2.0.12", "@types/uuid": "8.3.4", + "c8": "7.13.0", "chai": "4.3.7", "chai-as-promised": "7.1.1", - "cross-env": "7.0.3", "conventional-changelog-cli": "2.2.2", + "cross-env": "7.0.3", + "esmock": "2.2.3", "get-port": "5.1.1", "mocha": "10.2.0", "mocked-env": "1.3.5", - "c8": "7.13.0", "redoc-cli": "0.13.20", "sinon": "15.0.4", "sinon-express-mock": "2.2.1", "supertest": "6.3.3", "tsup": "6.7.0", - "typedoc": "0.23.28", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/backend/backend/src/app.ts b/backend/backend/src/app.ts index 123c32a7..b26a65e3 100644 --- a/backend/backend/src/app.ts +++ b/backend/backend/src/app.ts @@ -39,6 +39,7 @@ import {virtualPluginRoute} from './routes/virtual-plugin-route.js'; import {BulkStorage} from './storage/bulk-storage.js'; import {DatabaseConstructor} from './storage/database.js'; import {backendConfig} from './config.js'; +import {fileURLToPath} from 'url'; /** * Configure the backend @@ -143,9 +144,9 @@ export async function configureApp(app: Express, databases: {[name: string]: Dat }); // validate config file + const directory = path.dirname(fileURLToPath(import.meta.url)); await validator.addSchemas( - // eslint-disable-next-line unicorn/prefer-module - path.join(path.dirname(require.resolve('@openstapps/core/package.json')), 'lib', 'schema'), + path.join(directory, '..', 'node_modules', '@openstapps', 'core', 'lib', 'schema'), ); // validate the config file diff --git a/backend/backend/src/routes/virtual-plugin-route.ts b/backend/backend/src/routes/virtual-plugin-route.ts index 7e8b0571..22b93d4d 100644 --- a/backend/backend/src/routes/virtual-plugin-route.ts +++ b/backend/backend/src/routes/virtual-plugin-route.ts @@ -49,7 +49,7 @@ export async function virtualPluginRoute(request: Request, plugin: SCPluginMetaD // noinspection ExceptionCaughtLocallyJS throw new SCValidationErrorResponse(responseValidation.errors, isTestEnvironment); } - return response; + return responseBody as object; } catch (error) { // wrap exact error inside of the internal server error response throw new SCInternalServerErrorResponse(error, isTestEnvironment); diff --git a/backend/backend/src/storage/elasticsearch/monitoring.ts b/backend/backend/src/storage/elasticsearch/monitoring.ts index 214e63da..72a129f3 100644 --- a/backend/backend/src/storage/elasticsearch/monitoring.ts +++ b/backend/backend/src/storage/elasticsearch/monitoring.ts @@ -150,3 +150,6 @@ export async function setUp( Logger.log(`Scheduled ${monitoringConfig.watchers.length} watches`); } + +// do this for esm mocking +export default {setUp}; diff --git a/backend/backend/src/storage/elasticsearch/query/boost/boost-functions.ts b/backend/backend/src/storage/elasticsearch/query/boost/boost-functions.ts index eeb711ba..a47e698e 100644 --- a/backend/backend/src/storage/elasticsearch/query/boost/boost-functions.ts +++ b/backend/backend/src/storage/elasticsearch/query/boost/boost-functions.ts @@ -14,7 +14,7 @@ */ import {QueryDslFunctionScoreContainer} from '@elastic/elasticsearch/lib/api/types'; import {SCBackendConfigurationSearchBoostingType} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Creates boost functions for all type boost configurations diff --git a/backend/backend/src/storage/elasticsearch/query/boost/scoring-functions.ts b/backend/backend/src/storage/elasticsearch/query/boost/scoring-functions.ts index 58330e03..3dcf7e07 100644 --- a/backend/backend/src/storage/elasticsearch/query/boost/scoring-functions.ts +++ b/backend/backend/src/storage/elasticsearch/query/boost/scoring-functions.ts @@ -14,7 +14,7 @@ */ import {QueryDslFunctionScoreContainer} from '@elastic/elasticsearch/lib/api/types'; import {SCBackendConfigurationSearchBoostingContext, SCSearchContext} from '@openstapps/core'; -import {buildFunctionsForBoostingTypes} from './boost-functions'; +import {buildFunctionsForBoostingTypes} from './boost-functions.js'; /** * Builds scoring functions from boosting config diff --git a/backend/backend/src/storage/elasticsearch/query/filter.ts b/backend/backend/src/storage/elasticsearch/query/filter.ts index 70b7b8d7..a276cad6 100644 --- a/backend/backend/src/storage/elasticsearch/query/filter.ts +++ b/backend/backend/src/storage/elasticsearch/query/filter.ts @@ -14,13 +14,13 @@ */ import {QueryDslQueryContainer} from '@elastic/elasticsearch/lib/api/types'; import {SCSearchFilter} from '@openstapps/core'; -import {buildBooleanFilter} from './filters/boolean'; -import {buildAvailabilityFilter} from './filters/availability'; -import {buildDateRangeFilter} from './filters/date-range'; -import {buildDistanceFilter} from './filters/distance'; -import {buildGeoFilter} from './filters/geo'; -import {buildNumericRangeFilter} from './filters/numeric-range'; -import {buildValueFilter} from './filters/value'; +import {buildBooleanFilter} from './filters/boolean.js'; +import {buildAvailabilityFilter} from './filters/availability.js'; +import {buildDateRangeFilter} from './filters/date-range.js'; +import {buildDistanceFilter} from './filters/distance.js'; +import {buildGeoFilter} from './filters/geo.js'; +import {buildNumericRangeFilter} from './filters/numeric-range.js'; +import {buildValueFilter} from './filters/value.js'; /** * Converts Array of Filters to elasticsearch query-syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/availability.ts b/backend/backend/src/storage/elasticsearch/query/filters/availability.ts index 5db3b2b9..95ec8753 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/availability.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/availability.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {SCSearchAvailabilityFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts an availability filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/boolean.ts b/backend/backend/src/storage/elasticsearch/query/filters/boolean.ts index 2a9a9f15..0044bdd3 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/boolean.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/boolean.ts @@ -14,8 +14,8 @@ */ import {QueryDslBoolQuery} from '@elastic/elasticsearch/lib/api/types'; import {SCSearchBooleanFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; -import {buildFilter} from '../filter'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; +import {buildFilter} from '../filter.js'; /** * Converts a boolean filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/date-range.ts b/backend/backend/src/storage/elasticsearch/query/filters/date-range.ts index 1ce0757e..3bf61629 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/date-range.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/date-range.ts @@ -14,7 +14,7 @@ */ import {QueryDslDateRangeQuery} from '@elastic/elasticsearch/lib/api/types'; import {SCSearchDateRangeFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts a date range filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/distance.ts b/backend/backend/src/storage/elasticsearch/query/filters/distance.ts index b2ceb71b..e833b801 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/distance.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/distance.ts @@ -14,7 +14,7 @@ */ import {QueryDslGeoDistanceQuery} from '@elastic/elasticsearch/lib/api/types'; import {SCSearchDistanceFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts a distance filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/geo.ts b/backend/backend/src/storage/elasticsearch/query/filters/geo.ts index 9196d220..d2e96aca 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/geo.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/geo.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {SCGeoFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts a geo filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/numeric-range.ts b/backend/backend/src/storage/elasticsearch/query/filters/numeric-range.ts index 812cb1be..2b94ef03 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/numeric-range.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/numeric-range.ts @@ -15,7 +15,7 @@ import {QueryDslNumberRangeQuery} from '@elastic/elasticsearch/lib/api/types'; import {SCSearchNumericRangeFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts a numeric range filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/filters/value.ts b/backend/backend/src/storage/elasticsearch/query/filters/value.ts index 60288ecc..2da2b124 100644 --- a/backend/backend/src/storage/elasticsearch/query/filters/value.ts +++ b/backend/backend/src/storage/elasticsearch/query/filters/value.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {SCSearchValueFilter} from '@openstapps/core'; -import {QueryDslSpecificQueryContainer} from '../../types/util'; +import {QueryDslSpecificQueryContainer} from '../../types/util.js'; /** * Converts a value filter to elasticsearch syntax diff --git a/backend/backend/src/storage/elasticsearch/query/query.ts b/backend/backend/src/storage/elasticsearch/query/query.ts index 74e8c982..e5db2340 100644 --- a/backend/backend/src/storage/elasticsearch/query/query.ts +++ b/backend/backend/src/storage/elasticsearch/query/query.ts @@ -26,7 +26,7 @@ import {buildScoringFunctions} from './boost/scoring-functions.js'; * @param elasticsearchConfig Elasticsearch configuration * @returns ElasticsearchQuery (body of a search-request) */ -export function buildQuery( +export const buildQuery = function buildQuery( parameters: SCSearchQuery, defaultConfig: SCConfigFile, elasticsearchConfig: ElasticsearchConfig, @@ -111,4 +111,4 @@ export function buildQuery( } return functionScoreQuery; -} +}; diff --git a/backend/backend/src/storage/elasticsearch/query/sort.ts b/backend/backend/src/storage/elasticsearch/query/sort.ts index ed77635c..77193843 100644 --- a/backend/backend/src/storage/elasticsearch/query/sort.ts +++ b/backend/backend/src/storage/elasticsearch/query/sort.ts @@ -25,7 +25,7 @@ import {buildPriceSort} from './sort/price.js'; * @param sorts Sorting rules to apply to the data that is being queried * @returns an array of sort queries */ -export function buildSort(sorts: SCSearchSort[]): Sort { +export const buildSort = function buildSort(sorts: SCSearchSort[]): Sort { return sorts.map(sort => { switch (sort.type) { case 'generic': { @@ -42,4 +42,4 @@ export function buildSort(sorts: SCSearchSort[]): Sort { } } }); -} +}; diff --git a/backend/backend/test/common.ts b/backend/backend/test/common.ts index 1c28901f..d576ae48 100644 --- a/backend/backend/test/common.ts +++ b/backend/backend/test/common.ts @@ -16,7 +16,6 @@ import {SCConfigFile, SCSearchQuery, SCSearchResponse, SCThings, SCThingType, SCUuid} from '@openstapps/core'; import {Express} from 'express'; import moment from 'moment'; -import {getIndexUID} from '../src/storage/elasticsearch/util.js'; import {configureApp} from '../src/app.js'; import express from 'express'; import http from 'http'; @@ -26,6 +25,7 @@ import getPort from 'get-port'; import {Database} from '../src/storage/database.js'; import {v4} from 'uuid'; import {backendConfig} from '../src/config.js'; +import {getIndexUID} from '../src/storage/elasticsearch/util/index.js'; /** * Adds routers and configures an (express) app diff --git a/backend/backend/test/storage/elasticsearch/query.spec.ts b/backend/backend/test/storage/elasticsearch/query.spec.ts index 837baada..589256a3 100644 --- a/backend/backend/test/storage/elasticsearch/query.spec.ts +++ b/backend/backend/test/storage/elasticsearch/query.spec.ts @@ -31,8 +31,8 @@ import {buildQuery} from '../../../src/storage/elasticsearch/query/query.js'; import {buildSort} from '../../../src/storage/elasticsearch/query/sort.js'; import {ElasticsearchConfig} from '../../../src/storage/elasticsearch/types/elasticsearch-config.js'; import {QueryDslSpecificQueryContainer} from '../../../src/storage/elasticsearch/types/util.js'; -import {configFile} from '../../../src/common.js'; import {SortCombinations} from '@elastic/elasticsearch/lib/api/types'; +import {backendConfig} from '../../../src/config.js'; describe('Query', function () { describe('buildBooleanFilter', function () { @@ -363,9 +363,7 @@ describe('Query', function () { const filter = buildFilter(rawFilter) as QueryDslSpecificQueryContainer<'range'>; expect(filter).to.deep.equal(expectedFilter); for (const bound of ['g', 'l']) { - // @ts-expect-error implicit any const inclusiveExists = typeof filter.range.price[`${bound}t`] !== 'undefined'; - // @ts-expect-error implicit any const exclusiveExists = typeof filter.range.price[`${bound}te`] !== 'undefined'; // only one should exist at the same time diff --git a/backend/database/README.md b/backend/database/README.md index d9ad4c7e..8d42a84e 100644 --- a/backend/database/README.md +++ b/backend/database/README.md @@ -1,7 +1,9 @@ -<<<<<<<< HEAD:README.md # Open StApps Monorepo + ======== + # Database docker image + [![pipeline status](https://img.shields.io/gitlab/pipeline/openstapps/database.svg?style=flat-square)](https://gitlab.com/openstapps/database/commits/main) [![license)](https://img.shields.io/badge/license-GPL--3.0--only-lightgrey.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) @@ -14,6 +16,7 @@ Additionally the [ICU Analysis Plugin](https://www.elastic.co/guide/en/elasticse installed to provide unicode collation which is used for sorting. ## Usage for testing purposes: + Run it with this command: `docker run -d -p 9200:9200 registry.gitlab.com/openstapps/database:master` Currently there is an issue with elasticsearch and java on linux machines that temporarly can be solved by running: @@ -21,6 +24,5 @@ Currently there is an issue with elasticsearch and java on linux machines that t To set it permanently, you will have to add it to `/etc/sysctl.conf` on machines that run systemd as a init deamon. ## For production use: -Please set `vm.max_map_count=262144` permanently. It is explained [here](https://www.elastic.co/guide/en/elasticsearch/reference/8.4/docker.html#docker-prod-prerequisites) ->>>>>>>> database/main:backend/database/README.md +Please set `vm.max_map_count=262144` permanently. It is explained [here](https://www.elastic.co/guide/en/elasticsearch/reference/8.4/docker.html#docker-prod-prerequisites) diff --git a/backend/proxy/package.json b/backend/proxy/package.json index 7f5d0e78..ce980936 100644 --- a/backend/proxy/package.json +++ b/backend/proxy/package.json @@ -27,14 +27,14 @@ "@openstapps/logger": "workspace:*", "@types/config": "3.3.0", "@types/dockerode": "3.3.17", - "@types/node": "14.18.36", + "@types/node": "18.15.3", "@types/sha1": "1.1.3", "config": "3.3.9", "dockerode": "3.3.5", "is-cidr": "4.0.2", "mustache": "4.2.0", "semver": "7.3.8", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "devDependencies": { "@openstapps/eslint-config": "workspace:*", @@ -42,24 +42,23 @@ "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", "@types/chai": "4.3.5", - "@types/sinon-chai": "3.2.9", "@types/config": "3.3.0", - "@types/sinon": "10.0.14", - "@types/dockerode": "3.3.14", - "@types/mustache": "4.2.2", + "@types/dockerode": "3.3.17", "@types/mocha": "10.0.1", + "@types/mustache": "4.2.2", "@types/node": "18.15.3", "@types/proxyquire": "1.3.28", "@types/semver": "7.3.13", "@types/sha1": "1.1.3", + "@types/sinon": "10.0.14", + "@types/sinon-chai": "3.2.9", + "c8": "7.13.0", "chai": "4.3.7", + "mocha": "10.2.0", "sinon": "15.0.4", "sinon-chai": "3.7.0", - "mocha": "10.2.0", - "c8": "7.13.0", "ts-node": "10.9.1", - "tsup": "6.7.0", - "typedoc": "0.23.28" + "tsup": "6.7.0" }, "tsup": { "entry": [ diff --git a/configuration/backend-config/package.json b/configuration/backend-config/package.json index e1b57275..0dee007e 100644 --- a/configuration/backend-config/package.json +++ b/configuration/backend-config/package.json @@ -6,12 +6,14 @@ "license": "GPL-3.0-only", "author": "Thea Schöbl ", "devDependencies": { - "@openstapps/tsconfig": "workspace:*", + "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", - "@openstapps/eslint-config": "workspace:*" + "@openstapps/tsconfig": "workspace:*" }, "prettier": "@openstapps/prettier-config", "eslintConfig": { - "extends": ["@openstapps/eslint-configt"] + "extends": [ + "@openstapps/eslint-configt" + ] } } diff --git a/configuration/eslint-config/copyright-header-rule.js b/configuration/eslint-config/copyright-header-rule.js new file mode 100644 index 00000000..35330a2c --- /dev/null +++ b/configuration/eslint-config/copyright-header-rule.js @@ -0,0 +1,115 @@ +// @ts-check +const fs = require("fs"); +const path = require("node:path"); +const child_process = require("child_process"); + +/** @type {import('eslint').Rule.RuleModule} */ +const copyrightHeaderRule = { + meta: { + schema: [{ + type: 'object', + properties: { + author: {type: 'string'}, + license: {type: 'string'}, + fixedDate: {type: 'string'}, + }, + required: ['author', 'license'] + }], + type: 'problem', + docs: { + description: 'Files should start with a copyright header' + }, + messages: { + missing: 'Missing a copyright header at the start of the file', + invalid: 'Invalid copyright header', + tryThisHeader: 'Use this copyright header:\n\n/*{{expected}}*/' + }, + fixable: "code", + hasSuggestions: true, + }, + create: function(context) { + const code = context.getSourceCode() + const {author, license, fixedDate} = context.options[0] + + const year = fixedDate ? new Date(fixedDate) : getAuthorDate(context.getPhysicalFilename()) + if (!year) return {} + + const expected = license + .replace('{{year}}', year.getFullYear().toString()) + .replace('{{author}}', author) + + const comment = code.getAllComments().find(it => it.type === 'Block') + if (!comment) { + context.report({ + loc: { + line: 0, + column: 0, + }, + messageId: 'missing', + suggest: [ + { + messageId: 'tryThisHeader', + data: {expected}, + fix(fixer) { + return fixer.insertTextBeforeRange([0, 0], `/*${expected}*/\n`) + } + } + ] + }) + return {} + } + + if (comment.value !== expected && comment.loc && comment.range) { + const range = comment.range + context.report({ + loc: comment.loc, + messageId: 'invalid', + suggest: [ + { + messageId: 'tryThisHeader', + data: {expected}, + fix(fixer) { + return fixer.replaceTextRange(range, `/*${expected}*/`) + } + } + ] + }) + } + + return {} + } +} + +/** + * Retrieves the last edited date of a file + * + * Uses git history if available, last modified date otherwise. + * + * @param filePath {string} + * @return {Date | undefined} + */ +function getAuthorDate(filePath) { + // just to be on the safe side + const sanitizedPath = path.resolve(filePath) + + try { + const result = child_process.execSync(`git log -1 --pretty="format:%ad" "${sanitizedPath}"`, { + cwd: path.dirname(sanitizedPath), + stdio: 'pipe', + }) + const date = new Date(result.toString()) + if (!Number.isNaN(date.getTime())) { + return date + } + } catch {} + + try { + const stats = fs.statSync(sanitizedPath) + const date = new Date(stats.mtime) + return Number.isNaN(date.getTime()) ? undefined : date + } catch {} + + return undefined +} + +module.exports = copyrightHeaderRule diff --git a/configuration/eslint-config/copyright-header-rule.spec.js b/configuration/eslint-config/copyright-header-rule.spec.js new file mode 100644 index 00000000..a28dae1e --- /dev/null +++ b/configuration/eslint-config/copyright-header-rule.spec.js @@ -0,0 +1,58 @@ +// @ts-check +"use strict" + +const rule = require('./copyright-header-rule') + +const RuleTester = require('eslint').RuleTester +const ruleTester = new RuleTester() + +const options = [{ + fixedDate: '2023', + author: 'Me', + license: `*\n * Copyright {{year}} {{author}}\n *\n * contents\n `, +}] + +ruleTester.run('copyright-header', rule, { + valid: [ + { + code: `/**\n * Copyright 2023 Me\n *\n * contents\n */`, + options, + }, + { + code: `// @ts-check\n\n\n/**\n * Copyright 2023 Me\n *\n * contents\n */`, + options, + } + ], + invalid: [ + { + code: `// bla\n/**\n * Copyright 2022 Me\n *\n * contents\n */\n\nvar s = "abc"`, + options, + errors: [ + { + messageId: 'invalid', + suggestions: [ + { + messageId: 'tryThisHeader', + output: '// bla\n/**\n * Copyright 2023 Me\n *\n * contents\n */\n\nvar s = "abc"' + } + ] + } + ], + }, + { + code: 'var s = "abc"', + options, + errors: [ + { + messageId: 'missing', + suggestions: [ + { + messageId: 'tryThisHeader', + output: '/**\n * Copyright 2023 Me\n *\n * contents\n */\nvar s = "abc"' + } + ] + } + ] + } + ] +}) diff --git a/configuration/eslint-config/index.js b/configuration/eslint-config/index.js index a1e38064..b06dd09c 100644 --- a/configuration/eslint-config/index.js +++ b/configuration/eslint-config/index.js @@ -1,4 +1,7 @@ -module.exports = { +// @ts-check + +/** @type {import('eslint').Linter.Config} */ +const config = { root: true, ignorePatterns: ['projects/**/*'], parserOptions: { @@ -93,3 +96,5 @@ module.exports = { }, ], }; + +module.exports = config diff --git a/configuration/eslint-config/licenses/GPL-3.0-only.txt b/configuration/eslint-config/licenses/GPL-3.0-only.txt new file mode 100644 index 00000000..359a1741 --- /dev/null +++ b/configuration/eslint-config/licenses/GPL-3.0-only.txt @@ -0,0 +1,14 @@ +Copyright (C) {{year}} {{author}} + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/configuration/eslint-config/package.json b/configuration/eslint-config/package.json index 97fa3004..7e04abbb 100644 --- a/configuration/eslint-config/package.json +++ b/configuration/eslint-config/package.json @@ -10,6 +10,12 @@ "Rainer Killinger " ], "main": "index.js", + "devDependencies": { + "@openstapps/tsconfig": "workspace:*", + "@types/node": "18.15.3", + "eslint": "8.33.0", + "typescript": "4.6.4" + }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "5.49.0", "@typescript-eslint/parser": "5.49.0", diff --git a/configuration/eslint-config/tsconfig.json b/configuration/eslint-config/tsconfig.json new file mode 100644 index 00000000..e5536352 --- /dev/null +++ b/configuration/eslint-config/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@openstapps/tsconfig", + "compilerOptions": { + "allowJs": true, + "types": ["node"] + }, + "include": ["*.js"] +} diff --git a/configuration/projectmanagement/package.json b/configuration/projectmanagement/package.json index 7bdd7081..0762def2 100644 --- a/configuration/projectmanagement/package.json +++ b/configuration/projectmanagement/package.json @@ -32,27 +32,27 @@ "@slack/web-api": "6.8.1", "commander": "10.0.0", "date-fns": "2.29.3", - "glob": "10.2.1", + "glob": "10.2.6", "mustache": "4.2.0" }, "devDependencies": { "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/chai-as-promised": "7.1.5", "@types/glob": "8.0.1", "@types/mocha": "10.0.1", "@types/mustache": "4.2.2", "@types/node": "18.15.3", "@types/tmp": "0.2.3", + "c8": "7.13.0", "chai": "4.3.7", "chai-as-promised": "7.1.1", "mocha": "10.2.0", - "c8": "7.13.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/coverage.mjs b/coverage.mjs new file mode 100755 index 00000000..31676c44 --- /dev/null +++ b/coverage.mjs @@ -0,0 +1,11 @@ +#!/usr/bin/env node +import {promisify} from 'node:util'; +import {glob} from 'glob'; +import {exec} from 'node:child_process'; +import {mkdir} from 'fs/promises'; + +const files = await glob('./*/*/coverage/cobertura-coverage.xml'); +const args = files.map(it => `${it.split('/', 2)[1]}='${it}'`); +await mkdir('./coverage'); + +console.log(await promisify(exec)(`cobertura-merge -o ./coverage/cobertura-coverage.xml ${args.join(' ')}`)); diff --git a/examples/minimal-connector/package.json b/examples/minimal-connector/package.json index ff5d36be..d225a0e4 100644 --- a/examples/minimal-connector/package.json +++ b/examples/minimal-connector/package.json @@ -35,7 +35,7 @@ "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", "@testdeck/mocha": "0.3.3", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/chai-as-promised": "7.1.5", "@types/mocha": "10.0.1", "@types/node": "18.15.3", @@ -43,11 +43,11 @@ "chai-as-promised": "7.1.1", "conventional-changelog-cli": "2.2.2", "mocha": "10.2.0", - "nock": "13.3.0", + "nock": "13.3.1", "nyc": "15.1.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/examples/minimal-plugin/package.json b/examples/minimal-plugin/package.json index cd7ea3c8..f93da549 100644 --- a/examples/minimal-plugin/package.json +++ b/examples/minimal-plugin/package.json @@ -31,11 +31,10 @@ "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/express": "4.17.16", + "@types/express": "4.17.17", "@types/node": "18.15.3", "tsup": "6.7.0", - "typedoc": "0.23.28", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/frontend/app/package.json b/frontend/app/package.json index 6b97cdf2..a7e582e0 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -148,7 +148,7 @@ "eslint-plugin-prettier": "4.2.1", "eslint-plugin-unicorn": "45.0.2", "fontkit": "2.0.2", - "glob": "10.2.1", + "glob": "10.2.6", "is-docker": "2.2.1", "jasmine-core": "4.5.0", "jasmine-spec-reporter": "7.0.0", diff --git a/package.json b/package.json index ad6701a8..8ec11b7a 100644 --- a/package.json +++ b/package.json @@ -11,17 +11,19 @@ "lint:fix": "dotenv -c -- turbo run lint:fix", "publish-packages": "dotenv -c -- turbo run build format lint test && changeset version && changeset publish", "syncpack": "syncpack list-mismatches && syncpack lint-semver-ranges", - "syncpack:fix": "node sync.mjs && syncpack format && syncpack fix-mismatches", - "test": "dotenv -c -- turbo run test" + "syncpack:fix": "syncpack format && syncpack fix-mismatches", + "test": "dotenv -c -- turbo run test && node coverage.mjs" }, "devDependencies": { - "@changesets/cli": "2.26.0", + "@changesets/cli": "2.26.1", + "cobertura-merge": "1.0.4", "deepmerge": "4.3.1", - "dotenv-cli": "7.1.0", - "glob": "10.2.1", + "dotenv-cli": "7.2.1", + "glob": "10.2.6", "package-sync-cli": "1.3.2", - "syncpack": "9.8.4", - "turbo": "1.8.3", - "typedoc": "0.23.28" + "syncpack": "10.1.0", + "turbo": "1.10.0", + "typedoc": "0.24.7", + "typescript": "4.6.4" } } diff --git a/packages/api/package.json b/packages/api/package.json index c0c42b97..19d23f4b 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -36,7 +36,7 @@ "@types/cli-progress": "3.11.0", "@types/express": "4.17.17", "@types/morgan": "1.9.4", - "@types/node": "14.18.43", + "@types/node": "18.15.3", "@types/traverse": "0.6.32", "@types/uuid": "8.3.4", "@types/wait-on": "5.3.1", @@ -63,10 +63,11 @@ "@types/chai-as-promised": "7.1.5", "@types/chai-spies": "1.0.3", "@types/cli-progress": "3.11.0", - "@types/express": "4.17.16", + "@types/express": "4.17.17", "@types/fs-extra": "9.0.13", "@types/json-schema": "7.0.11", "@types/mocha": "10.0.1", + "c8": "7.13.0", "chai": "4.3.7", "chai-as-promised": "7.1.1", "chai-spies": "1.0.0", @@ -74,11 +75,9 @@ "fs-extra": "10.1.0", "mocha": "10.2.0", "nock": "13.3.1", - "c8": "7.13.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typedoc": "0.23.28", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "peerDependencies": { "@openstapps/core": "workspace:*" @@ -98,8 +97,5 @@ "extends": [ "@openstapps" ] - }, - "nyc": { - "extends": "@openstapps/nyc-config" } } diff --git a/packages/collection-utils/package.json b/packages/collection-utils/package.json index ac17dc1f..97a19d4d 100644 --- a/packages/collection-utils/package.json +++ b/packages/collection-utils/package.json @@ -16,15 +16,15 @@ "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/node": "18.15.3", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/mocha": "10.0.1", + "@types/node": "18.15.3", "c8": "7.13.0", "chai": "4.3.7", "mocha": "10.2.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/packages/core-tools/package.json b/packages/core-tools/package.json index 24733acb..c3f1a3a6 100644 --- a/packages/core-tools/package.json +++ b/packages/core-tools/package.json @@ -41,20 +41,20 @@ "@openstapps/easy-ast": "workspace:*", "@openstapps/logger": "workspace:*", "ajv": "8.12.0", - "re2": "1.18.0", "better-ajv-errors": "1.2.0", "commander": "10.0.0", "deepmerge": "4.3.1", "del": "6.1.1", "flatted": "3.2.7", "fs-extra": "10.1.0", - "glob": "10.2.1", + "glob": "10.2.6", "got": "12.6.0", "humanize-string": "3.0.0", "json-schema": "0.4.0", "mustache": "4.2.0", "openapi-types": "12.1.0", "plantuml-encoder": "1.4.0", + "re2": "1.18.0", "toposort": "2.0.2", "ts-json-schema-generator": "1.2.0" }, @@ -63,20 +63,20 @@ "@openstapps/nyc-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/fs-extra": "9.0.13", "@types/glob": "8.0.1", "@types/json-schema": "7.0.11", "@types/mocha": "10.0.1", "@types/mustache": "4.2.2", "@types/node": "18.15.3", + "c8": "7.13.0", "chai": "4.3.7", "mocha": "10.2.0", - "c8": "7.13.0", - "nock": "13.3.0", - "tsup": "6.7.0", + "nock": "13.3.1", "ts-node": "10.9.1", - "typescript": "4.8.4" + "tsup": "6.7.0", + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/packages/core/package.json b/packages/core/package.json index 44ae78b8..c98de349 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -46,28 +46,28 @@ "rfdc": "1.3.0" }, "devDependencies": { + "@openstapps/easy-ast": "workspace:*", "@openstapps/es-mapping-generator": "workspace:*", "@openstapps/eslint-config": "workspace:*", "@openstapps/logger": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@openstapps/easy-ast": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/json-patch": "0.0.30", "@types/json-schema": "7.0.11", "@types/mocha": "10.0.1", "@types/node": "18.15.3", "@typescript-eslint/eslint-plugin": "5.49.0", "@typescript-eslint/parser": "5.49.0", + "c8": "7.13.0", "chai": "4.3.7", "conditional-type-checks": "1.0.6", "mocha": "10.2.0", - "c8": "7.13.0", "source-map-support": "0.5.21", "surge": "0.23.1", "ts-node": "10.9.1", "tsup": "6.7.0", - "typescript": "4.8.4" + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/packages/easy-ast/package.json b/packages/easy-ast/package.json index e08aea17..d5363a30 100644 --- a/packages/easy-ast/package.json +++ b/packages/easy-ast/package.json @@ -19,14 +19,14 @@ "dependencies": { "@openstapps/collection-utils": "workspace:*", "@openstapps/logger": "workspace:*", - "glob": "10.2.1", - "typescript": "4.8.4" + "glob": "10.2.6", + "typescript": "4.6.4" }, "devDependencies": { "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/mocha": "10.0.1", "@types/node": "18.15.3", "c8": "7.13.0", diff --git a/packages/es-mapping-generator/package.json b/packages/es-mapping-generator/package.json index c2ba5f51..df64ef8d 100644 --- a/packages/es-mapping-generator/package.json +++ b/packages/es-mapping-generator/package.json @@ -28,17 +28,17 @@ "typescript": "3.8.3" }, "devDependencies": { + "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@testdeck/mocha": "0.3.3", - "@openstapps/eslint-config": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/mocha": "10.0.1", "@types/node": "14.18.38", "@types/rimraf": "3.0.2", + "c8": "7.13.0", "chai": "4.3.7", "mocha": "10.2.0", - "c8": "7.13.0", - "nock": "13.3.0", + "nock": "13.3.1", "rimraf": "5.0.0", "ts-node": "10.9.1" }, diff --git a/packages/es-mapping-generator/test/aggregations.spec.ts b/packages/es-mapping-generator/test/aggregations.spec.ts index 7a284334..2e478dfd 100644 --- a/packages/es-mapping-generator/test/aggregations.spec.ts +++ b/packages/es-mapping-generator/test/aggregations.spec.ts @@ -12,45 +12,22 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {readdirSync, statSync} from 'fs'; -import path from 'path'; -import {MapAggTest} from './mapping-model/map-agg-test.js'; -import {MapAggTestOptions} from './mapping-model/map-agg-test-options.js'; +import {MapAggTest} from './mapping-model/map-agg-test'; +import {MapAggTestOptions} from './mapping-model/map-agg-test-options'; +import {expandPathToFilesSync} from './common'; describe('ES Aggregation Gen', async () => { const magAppInstance = new MapAggTest('aggregations'); - /** - * Expand a path to a list of all files deeply contained in it - */ - function expandPathToFilesSync(sourcePath: string, accept: (fileName: string) => boolean): string[] { - const fullPath = path.resolve(sourcePath); - const directory = statSync(fullPath); - - return directory.isDirectory() - ? // eslint-disable-next-line unicorn/prefer-spread - ([] as string[]).concat( - ...readdirSync(fullPath).map(fragment => - expandPathToFilesSync(path.resolve(sourcePath, fragment), accept), - ), - ) - : [fullPath].filter(accept); - } - for (const file of expandPathToFilesSync('./test/mapping-model/aggregations/', file => file.endsWith('agg-test.ts'), )) { - try { - // eslint-disable-next-line unicorn/no-await-expression-member - const test = (await import(file))['testConfig'] as MapAggTestOptions; + // eslint-disable-next-line unicorn/no-await-expression-member + const test = (await import(file))['testConfig'] as MapAggTestOptions; - it(test.testName, function () { - magAppInstance.testInterfaceAgainstPath(test); - }); - } catch (error) { - console.error('UNHANDLED REJECTION', (error as any).stack); - process.exit(1); - } + it(test.testName, function () { + magAppInstance.testInterfaceAgainstPath(test); + }); } }) .timeout(20_000) diff --git a/packages/es-mapping-generator/test/common.ts b/packages/es-mapping-generator/test/common.ts new file mode 100644 index 00000000..fc4f51db --- /dev/null +++ b/packages/es-mapping-generator/test/common.ts @@ -0,0 +1,19 @@ +import path from 'path'; +import {readdirSync, statSync} from 'fs'; + +/** + * Expand a path to a list of all files deeply contained in it + */ +export function expandPathToFilesSync(sourcePath: string, accept: (fileName: string) => boolean): string[] { + const fullPath = path.resolve(sourcePath); + const directory = statSync(fullPath); + + return directory.isDirectory() + ? // eslint-disable-next-line unicorn/prefer-spread + ([] as string[]).concat( + ...readdirSync(fullPath).map(fragment => + expandPathToFilesSync(path.resolve(sourcePath, fragment), accept), + ), + ) + : [fullPath].filter(accept); +} diff --git a/packages/es-mapping-generator/test/mapping-model/MapAggTest.ts b/packages/es-mapping-generator/test/mapping-model/MapAggTest.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/es-mapping-generator/test/mapping-model/MapAggTestOptions.ts b/packages/es-mapping-generator/test/mapping-model/MapAggTestOptions.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-array.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-array.agg-test.ts index 6e46afe1..4d77cf70 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-array.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-array.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global-nested.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global-nested.agg-test.ts index 9e942d02..94d3d2f8 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global-nested.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global-nested.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global.agg-test.ts index d4114879..8ec9a2af 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-global.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-global.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-global.agg-test.ts index bc70f9af..e17048d2 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-global.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-global.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-overwritten.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-overwritten.agg-test.ts index 7288785f..cf2d8a67 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-overwritten.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited-overwritten.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited.agg-test.ts index 5fdcb114..057f2c86 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-inherited.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-nested.agg-test.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-nested.agg-test.ts index 18b3f886..d4d72199 100644 --- a/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-nested.agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/agg-nested.agg-test.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/aggregations/src/types.ts b/packages/es-mapping-generator/test/mapping-model/aggregations/src/types.ts new file mode 100644 index 00000000..1582345e --- /dev/null +++ b/packages/es-mapping-generator/test/mapping-model/aggregations/src/types.ts @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +export enum ThingType { + AggArray = 'agg array', + AggGlobal = 'agg global', + AggGlobalNested = 'agg global nested', + AggNested = 'agg nested', + AggInherited = 'agg inherited', + AggInheritedGlobal = 'agg inherited global', + AggInheritedOverwritten = 'agg inherited overwritten', +} diff --git a/packages/es-mapping-generator/test/mapping-model/map-agg-test-options.ts b/packages/es-mapping-generator/test/mapping-model/map-agg-test-options.ts index e69de29b..94e851e4 100644 --- a/packages/es-mapping-generator/test/mapping-model/map-agg-test-options.ts +++ b/packages/es-mapping-generator/test/mapping-model/map-agg-test-options.ts @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {MappingDynamicTemplate, MappingProperty} from '@elastic/elasticsearch/lib/api/types'; + +export interface MapAggTestOptions { + testName: string; + name: string; + agg?: { + fields?: string[]; + globals?: string[]; + }; + map?: MinimalMappingDescription; + err?: string[]; + ignoredTags?: string[]; +} + +export interface MinimalMappingDescription { + maps?: { + [name: string]: MappingProperty; + }; + dynamicTemplates?: Record[]; +} diff --git a/packages/es-mapping-generator/test/mapping-model/map-agg-test.ts b/packages/es-mapping-generator/test/mapping-model/map-agg-test.ts index e69de29b..c98d8973 100644 --- a/packages/es-mapping-generator/test/mapping-model/map-agg-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/map-agg-test.ts @@ -0,0 +1,145 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import { + generateTemplate, + getProjectReflection, + AggregationSchema, + ESNestedAggregation, + ElasticsearchTemplateCollection, + settings, +} from '../../src'; +import path from 'path'; +import {expect} from 'chai'; +import {ProjectReflection} from 'typedoc'; +import {MapAggTestOptions, MinimalMappingDescription} from './map-agg-test-options'; + +export class MapAggTest { + mapping_model_path!: string; + + reflection!: ProjectReflection; + + constructor(directory: string) { + // eslint-disable-next-line unicorn/prefer-module + this.mapping_model_path = path.resolve(__dirname, directory); + this.reflection = getProjectReflection(this.mapping_model_path); + } + + testInterfaceAgainstPath(options: MapAggTestOptions) { + const template = generateTemplate(this.reflection, options.ignoredTags ?? [], false, [options.name]); + + if (typeof options.err === 'undefined') { + expect(template.errors).to.be.deep.equal([], 'Unexpected Error!'); + } else { + for (const error of template.errors) { + expect(options.err).to.include(error, 'Unexpected Error!'); + } + } + + if (typeof options.agg !== 'undefined') { + const expectedAggSchema = MapAggTest.buildAggregation( + options.name, + options.agg.fields, + options.agg.globals, + ); + expect(template.aggregations).to.be.deep.equal(expectedAggSchema, 'Aggregation schema not equal!'); + } + + if (typeof options.map !== 'undefined') { + const expectedMappingSchema = MapAggTest.buildMapping(options.name, options.map); + expect(template.mappings).to.be.deep.equal(expectedMappingSchema, 'Mapping schema not equal!'); + } + } + + static buildAggregation(name: string, fields?: string[], globals?: string[]): AggregationSchema { + const out: AggregationSchema = { + '@all': { + aggs: {}, + filter: { + match_all: {}, + }, + }, + }; + + for (const global of globals ?? []) { + (out['@all']! as ESNestedAggregation).aggs[global] = { + terms: { + field: `${global}.raw`, + size: 1000, + }, + }; + } + + if (typeof fields === 'undefined' || fields.length === 0) { + return out; + } + + out[name] = { + aggs: {}, + filter: { + term: { + type: name, + }, + }, + }; + + for (const field of fields) { + (out[name]! as ESNestedAggregation).aggs[field] = { + terms: { + field: `${field}.raw`, + size: 1000, + }, + }; + } + + return out; + } + + static buildMapping(name: string, map: MinimalMappingDescription): ElasticsearchTemplateCollection { + let typeNameWithoutSpaces = name.toLowerCase(); + while (typeNameWithoutSpaces.includes(' ')) { + typeNameWithoutSpaces = typeNameWithoutSpaces.replace(' ', '_'); + } + + const out: ElasticsearchTemplateCollection = {}; + const templateName = `template_${typeNameWithoutSpaces}`; + out[templateName] = { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore empty object + mappings: {}, + settings: settings, + index_patterns: [`stapps_${typeNameWithoutSpaces}*`], + }; + const maps = map.maps ?? {}; + maps.type = { + type: 'text', + }; + maps.creation_date = { + type: 'date', + }; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore can be used to index + out[templateName].mappings = { + _source: { + excludes: ['creation_date'], + }, + date_detection: false, + dynamic: 'strict', + properties: maps, + dynamic_templates: map.dynamicTemplates ?? [], + }; + + return out; + } +} diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/any-unknown.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/any-unknown.mapping-test.ts index 2e3ccee5..cb177de7 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/any-unknown.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/any-unknown.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/date.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/date.mapping-test.ts index 59e7f557..dec41665 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/date.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/date.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @date diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/default-generics.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/default-generics.mapping-test.ts index 7701ad95..40db628b 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/default-generics.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/default-generics.mapping-test.ts @@ -12,9 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {PARSE_ERROR} from '../../../../lib/config/typemap.js'; -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {PARSE_ERROR} from '../../../../lib/config/typemap'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/double-type-conflict.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/double-type-conflict.mapping-test.ts index 17f258a5..62a612bf 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/double-type-conflict.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/double-type-conflict.mapping-test.ts @@ -12,9 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {TYPE_CONFLICT} from '../../../../lib/config/typemap.js'; -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {TYPE_CONFLICT} from '../../../../lib/config/typemap'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/enum.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/enum.mapping-test.ts index 067b1e89..ffefc03f 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/enum.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/enum.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/filterable-tag.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/filterable-tag.mapping-test.ts index de6b65e4..ef22e580 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/filterable-tag.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/filterable-tag.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; export type FilterableEnumType = 'a' | 'b' | 'c'; diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/generics.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/generics.mapping-test.ts index 71917158..19203a67 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/generics.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/generics.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/impossible-union.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/impossible-union.mapping-test.ts index e7c98d7d..c674e666 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/impossible-union.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/impossible-union.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/incompatible-type.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/incompatible-type.mapping-test.ts index 4aec718c..acf14e00 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/incompatible-type.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/incompatible-type.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/index-signature.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/index-signature.mapping-test.ts index 10f01cde..fa256267 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/index-signature.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/index-signature.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/inferred-type-filterable.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/inferred-type-filterable.mapping-test.ts index 230f4f10..af756d24 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/inferred-type-filterable.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/inferred-type-filterable.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {MapAggTestOptions} from '../../map-agg-test-options.js'; -import {ThingType} from './types.js'; +import {MapAggTestOptions} from '../../map-agg-test-options'; +import {ThingType} from './types'; /** * @date diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/inherit-tags.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/inherit-tags.mapping-test.ts index 5149da3a..448f790a 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/inherit-tags.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/inherit-tags.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {MapAggTestOptions} from '../../map-agg-test-options.js'; -import {ThingType} from './types.js'; +import {MapAggTestOptions} from '../../map-agg-test-options'; +import {ThingType} from './types'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/inherited-property.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/inherited-property.mapping-test.ts index 706a0ef2..b078d158 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/inherited-property.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/inherited-property.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/invalid-tag.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/invalid-tag.mapping-test.ts index 3e58a1b7..624bc728 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/invalid-tag.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/invalid-tag.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/map-explicit-types.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/map-explicit-types.mapping-test.ts index 7776a16c..ef9ef6ad 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/map-explicit-types.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/map-explicit-types.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/missing-premap.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/missing-premap.mapping-test.ts index e4b9cb46..63bcad62 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/missing-premap.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/missing-premap.mapping-test.ts @@ -12,9 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {MISSING_PREMAP} from '../../../../lib/config/typemap.js'; -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {MISSING_PREMAP} from '../../../../lib/config/typemap'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/nested.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/nested.mapping-test.ts index 6b9f7f6e..e1464d83 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/nested.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/nested.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/object-union.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/object-union.mapping-test.ts index 86317edd..986f3fd2 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/object-union.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/object-union.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/paired-tags.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/paired-tags.mapping-test.ts index b13ce38b..08558c97 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/paired-tags.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/paired-tags.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/sensible-defaults.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/sensible-defaults.mapping-test.ts index bd90a89d..eee9bb0c 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/sensible-defaults.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/sensible-defaults.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/sortable-tag.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/sortable-tag.mapping-test.ts index d9c79555..83a1877a 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/sortable-tag.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/sortable-tag.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/tags-ignore-case.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/tags-ignore-case.mapping-test.ts index 37cc3e98..23b63ec9 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/tags-ignore-case.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/tags-ignore-case.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-alias.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-alias.mapping-test.ts index 1a32026b..68492d91 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-alias.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-alias.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-overrides.mapping-test.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-overrides.mapping-test.ts index b8b80eb2..305f79c2 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-overrides.mapping-test.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-overrides.mapping-test.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; export interface SCISO8601DateRange { bar: string; diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-query.mapping-test.disabled.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-query.mapping-test.disabled.ts index 3b882ae1..4b7368a2 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-query.mapping-test.disabled.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-query.mapping-test.disabled.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-wrapper-inheritance.mapping-test.disabled.ts b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-wrapper-inheritance.mapping-test.disabled.ts index 45a1f3fe..81f7e146 100644 --- a/packages/es-mapping-generator/test/mapping-model/mappings/src/type-wrapper-inheritance.mapping-test.disabled.ts +++ b/packages/es-mapping-generator/test/mapping-model/mappings/src/type-wrapper-inheritance.mapping-test.disabled.ts @@ -12,8 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ThingType} from './types.js'; -import {MapAggTestOptions} from '../../map-agg-test-options.js'; +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../map-agg-test-options'; /** * @indexable diff --git a/packages/es-mapping-generator/test/mapping.spec.ts b/packages/es-mapping-generator/test/mapping.spec.ts index d98bde15..46e41261 100644 --- a/packages/es-mapping-generator/test/mapping.spec.ts +++ b/packages/es-mapping-generator/test/mapping.spec.ts @@ -12,46 +12,22 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {readdirSync, statSync} from 'fs'; -import path from 'path'; -import {MapAggTest} from './mapping-model/map-agg-test.js'; -import {MapAggTestOptions} from './mapping-model/map-agg-test-options.js'; +import {MapAggTest} from './mapping-model/map-agg-test'; +import {MapAggTestOptions} from './mapping-model/map-agg-test-options'; +import {expandPathToFilesSync} from './common'; describe('ES Mapping Gen', async () => { const magAppInstance = new MapAggTest('mappings'); - /** - * Expand a path to a list of all files deeply contained in it - */ - // eslint-disable-next-line unicorn/consistent-function-scoping - function expandPathToFilesSync(sourcePath: string, accept: (fileName: string) => boolean): string[] { - const fullPath = path.resolve(sourcePath); - const directory = statSync(fullPath); - - return directory.isDirectory() - ? // eslint-disable-next-line unicorn/prefer-spread - ([] as string[]).concat( - ...readdirSync(fullPath).map(fragment => - expandPathToFilesSync(path.resolve(sourcePath, fragment), accept), - ), - ) - : [fullPath].filter(accept); - } - for (const file of expandPathToFilesSync('./test/mapping-model/mappings/', file => file.endsWith('mapping-test.ts'), )) { - try { - // eslint-disable-next-line unicorn/no-await-expression-member - const test = (await import(file))['testConfig'] as MapAggTestOptions; + // eslint-disable-next-line unicorn/no-await-expression-member + const test = (await import(file))['testConfig'] as MapAggTestOptions; - it(test.testName, function () { - magAppInstance.testInterfaceAgainstPath(test); - }); - } catch (error) { - console.error('UNHANDLED REJECTION', (error as any).stack); - process.exit(1); - } + it(test.testName, function () { + magAppInstance.testInterfaceAgainstPath(test); + }); } }) .timeout(20_000) diff --git a/packages/gitlab-api/package.json b/packages/gitlab-api/package.json index 0c5bbc46..f2a5ef06 100644 --- a/packages/gitlab-api/package.json +++ b/packages/gitlab-api/package.json @@ -35,8 +35,8 @@ "@typescript-eslint/parser": "5.49.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typedoc": "0.23.28", - "typescript": "4.8.4" + "typedoc": "0.24.7", + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/packages/logger/package.json b/packages/logger/package.json index 413e8c68..adac616f 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -31,20 +31,20 @@ "@openstapps/eslint-config": "workspace:*", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", - "@types/chai": "4.3.4", + "@types/chai": "4.3.5", "@types/chai-as-promised": "7.1.5", "@types/chai-spies": "1.0.3", "@types/mocha": "10.0.1", "@types/node": "18.15.3", + "c8": "7.13.0", "chai": "4.3.7", "chai-as-promised": "7.1.1", "chai-spies": "1.0.0", "mocha": "10.2.0", - "c8": "7.13.0", "ts-node": "10.9.1", "tsup": "6.7.0", - "typedoc": "0.23.28", - "typescript": "4.8.4" + "typedoc": "0.24.7", + "typescript": "4.6.4" }, "tsup": { "entry": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ec71f98..de32ded3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,29 +5,35 @@ importers: .: devDependencies: '@changesets/cli': - specifier: 2.26.0 - version: 2.26.0 + specifier: 2.26.1 + version: 2.26.1 + cobertura-merge: + specifier: 1.0.4 + version: 1.0.4 deepmerge: specifier: 4.3.1 version: 4.3.1 dotenv-cli: - specifier: 7.1.0 - version: 7.1.0 + specifier: 7.2.1 + version: 7.2.1 glob: - specifier: 10.2.1 - version: 10.2.1 + specifier: 10.2.6 + version: 10.2.6 package-sync-cli: specifier: 1.3.2 version: 1.3.2 syncpack: - specifier: 9.8.4 - version: 9.8.4 + specifier: 10.1.0 + version: 10.1.0 turbo: - specifier: 1.8.3 - version: 1.8.3 + specifier: 1.10.0 + version: 1.10.0 typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + specifier: 0.24.7 + version: 0.24.7(typescript@4.6.4) + typescript: + specifier: 4.6.4 + version: 4.6.4 backend/backend: dependencies: @@ -71,8 +77,8 @@ importers: specifier: 1.10.0 version: 1.10.0 nock: - specifier: 13.3.0 - version: 13.3.0 + specifier: 13.3.1 + version: 13.3.1 node-cache: specifier: 5.1.2 version: 5.1.2 @@ -90,7 +96,7 @@ importers: version: 2.2.5 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) uuid: specifier: 8.3.2 version: 8.3.2 @@ -117,8 +123,8 @@ importers: specifier: 1.19.2 version: 1.19.2 '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/chai-as-promised': specifier: 7.1.5 version: 7.1.5 @@ -166,10 +172,10 @@ importers: version: 8.3.4 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -200,6 +206,9 @@ importers: eslint-plugin-unicorn: specifier: 45.0.2 version: 45.0.2(eslint@8.33.0) + esmock: + specifier: 2.2.3 + version: 2.2.3 get-port: specifier: 5.1.1 version: 5.1.1 @@ -226,13 +235,10 @@ importers: version: 6.3.3 tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) - typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 backend/proxy: dependencies: @@ -246,8 +252,8 @@ importers: specifier: 3.3.17 version: 3.3.17 '@types/node': - specifier: 14.18.36 - version: 14.18.36 + specifier: 18.15.3 + version: 18.15.3 '@types/sha1': specifier: 1.1.3 version: 1.1.3 @@ -267,8 +273,8 @@ importers: specifier: 7.3.8 version: 7.3.8 typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 devDependencies: '@openstapps/eslint-config': specifier: workspace:* @@ -305,10 +311,10 @@ importers: version: 3.2.9 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -344,13 +350,10 @@ importers: version: 3.7.0(chai@4.3.7)(sinon@15.0.4) ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@14.18.36)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) - typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) configuration/backend-config: devDependencies: @@ -365,10 +368,10 @@ importers: version: link:../tsconfig '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) eslint: specifier: 8.33.0 version: 8.33.0 @@ -392,13 +395,10 @@ importers: dependencies: '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) - eslint: - specifier: 8.33.0 - version: 8.33.0 + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) eslint-config-prettier: specifier: 8.6.0 version: 8.6.0(eslint@8.33.0) @@ -411,6 +411,19 @@ importers: eslint-plugin-unicorn: specifier: 45.0.2 version: 45.0.2(eslint@8.33.0) + devDependencies: + '@openstapps/tsconfig': + specifier: workspace:* + version: link:../tsconfig + '@types/node': + specifier: 18.15.3 + version: 18.15.3 + eslint: + specifier: 8.33.0 + version: 8.33.0 + typescript: + specifier: 4.6.4 + version: 4.6.4 configuration/nyc-config: {} @@ -438,8 +451,8 @@ importers: specifier: 2.29.3 version: 2.29.3 glob: - specifier: 10.2.1 - version: 10.2.1 + specifier: 10.2.6 + version: 10.2.6 mustache: specifier: 4.2.0 version: 4.2.0 @@ -454,8 +467,8 @@ importers: specifier: workspace:* version: link:../tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/chai-as-promised': specifier: 7.1.5 version: 7.1.5 @@ -476,10 +489,10 @@ importers: version: 0.2.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -512,13 +525,13 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 configuration/tsconfig: {} @@ -556,8 +569,8 @@ importers: specifier: 0.3.3 version: 0.3.3 '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/chai-as-promised': specifier: 7.1.5 version: 7.1.5 @@ -569,10 +582,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) chai: specifier: 4.3.7 version: 4.3.7 @@ -601,8 +614,8 @@ importers: specifier: 10.2.0 version: 10.2.0 nock: - specifier: 13.3.0 - version: 13.3.0 + specifier: 13.3.1 + version: 13.3.1 nyc: specifier: 15.1.0 version: 15.1.0 @@ -611,13 +624,13 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 examples/minimal-plugin: dependencies: @@ -641,7 +654,7 @@ importers: version: 4.18.2 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) devDependencies: '@openstapps/eslint-config': specifier: workspace:* @@ -653,17 +666,17 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/express': - specifier: 4.17.16 - version: 4.17.16 + specifier: 4.17.17 + version: 4.17.17 '@types/node': specifier: 18.15.3 version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) eslint: specifier: 8.33.0 version: 8.33.0 @@ -684,13 +697,10 @@ importers: version: 2.8.6 tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) - typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 frontend/app: dependencies: @@ -987,8 +997,8 @@ importers: specifier: 2.0.2 version: 2.0.2 glob: - specifier: 10.2.1 - version: 10.2.1 + specifier: 10.2.6 + version: 10.2.6 is-docker: specifier: 2.2.1 version: 2.2.1 @@ -1065,8 +1075,8 @@ importers: specifier: 1.9.4 version: 1.9.4 '@types/node': - specifier: 14.18.43 - version: 14.18.43 + specifier: 18.15.3 + version: 18.15.3 '@types/traverse': specifier: 0.6.32 version: 0.6.32 @@ -1148,10 +1158,10 @@ importers: version: 10.0.1 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1196,16 +1206,13 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@14.18.43)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) - typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages/collection-utils: devDependencies: @@ -1219,8 +1226,8 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/mocha': specifier: 10.0.1 version: 10.0.1 @@ -1229,10 +1236,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1262,13 +1269,13 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages/core: dependencies: @@ -1313,8 +1320,8 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/json-patch': specifier: 0.0.30 version: 0.0.30 @@ -1329,10 +1336,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1371,13 +1378,13 @@ importers: version: 0.23.1 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages/core-tools: dependencies: @@ -1412,8 +1419,8 @@ importers: specifier: 10.1.0 version: 10.1.0 glob: - specifier: 10.2.1 - version: 10.2.1 + specifier: 10.2.6 + version: 10.2.6 got: specifier: 12.6.0 version: 12.6.0 @@ -1455,8 +1462,8 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/fs-extra': specifier: 9.0.13 version: 9.0.13 @@ -1477,10 +1484,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1506,20 +1513,20 @@ importers: specifier: 10.2.0 version: 10.2.0 nock: - specifier: 13.3.0 - version: 13.3.0 + specifier: 13.3.1 + version: 13.3.1 prettier: specifier: 2.8.6 version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages/easy-ast: dependencies: @@ -1530,11 +1537,11 @@ importers: specifier: workspace:* version: link:../logger glob: - specifier: 10.2.1 - version: 10.2.1 + specifier: 10.2.6 + version: 10.2.6 typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 devDependencies: '@openstapps/eslint-config': specifier: workspace:* @@ -1546,8 +1553,8 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/mocha': specifier: 10.0.1 version: 10.0.1 @@ -1556,10 +1563,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1589,10 +1596,10 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) packages/es-mapping-generator: dependencies: @@ -1628,8 +1635,8 @@ importers: specifier: 0.3.3 version: 0.3.3 '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/mocha': specifier: 10.0.1 version: 10.0.1 @@ -1670,8 +1677,8 @@ importers: specifier: 10.2.0 version: 10.2.0 nock: - specifier: 13.3.0 - version: 13.3.0 + specifier: 13.3.1 + version: 13.3.1 prettier: specifier: 2.8.6 version: 2.8.6 @@ -1708,10 +1715,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) eslint: specifier: 8.33.0 version: 8.33.0 @@ -1732,16 +1739,16 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + specifier: 0.24.7 + version: 0.24.7(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages/logger: dependencies: @@ -1768,8 +1775,8 @@ importers: specifier: workspace:* version: link:../../configuration/tsconfig '@types/chai': - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.3.5 + version: 4.3.5 '@types/chai-as-promised': specifier: 7.1.5 version: 7.1.5 @@ -1784,10 +1791,10 @@ importers: version: 18.15.3 '@typescript-eslint/eslint-plugin': specifier: 5.49.0 - version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.6.4) '@typescript-eslint/parser': specifier: 5.49.0 - version: 5.49.0(eslint@8.33.0)(typescript@4.8.4) + version: 5.49.0(eslint@8.33.0)(typescript@4.6.4) c8: specifier: 7.13.0 version: 7.13.0 @@ -1823,16 +1830,16 @@ importers: version: 2.8.6 ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + version: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) tsup: specifier: 6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@4.8.4) + version: 6.7.0(ts-node@10.9.1)(typescript@4.6.4) typedoc: - specifier: 0.23.28 - version: 0.23.28(typescript@4.8.4) + specifier: 0.24.7 + version: 0.24.7(typescript@4.6.4) typescript: - specifier: 4.8.4 - version: 4.8.4 + specifier: 4.6.4 + version: 4.6.4 packages: @@ -4692,8 +4699,8 @@ packages: '@changesets/types': 5.2.1 dev: true - /@changesets/cli@2.26.0: - resolution: {integrity: sha512-0cbTiDms+ICTVtEwAFLNW0jBNex9f5+fFv3I771nBvdnV/mOjd1QJ4+f8KtVSOrwD9SJkk9xbDkWFb0oXd8d1Q==} + /@changesets/cli@2.26.1: + resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} hasBin: true dependencies: '@babel/runtime': 7.21.0 @@ -4921,7 +4928,7 @@ packages: dependencies: ansi-colors: 4.1.3 fancy-log: 1.3.3 - typescript: 4.8.4 + typescript: 4.6.4 dev: true /@compodoc/ngd-transformer@2.1.0: @@ -5770,11 +5777,6 @@ packages: read-yaml-file: 1.1.0 dev: true - /@mobily/ts-belt@3.13.1: - resolution: {integrity: sha512-K5KqIhPI/EoCTbA6CGbrenM9s41OouyK8A03fGJJcla/zKucsgLbz8HNbeseoLarRPgyWJsUyCYqFhI7t3Ra9Q==} - engines: {node: '>= 10.*'} - dev: true - /@ngtools/webpack@13.3.9(@angular/compiler-cli@13.3.11)(typescript@4.6.4)(webpack@5.70.0): resolution: {integrity: sha512-wmgOI5sogAuilwBZJqCHVMjm2uhDxjdSmNLFx7eznwGDa6LjvjuATqCv2dVlftq0Y/5oZFVrg5NpyHt5kfZ8Cg==} engines: {node: ^12.20.0 || ^14.15.0 || >=16.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -6091,7 +6093,7 @@ packages: engines: {node: '>=12.0.0'} dependencies: '@redocly/ajv': 8.11.0 - '@types/node': 14.18.43 + '@types/node': 14.18.38 colorette: 1.4.0 js-levenshtein: 1.1.6 js-yaml: 4.1.0 @@ -6339,7 +6341,7 @@ packages: /@types/chai-as-promised@7.1.5: resolution: {integrity: sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==} dependencies: - '@types/chai': 4.3.4 + '@types/chai': 4.3.5 dev: true /@types/chai-spies@1.0.3: @@ -6348,10 +6350,6 @@ packages: '@types/chai': 4.3.5 dev: true - /@types/chai@4.3.4: - resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} - dev: true - /@types/chai@4.3.5: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true @@ -6434,15 +6432,6 @@ packages: '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 - /@types/express@4.17.16: - resolution: {integrity: sha512-LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA==} - dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.33 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.1 - dev: true - /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: @@ -6585,16 +6574,10 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@14.18.36: - resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==} - /@types/node@14.18.38: resolution: {integrity: sha512-zMRIidN2Huikv/+/U7gRPFYsXDR/7IGqFZzTLnCEj5+gkrQjsowfamaxEnyvArct5hxGA3bTxMXlYhH78V6Cew==} dev: true - /@types/node@14.18.43: - resolution: {integrity: sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ==} - /@types/node@18.15.3: resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} @@ -6815,33 +6798,6 @@ packages: typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - - /@typescript-eslint/eslint-plugin@5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.33.0)(typescript@4.8.4): - resolution: {integrity: sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/parser': 5.49.0(eslint@8.33.0)(typescript@4.8.4) - '@typescript-eslint/scope-manager': 5.49.0 - '@typescript-eslint/type-utils': 5.49.0(eslint@8.33.0)(typescript@4.8.4) - '@typescript-eslint/utils': 5.49.0(eslint@8.33.0)(typescript@4.8.4) - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.33.0 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color /@typescript-eslint/experimental-utils@5.27.1(eslint@8.33.0)(typescript@4.6.4): resolution: {integrity: sha512-Vd8uewIixGP93sEnmTRIH6jHZYRQRkGPDPpapACMvitJKX8335VHNyqKTE+mZ+m3E2c5VznTZfSsSsS5IF7vUA==} @@ -6894,26 +6850,6 @@ packages: typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - - /@typescript-eslint/parser@5.49.0(eslint@8.33.0)(typescript@4.8.4): - resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.49.0 - '@typescript-eslint/types': 5.49.0 - '@typescript-eslint/typescript-estree': 5.49.0(typescript@4.8.4) - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.33.0 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color /@typescript-eslint/scope-manager@5.27.1: resolution: {integrity: sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==} @@ -6968,26 +6904,6 @@ packages: typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - - /@typescript-eslint/type-utils@5.49.0(eslint@8.33.0)(typescript@4.8.4): - resolution: {integrity: sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 5.49.0(typescript@4.8.4) - '@typescript-eslint/utils': 5.49.0(eslint@8.33.0)(typescript@4.8.4) - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.33.0 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color /@typescript-eslint/types@5.27.1: resolution: {integrity: sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==} @@ -7059,27 +6975,6 @@ packages: typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - - /@typescript-eslint/typescript-estree@5.49.0(typescript@4.8.4): - resolution: {integrity: sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.49.0 - '@typescript-eslint/visitor-keys': 5.49.0 - debug: 4.3.4(supports-color@5.5.0) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.8.4) - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color /@typescript-eslint/utils@5.27.1(eslint@8.33.0)(typescript@4.6.4): resolution: {integrity: sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==} @@ -7137,26 +7032,6 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - - /@typescript-eslint/utils@5.49.0(eslint@8.33.0)(typescript@4.8.4): - resolution: {integrity: sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.49.0 - '@typescript-eslint/types': 5.49.0 - '@typescript-eslint/typescript-estree': 5.49.0(typescript@4.8.4) - eslint: 8.33.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.33.0) - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - - typescript /@typescript-eslint/visitor-keys@5.27.1: resolution: {integrity: sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==} @@ -8061,6 +7936,12 @@ packages: engines: {node: '>=8'} dev: true + /bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + dependencies: + file-uri-to-path: 1.0.0 + dev: true + /bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} dev: false @@ -8890,6 +8771,15 @@ packages: engines: {node: '>=6'} dev: true + /cobertura-merge@1.0.4: + resolution: {integrity: sha512-91wykX/VVyDAhUO0DvK7+zW/AYaaO+DT2vAoQVLPAJaNjbtH7PqsQy9dbVvFOVZpk9eksfhThMnSvm4pEmGbtA==} + hasBin: true + dependencies: + minimist: 1.2.8 + source-map-support: 0.5.21 + xml2json: 0.12.0 + dev: true + /code-block-writer@11.0.3: resolution: {integrity: sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==} dev: true @@ -8952,6 +8842,12 @@ packages: /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} + dev: false + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -9363,16 +9259,6 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@8.0.0: - resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - /cosmiconfig@8.1.3: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} @@ -9381,7 +9267,6 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - dev: false /cpu-features@0.0.4: resolution: {integrity: sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==} @@ -9623,7 +9508,7 @@ packages: dependencies: '@cypress/request': 2.88.11 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 14.18.43 + '@types/node': 14.18.38 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.3 arch: 2.2.0 @@ -10178,8 +10063,8 @@ packages: hasBin: true dev: true - /dotenv-cli@7.1.0: - resolution: {integrity: sha512-motytjZFQB3ZtGTIN4c0vnFgv4kuNZ2WxVnGY6PVFiygCzkm3IFBBguDUzezd9HgNA0OYYd6vNCWlozs0Q1Zxg==} + /dotenv-cli@7.2.1: + resolution: {integrity: sha512-ODHbGTskqRtXAzZapDPvgNuDVQApu4oKX8lZW7Y0+9hKA6le1ZJlyRS687oU9FXjOVEDU/VFV6zI125HzhM1UQ==} hasBin: true dependencies: cross-spawn: 7.0.3 @@ -10917,6 +10802,11 @@ packages: transitivePeerDependencies: - supports-color + /esmock@2.2.3: + resolution: {integrity: sha512-nqXoU3Z/ogsPKhXoX41PDs4rCtJxMcwEI8vw4NSjE7b6Os0EzPJvmA15X6F74AIt1Fu8VBRvLl3HDxXNze/0eg==} + engines: {node: '>=14.16.0'} + dev: true + /espree@9.5.0: resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -11072,10 +10962,6 @@ packages: engines: {node: '>=6'} dev: true - /expect-more@1.3.0: - resolution: {integrity: sha512-HnXT5nJb9V3DMnr5RgA1TiKbu5kRaJ0GD1JkuhZvnr1Qe3HJq+ESnrcl/jmVUZ8Ycnl3Sp0OTYUhmO36d2+zow==} - dev: true - /express-prom-bundle@6.6.0(prom-client@14.1.1): resolution: {integrity: sha512-tZh2P2p5a8/yxQ5VbRav011Poa4R0mHqdFwn9Swe/obXDe5F0jY9wtRAfNYnqk4LXY7akyvR/nrvAHxQPWUjsQ==} engines: {node: '>=10'} @@ -11276,6 +11162,10 @@ packages: dependencies: flat-cache: 3.0.4 + /file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: true + /file-uri-to-path@2.0.0: resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} engines: {node: '>= 6'} @@ -11516,8 +11406,8 @@ packages: jsonfile: 6.1.0 universalify: 2.0.0 - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.10 @@ -11778,15 +11668,14 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true - /glob@10.2.1: - resolution: {integrity: sha512-ngom3wq2UhjdbmRE/krgkD8BQyi1KZ5l+D2dVm4+Yj+jJIBp74/ZGunL6gNGc/CYuQmvUBiavWEXIotRiv5R6A==} + /glob@10.2.6: + resolution: {integrity: sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - fs.realpath: 1.0.0 jackspeak: 2.0.3 - minimatch: 9.0.0 + minimatch: 9.0.1 minipass: 5.0.0 path-scurry: 1.7.0 @@ -12116,6 +12005,23 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true + /hoek@4.2.1: + resolution: {integrity: sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==} + engines: {node: '>=4.0.0'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + dev: true + + /hoek@5.0.4: + resolution: {integrity: sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w==} + engines: {node: '>=8.9.0'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + dev: true + + /hoek@6.1.3: + resolution: {integrity: sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==} + deprecated: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues. + dev: true + /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: @@ -12943,6 +12849,13 @@ packages: engines: {node: '>= 8.0.0'} dev: true + /isemail@3.2.0: + resolution: {integrity: sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==} + engines: {node: '>=4.0.0'} + dependencies: + punycode: 2.3.0 + dev: true + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -13111,6 +13024,16 @@ packages: hasBin: true dev: true + /joi@13.7.0: + resolution: {integrity: sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q==} + engines: {node: '>=8.9.0'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + dependencies: + hoek: 5.0.4 + isemail: 3.2.0 + topo: 3.0.3 + dev: true + /joi@17.8.4: resolution: {integrity: sha512-jjdRHb5WtL+KgSHvOULQEPPv4kcl+ixd1ybOFQq3rWLgEEqc03QMmilodL0GVJE14U/SQDXkUhQUSZANGDH/AA==} dependencies: @@ -13972,6 +13895,12 @@ packages: engines: {node: '>= 12'} hasBin: true + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + dev: true + /material-symbols@0.4.1: resolution: {integrity: sha512-rFHdDlN0yzXo46lcUVuJY0ygFcFuzcbvIxWHWUqSPGsBTMb642AOVSPK4BVEx8YG5SMPBO6BRdbnEeFnDjjcHA==} dev: false @@ -14162,15 +14091,8 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.2: - resolution: {integrity: sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.0: - resolution: {integrity: sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==} + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -14439,7 +14361,6 @@ packages: /nan@2.17.0: resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} - dev: false /nanoid@3.3.3: resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} @@ -14582,17 +14503,6 @@ packages: path-to-regexp: 1.8.0 dev: true - /nock@13.3.0: - resolution: {integrity: sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==} - engines: {node: '>= 10.13'} - dependencies: - debug: 4.3.4(supports-color@5.5.0) - json-stringify-safe: 5.0.1 - lodash: 4.17.21 - propagate: 2.0.1 - transitivePeerDependencies: - - supports-color - /nock@13.3.1: resolution: {integrity: sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==} engines: {node: '>= 10.13'} @@ -14603,7 +14513,6 @@ packages: propagate: 2.0.1 transitivePeerDependencies: - supports-color - dev: true /node-abi@3.33.0: resolution: {integrity: sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==} @@ -14634,6 +14543,14 @@ packages: uuid: 8.3.2 dev: false + /node-expat@2.4.0: + resolution: {integrity: sha512-X8Y/Zk/izfNgfayeOeUGqze7KlaOwVJ9SDTjHUMKd0hu0aFTRpLlLCBwmx79cTPiQWD24I1YOafF+U+rTvEMfQ==} + requiresBuild: true + dependencies: + bindings: 1.5.0 + nan: 2.17.0 + dev: true + /node-fetch-h2@2.3.0: resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} engines: {node: 4.x || >=6.0.0} @@ -14942,7 +14859,7 @@ packages: fast-glob: 3.2.7 figures: 3.2.0 flat: 5.0.2 - fs-extra: 11.1.0 + fs-extra: 11.1.1 glob: 7.1.4 ignore: 5.2.4 js-yaml: 4.1.0 @@ -15952,7 +15869,7 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - ts-node: 10.9.1(@types/node@18.15.3)(typescript@4.8.4) + ts-node: 10.9.1(@types/node@18.15.3)(typescript@4.6.4) yaml: 1.10.2 dev: true @@ -16771,7 +16688,7 @@ packages: json-pointer: 0.6.2 lunr: 2.3.9 mark.js: 8.11.1 - marked: 4.2.12 + marked: 4.3.0 mobx: 6.8.0 mobx-react: 7.6.0(mobx@6.8.0)(react-dom@17.0.2)(react@17.0.2) openapi-sampler: 1.3.1 @@ -17054,7 +16971,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.2.1 + glob: 10.2.6 dev: true /ripemd160@2.0.2: @@ -17293,6 +17210,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -18389,22 +18314,21 @@ packages: engines: {node: '>=0.10'} dev: true - /syncpack@9.8.4: - resolution: {integrity: sha512-i81rO+dHuJ2dO8YQq6SCExcyN0x9ZVTY7cVPn8pWjS5Dml0A8uM0cOaneOludFesdrLXMZUA/uEWa74ddBgkPQ==} + /syncpack@10.1.0: + resolution: {integrity: sha512-3SMPf49tpxw170ZokyurKuJc7G45xZLtzgH6W87+7OsbRQLc+oc9UfoelVf1CuYglZsMwFott4zEShCY8o+R1Q==} engines: {node: '>=14'} hasBin: true dependencies: - '@mobily/ts-belt': 3.13.1 chalk: 4.1.2 - commander: 10.0.0 - cosmiconfig: 8.0.0 - expect-more: 1.3.0 - fs-extra: 11.1.0 + commander: 10.0.1 + cosmiconfig: 8.1.3 + fs-extra: 11.1.1 glob: 8.1.0 minimatch: 6.2.0 read-yaml-file: 2.1.0 - semver: 7.3.8 - zod: 3.20.6 + semver: 7.5.0 + tightrope: 0.1.0 + ts-toolbelt: 9.6.0 dev: true /tapable@2.2.1: @@ -18610,6 +18534,11 @@ packages: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true + /tightrope@0.1.0: + resolution: {integrity: sha512-HHHNYdCAIYwl1jOslQBT455zQpdeSo8/A346xpIb/uuqhSg+tCvYNsP5f11QW+z9VZ3vSX8YIfzTApjjuGH63w==} + engines: {node: '>=14'} + dev: true + /time-stamp@1.1.0: resolution: {integrity: sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==} engines: {node: '>=0.10.0'} @@ -18671,6 +18600,13 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + /topo@3.0.3: + resolution: {integrity: sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==} + deprecated: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues. + dependencies: + hoek: 6.1.3 + dev: true + /toposort@2.0.2: resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} dev: false @@ -18741,37 +18677,6 @@ packages: code-block-writer: 11.0.3 dev: true - /ts-node@10.9.1(@types/node@14.18.36)(typescript@4.8.4): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 14.18.36 - acorn: 8.8.2 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - /ts-node@10.9.1(@types/node@14.18.38)(typescript@3.8.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -18803,37 +18708,6 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.1(@types/node@14.18.43)(typescript@4.8.4): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 14.18.43 - acorn: 8.8.2 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - /ts-node@10.9.1(@types/node@18.15.3)(typescript@4.6.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -18863,37 +18737,10 @@ packages: typescript: 4.6.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /ts-node@10.9.1(@types/node@18.15.3)(typescript@4.8.4): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.15.3 - acorn: 8.8.2 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 + /ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + dev: true /tsconfig-paths@4.1.2: resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} @@ -18914,7 +18761,7 @@ packages: /tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - /tsup@6.7.0(ts-node@10.9.1)(typescript@4.8.4): + /tsup@6.7.0(ts-node@10.9.1)(typescript@4.6.4): resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -18944,7 +18791,7 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.30.0 tree-kill: 1.2.2 - typescript: 4.8.4 + typescript: 4.6.4 transitivePeerDependencies: - supports-color - ts-node @@ -18968,16 +18815,6 @@ packages: dependencies: tslib: 1.14.1 typescript: 4.6.4 - dev: true - - /tsutils@3.21.0(typescript@4.8.4): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.8.4 /tty-browserify@0.0.0: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} @@ -19003,65 +18840,65 @@ packages: safe-buffer: 5.2.1 dev: true - /turbo-darwin-64@1.8.3: - resolution: {integrity: sha512-bLM084Wr17VAAY/EvCWj7+OwYHvI9s/NdsvlqGp8iT5HEYVimcornCHespgJS/yvZDfC+mX9EQkn3V2JmYgGGw==} + /turbo-darwin-64@1.10.0: + resolution: {integrity: sha512-N0aVGFtBgOKd7pIdUiKREwnDhNHRIvpMJbmUw04c1AqEoTiKAKT6iuzcCozO5N/gYMVr0hxrXgLal5OLYXtcsw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.8.3: - resolution: {integrity: sha512-4oZjXtzakopMK110kue3z/hqu3WLv+eDLZOX1NGdo49gqca9BeD8GbH+sXpAp6tqyeuzpss+PIliVYuyt7LgbA==} + /turbo-darwin-arm64@1.10.0: + resolution: {integrity: sha512-boXzhaHTS5MsTMv48I/JmYp9/fYplXk5nACUDrqV6nD1hzO5PMn5wNg75ATbpkaMaeuD+hjuobeSxn1p4vpqQg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.8.3: - resolution: {integrity: sha512-uvX2VKotf5PU14FCxJA5iHItPQno2JWzerMd+g3/h/Asay6dvxvtVjc39MQeGT0H5njSvzVKFkT+3/5q8lgOEg==} + /turbo-linux-64@1.10.0: + resolution: {integrity: sha512-crKQuS1jrp4vp+Th6EmUqqmAlvYNnzGmwWMLeckmYILrV7zAddu87eJu4hB7V6uV+W1qHZUTw8WXa1w1+8boBw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.8.3: - resolution: {integrity: sha512-E1p+oH3XKMaPS4rqWhYsL4j2Pzc0d/9P5KU7Kn1kqVLo2T3iRA7n2KVULEieUNE0nTH+aIJPXYXOpqCI5wFJaA==} + /turbo-linux-arm64@1.10.0: + resolution: {integrity: sha512-Y2fhWe0xepLjl7doIvsJK7mp2h8E+OF6qJsUHRgxFeRWQWi1I6clD2aEQeykHK8Tp+qp8pKFMocj32nFBvuCcg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.8.3: - resolution: {integrity: sha512-cnzAytHtoLXd0J7aNzRpZFpL/GTjcBmkvAPlbOdf/Pl1iwS4qzGrudZQ+OM1lmLgLIfBPIavsGHBknTwTNib4A==} + /turbo-windows-64@1.10.0: + resolution: {integrity: sha512-uh8rEqH6teaHysEMjinwWBqyNwv4IvgSAwbq/OphP8jObstTYHoR+gFPo8RQUSTaBYy4QVszgi5eO5YLvEQqNA==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.8.3: - resolution: {integrity: sha512-ulIiItNm2w/zYJdD5/oAzjzNns1IjbpweRzpsE8tLXaWwo6+fnXXkyloUug0IUhcd2k6fJXfoiDZfygqpOVuXg==} + /turbo-windows-arm64@1.10.0: + resolution: {integrity: sha512-JaVj3iM7qyRD6xYGZLL/Gs4mQKfM1zL0f91AwHZLNkk1CrJ6i5kO4ZjhKkwXSpVOTNKW3sX0Q7dExXj85Vv7UQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.8.3: - resolution: {integrity: sha512-zGrkU1EuNFmkq6iky6LcMqD4h0OLE8XysVFxQWRIZbcTNnf0XAycbsbeEyiJpiWeqb7qtg2bVuY9EYcNoNhVuQ==} + /turbo@1.10.0: + resolution: {integrity: sha512-GWxoL2zJduiNaEHz78o74l2jCQEeuUZ3MdpMPz0SpZOvt3nimpvQPNxiyfbqt3U9/V5G375PWKYSbXkVnIbQcA==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.8.3 - turbo-darwin-arm64: 1.8.3 - turbo-linux-64: 1.8.3 - turbo-linux-arm64: 1.8.3 - turbo-windows-64: 1.8.3 - turbo-windows-arm64: 1.8.3 + turbo-darwin-64: 1.10.0 + turbo-darwin-arm64: 1.10.0 + turbo-linux-64: 1.10.0 + turbo-linux-arm64: 1.10.0 + turbo-windows-64: 1.10.0 + turbo-windows-arm64: 1.10.0 dev: true /tweetnacl@0.14.5: @@ -19176,18 +19013,18 @@ packages: typescript: 3.8.3 dev: false - /typedoc@0.23.28(typescript@4.8.4): - resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==} + /typedoc@0.24.7(typescript@4.6.4): + resolution: {integrity: sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==} engines: {node: '>= 14.14'} hasBin: true peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x dependencies: lunr: 2.3.9 - marked: 4.2.12 - minimatch: 7.4.2 + marked: 4.3.0 + minimatch: 9.0.1 shiki: 0.14.1 - typescript: 4.8.4 + typescript: 4.6.4 dev: true /typescript@3.8.3: @@ -19199,12 +19036,6 @@ packages: resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} hasBin: true - dev: true - - /typescript@4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} - hasBin: true /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} @@ -19950,6 +19781,15 @@ packages: xmlbuilder: 11.0.1 dev: true + /xml2json@0.12.0: + resolution: {integrity: sha512-EPJHRWJnJUYbJlzR4pBhZODwWdi2IaYGtDdteJi0JpZ4OD31IplWALuit8r73dJuM4iHZdDVKY1tLqY2UICejg==} + hasBin: true + dependencies: + hoek: 4.2.1 + joi: 13.7.0 + node-expat: 2.4.0 + dev: true + /xmlbuilder@11.0.1: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} @@ -20100,10 +19940,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zod@3.20.6: - resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} - dev: true - /zone.js@0.12.0: resolution: {integrity: sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==} dependencies: diff --git a/turbo.json b/turbo.json index c2430dda..3817ec08 100644 --- a/turbo.json +++ b/turbo.json @@ -18,13 +18,11 @@ }, "test": { "dependsOn": ["^test"], - "outputs": [".coverage"] + "outputs": ["coverage"] }, "check-configuration": { "dependsOn": ["^check-configuration"] }, - "docs": { - - } + "docs": {} } }