diff --git a/.gitignore b/.gitignore index f9869fa4..74c21498 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,8 @@ node_modules/ .pnpm-store/ jspm_packages/ +.browser-data + # TypeScript v1 declaration files typings/ diff --git a/examples/minimal-plugin/src/plugin/minimal-plugin.ts b/examples/minimal-plugin/src/plugin/minimal-plugin.ts index b78ad5c6..9b96f14f 100644 --- a/examples/minimal-plugin/src/plugin/minimal-plugin.ts +++ b/examples/minimal-plugin/src/plugin/minimal-plugin.ts @@ -14,9 +14,8 @@ */ import {Plugin} from '@openstapps/api-plugin'; import * as express from 'express'; -import schema from '../../lib/schema.json'; -import {SCMinimalRequest} from './protocol/request.js'; -import {SCMinimalResponse} from './protocol/response.js'; +import {requestSchema, SCMinimalRequest} from './protocol/request.js'; +import {responseSchema, SCMinimalResponse} from './protocol/response.js'; /** * The Plugin Class @@ -25,9 +24,9 @@ import {SCMinimalResponse} from './protocol/response.js'; * TODO: rename the class */ export class MinimalPlugin extends Plugin { - requestSchema = schema.SCMinimalRequest; + requestSchema = requestSchema; - responseSchema = schema.SCMinimalResponse; + responseSchema = responseSchema; /** * Calculates the sum of a list of numbers diff --git a/examples/minimal-plugin/src/plugin/protocol/request.ts b/examples/minimal-plugin/src/plugin/protocol/request.ts index a31bfca7..634124a9 100644 --- a/examples/minimal-plugin/src/plugin/protocol/request.ts +++ b/examples/minimal-plugin/src/plugin/protocol/request.ts @@ -16,10 +16,9 @@ /** * The Request Interface * - * All incoming requests will look like this, this is being checked by the backend. You need to add the @validatable tag - * like shown below for the plugin to work. The request can have any layout you like. + * All incoming requests will look like this, this is being checked by the backend. + * The request can have any layout you like. * TODO: remove body of the interface and replace with your own layout - * @validatable */ export interface SCMinimalRequest { /** diff --git a/examples/minimal-plugin/src/plugin/protocol/response.ts b/examples/minimal-plugin/src/plugin/protocol/response.ts index 6bd91e60..68d4ad07 100644 --- a/examples/minimal-plugin/src/plugin/protocol/response.ts +++ b/examples/minimal-plugin/src/plugin/protocol/response.ts @@ -19,7 +19,6 @@ * All your responses to the backend are required to look like this. You need to add the @validatable tag like shown * below for the plugin to work. The response can have any layout you like. * TODO: remove body of the interface and replace with your own layout - * @validatable */ export interface SCMinimalResponse { /** @@ -28,4 +27,4 @@ export interface SCMinimalResponse { sum: number; } -export {default as requestSchema} from 'schema:#SCMinimalResponse'; +export {default as responseSchema} from 'schema:#SCMinimalResponse'; diff --git a/examples/minimal-plugin/src/schemas.d.ts b/examples/minimal-plugin/src/schemas.d.ts new file mode 100644 index 00000000..2a2f1d15 --- /dev/null +++ b/examples/minimal-plugin/src/schemas.d.ts @@ -0,0 +1,5 @@ +declare module 'schema:*' { + import {JSONSchema7} from 'json-schema'; + const schema: JSONSchema7; + export default schema; +} diff --git a/frontend/app/.prettierignore b/frontend/app/.prettierignore index 1cbac213..c51644b9 100644 --- a/frontend/app/.prettierignore +++ b/frontend/app/.prettierignore @@ -45,4 +45,5 @@ UserInterfaceState.xcuserstate android/ ios/ +.browser-data docs diff --git a/frontend/app/src/app/modules/config/config.provider.ts b/frontend/app/src/app/modules/config/config.provider.ts index 259f1790..f3756b90 100644 --- a/frontend/app/src/app/modules/config/config.provider.ts +++ b/frontend/app/src/app/modules/config/config.provider.ts @@ -14,8 +14,7 @@ */ import {Injectable} from '@angular/core'; import {Client} from '@openstapps/api'; -import {SCAppConfiguration, SCIndexResponse} from '@openstapps/core'; -import packageInfo from '@openstapps/core/package.json'; +import {SCAppConfiguration, SCIndexResponse, STAPPS_CORE_VERSION} from '@openstapps/core'; import {NGXLogger} from 'ngx-logger'; import {environment} from '../../../environments/environment'; import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider'; @@ -55,7 +54,7 @@ export class ConfigProvider { /** * Version of the @openstapps/core package that app is using */ - scVersion = packageInfo.version; + scVersion = STAPPS_CORE_VERSION; /** * First session indicator (config not found in storage) diff --git a/packages/api-cli/package.json b/packages/api-cli/package.json index 28054ac6..e8d92b54 100644 --- a/packages/api-cli/package.json +++ b/packages/api-cli/package.json @@ -34,7 +34,7 @@ "lint:fix": "eslint --fix --ext .ts src/", "test": "c8 mocha --exit" }, - "dpendencies": { + "dependencies": { "@openstapps/api": "workspace:*", "@openstapps/core": "workspace:*", "@openstapps/logger": "workspace:*", diff --git a/packages/core-validator/schema/.gitignore b/packages/core-validator/schema/.gitignore deleted file mode 100644 index 0128eb05..00000000 --- a/packages/core-validator/schema/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -core.schema.json -core.schema.d.ts diff --git a/packages/core/src/meta.ts b/packages/core/src/meta.ts index bd00ec44..ae509c28 100644 --- a/packages/core/src/meta.ts +++ b/packages/core/src/meta.ts @@ -64,6 +64,11 @@ import {SCTicket, SCTicketMeta, SCTicketWithoutReferences} from './things/ticket import {SCToDo, SCToDoMeta, SCToDoWithoutReferences} from './things/todo.js'; import {SCTour, SCTourMeta, SCTourWithoutReferences} from './things/tour.js'; import {SCVideo, SCVideoMeta, SCVideoWithoutReferences} from './things/video.js'; +import {version} from '../package.json'; + +// re-export breaks .d.ts generation for some reason +// eslint-disable-next-line unicorn/prefer-export-from +export const STAPPS_CORE_VERSION = version; /** * A map of things, from type to meta data diff --git a/packages/core/src/protocol/routes/plugin-register.ts b/packages/core/src/protocol/routes/plugin-register.ts index 9169e158..a6938e71 100644 --- a/packages/core/src/protocol/routes/plugin-register.ts +++ b/packages/core/src/protocol/routes/plugin-register.ts @@ -92,11 +92,11 @@ export interface SCPluginMetaData { /** * Plugin register response + * @validatable */ export interface SCPluginRegisterResponse { /** * Whether the desired action succeeded or failed (true for success, false if an error occurred) - * @validatable */ success: boolean; } diff --git a/packages/es-mapping-generator/package.json b/packages/es-mapping-generator/package.json index d307b1cd..b49d3e8b 100644 --- a/packages/es-mapping-generator/package.json +++ b/packages/es-mapping-generator/package.json @@ -19,17 +19,15 @@ "dev": "tsup --watch --onSuccess \"node lib/index.js\"", "format": "prettier . -c --ignore-path ../../.gitignore", "format:fix": "prettier --write . --ignore-path ../../.gitignore", - "lint": "eslint --ext .ts src/ test/", - "lint:fix": "eslint --ext .ts src/ test/", + "lint": "eslint --ext .ts src/", + "lint:fix": "eslint --ext .ts src/", "test": "c8 mocha" }, "dependencies": { "@elastic/elasticsearch": "8.10.0", "@openstapps/json-schema-generator": "workspace:*", "@openstapps/tsup-plugin": "workspace:*", - "@types/json-schema": "7.0.14", - "ajv": "8.12.0", - "better-ajv-errors": "1.2.0" + "@types/json-schema": "7.0.14" }, "devDependencies": { "@openstapps/eslint-config": "workspace:*", diff --git a/packages/es-mapping-generator/tsup.config.ts b/packages/es-mapping-generator/tsup.config.ts index 9744c888..dfbcd761 100644 --- a/packages/es-mapping-generator/tsup.config.ts +++ b/packages/es-mapping-generator/tsup.config.ts @@ -1,5 +1,4 @@ import {defineConfig} from 'tsup'; -import {jsonSchemaPlugin} from '@openstapps/json-schema-generator'; export default defineConfig({ entry: ['src/index.ts'], @@ -7,6 +6,4 @@ export default defineConfig({ clean: true, format: 'esm', outDir: 'lib', - external: ['./index.schema.json'], - plugins: [jsonSchemaPlugin('index.schema.json')], }); diff --git a/packages/json-schema-generator/src/index.ts b/packages/json-schema-generator/src/index.ts index 22711aa0..879af22c 100644 --- a/packages/json-schema-generator/src/index.ts +++ b/packages/json-schema-generator/src/index.ts @@ -6,7 +6,21 @@ import {createGenerator} from 'ts-json-schema-generator'; export type SchemaConsumer = (this: PluginContext, schema: JSONSchema7) => Record; -export const jsonSchema: EsbuildPlugin = { +/** + * ESBuild Plugin for directly importing schemas + * + * Schemas will be bundled in the output, but because each schema is compiled individually, + * the resulting output can be substantially bigger and take longer to compile. + * @example + * interface Foo {} + * import {default as fooSchema} from 'schema:#Foo' + * @example + * // ./my-type.ts + * interface Bar {} + * // ./schema-consumer.ts + * import {default as barSchema} from 'schema:./my-type.js#Bar' + */ +export const esbuildJsonSchemaPlugin: EsbuildPlugin = { name: 'json-schema', setup(build) { const fileRegex = /^schema:/; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51c47156..a369007f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1219,6 +1219,55 @@ importers: version: 5.22.1 packages/api-cli: + dependencies: + '@openstapps/api': + specifier: workspace:* + version: link:../api + '@openstapps/core': + specifier: workspace:* + version: link:../core + '@openstapps/logger': + specifier: workspace:* + version: link:../logger + '@types/cli-progress': + specifier: 3.11.0 + version: 3.11.0 + '@types/express': + specifier: 4.17.17 + version: 4.17.17 + '@types/fs-extra': + specifier: 9.0.13 + version: 9.0.13 + '@types/json-schema': + specifier: 7.0.14 + version: 7.0.14 + '@types/junit-report-builder': + specifier: 3.0.0 + version: 3.0.0 + '@types/mocha': + specifier: 10.0.1 + version: 10.0.1 + '@types/node': + specifier: 18.15.3 + version: 18.15.3 + '@types/wait-on': + specifier: 5.3.1 + version: 5.3.1 + cli-progress: + specifier: 3.12.0 + version: 3.12.0 + commander: + specifier: 10.0.0 + version: 10.0.0 + fs-extra: + specifier: 10.1.0 + version: 10.1.0 + junit-report-builder: + specifier: 3.0.1 + version: 3.0.1 + wait-on: + specifier: 6.0.1 + version: 6.0.1 devDependencies: '@openstapps/eslint-config': specifier: workspace:* @@ -1785,12 +1834,6 @@ importers: '@types/json-schema': specifier: 7.0.14 version: 7.0.14 - ajv: - specifier: 8.12.0 - version: 8.12.0 - better-ajv-errors: - specifier: 1.2.0 - version: 1.2.0(ajv@8.12.0) devDependencies: '@openstapps/eslint-config': specifier: workspace:* @@ -1940,6 +1983,9 @@ importers: '@openstapps/tsup-plugin': specifier: workspace:* version: link:../tsup-plugin + '@types/json-schema': + specifier: 7.0.14 + version: 7.0.14 deepmerge: specifier: 4.3.1 version: 4.3.1 @@ -1965,9 +2011,6 @@ importers: '@types/glob': specifier: 8.0.1 version: 8.0.1 - '@types/json-schema': - specifier: 7.0.14 - version: 7.0.14 '@types/mocha': specifier: 10.0.1 version: 10.0.1 @@ -5936,6 +5979,16 @@ packages: resolution: {integrity: sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==} dev: true + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: false + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: false + /@hugotomazi/capacitor-navigation-bar@2.0.0(@capacitor/core@4.6.1): resolution: {integrity: sha512-hebf0ixGPugiZfH6g7HS/hrDzkKmNdJV/pV2jUz5lfoZXFMjE+7aeAr1AqwW6EGNej65WcEP8VUL5YUc3wSCjw==} peerDependencies: @@ -5958,11 +6011,6 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/momoa@2.0.4: - resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} - engines: {node: '>=10.10.0'} - dev: false - /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} @@ -6702,6 +6750,20 @@ packages: - chokidar dev: true + /@sideway/address@4.1.4: + resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: false + + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: false + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: false + /@sigstore/protobuf-specs@0.1.0: resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6907,6 +6969,12 @@ packages: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true + /@types/cli-progress@3.11.0: + resolution: {integrity: sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==} + dependencies: + '@types/node': 18.15.3 + dev: false + /@types/config@3.3.0: resolution: {integrity: sha512-9kZSbl3/X3TVNowLCu5HFQdQmD+4287Om55avknEYkuo6R2dDrsp/EXEHUFvfYeG7m1eJ0WYGj+cbcUIhARJAQ==} dev: false @@ -7008,7 +7076,6 @@ packages: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: '@types/node': 18.15.3 - dev: true /@types/geojson@1.0.6: resolution: {integrity: sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==} @@ -7080,6 +7147,10 @@ packages: resolution: {integrity: sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==} dev: true + /@types/junit-report-builder@3.0.0: + resolution: {integrity: sha512-Rr3uts4+YVFsk7FCxzbapZQR04+4FCYVEvTvnxA6NNVnvNkA5Nx8bguU+iZrks1OMXHJJo0vWCi4+aUavRcJjw==} + dev: false + /@types/karma-coverage@2.0.1: resolution: {integrity: sha512-A5aJSn2IVJAy6XJl3zC8xAk78pqcj1dSAc9s0QPj3jnsmEpK5cGKmCTVVD7CYX8iEFk0C+IuSiS5YPVbacreSg==} dependencies: @@ -7139,7 +7210,6 @@ packages: /@types/mocha@10.0.1: resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} - dev: true /@types/morgan@1.9.4: resolution: {integrity: sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==} @@ -7299,6 +7369,12 @@ packages: resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} dev: false + /@types/wait-on@5.3.1: + resolution: {integrity: sha512-2FFOKCF/YydrMUaqg+fkk49qf0e5rDgwt6aQsMzFQzbS419h2gNOXyiwp/o2yYy27bi/C1z+HgfncryjGzlvgQ==} + dependencies: + '@types/node': 18.15.3 + dev: false + /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: @@ -8124,6 +8200,14 @@ packages: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: true + /axios@0.25.0: + resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} + dependencies: + follow-redirects: 1.15.2 + transitivePeerDependencies: + - debug + dev: false + /axios@0.27.2: resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} dependencies: @@ -8285,20 +8369,6 @@ packages: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} dev: true - /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - ajv: 4.11.8 - 8 - dependencies: - '@babel/code-frame': 7.22.5 - '@humanwhocodes/momoa': 2.0.4 - ajv: 8.12.0 - chalk: 4.1.2 - jsonpointer: 5.0.1 - leven: 3.1.0 - dev: false - /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -8819,6 +8889,13 @@ packages: restore-cursor: 3.1.0 dev: true + /cli-progress@3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + dependencies: + string-width: 4.2.3 + dev: false + /cli-spinners@2.6.1: resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} engines: {node: '>=6'} @@ -9997,6 +10074,11 @@ packages: engines: {node: '>=4.0'} dev: true + /date-format@4.0.3: + resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==} + engines: {node: '>=4.0'} + dev: false + /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true @@ -11475,7 +11557,6 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} @@ -11921,7 +12002,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -13011,6 +13091,16 @@ packages: topo: 3.0.3 dev: true + /joi@17.11.0: + resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.4 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: false + /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -13115,7 +13205,6 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -13127,11 +13216,6 @@ packages: engines: {node: '>=10.0.0'} dev: false - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - dev: false - /jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} @@ -13152,6 +13236,16 @@ packages: verror: 1.10.0 dev: true + /junit-report-builder@3.0.1: + resolution: {integrity: sha512-B8AZ2q24iGwPM3j/ZHc9nD0BY1rKhcnWCA1UvT8mhHfR8Vo/HTtg3ojMyo55BgctqQGZG7H8z0+g+mEUc32jgg==} + engines: {node: '>=8'} + dependencies: + date-format: 4.0.3 + lodash: 4.17.21 + make-dir: 3.1.0 + xmlbuilder: 15.1.1 + dev: false + /junit-report-merger@6.0.2: resolution: {integrity: sha512-Jk9PXeaJhbgo3aUNza2r24JgxYzLUtCk2kwrub8fbmDuWUdXhT/nfbM2MlU3JQiFbjVud1bzBWdzr9/GGBWfmA==} engines: {node: '>=14'} @@ -13383,11 +13477,6 @@ packages: - supports-color dev: true - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: false - /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -13777,7 +13866,6 @@ packages: engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -14068,7 +14156,6 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} @@ -16306,7 +16393,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: true /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} @@ -18152,7 +18238,6 @@ packages: /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - dev: true /unix-crypt-td-js@1.1.4: resolution: {integrity: sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==} @@ -18336,6 +18421,20 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true + /wait-on@6.0.1: + resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + axios: 0.25.0 + joi: 17.11.0 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + dev: false + /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -18791,7 +18890,6 @@ packages: /xmlbuilder@15.1.1: resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} engines: {node: '>=8.0'} - dev: true /xmldoc@1.3.0: resolution: {integrity: sha512-y7IRWW6PvEnYQZNZFMRLNJw+p3pezM4nKYPfr15g4OOW9i8VpeydycFuipE2297OvZnh3jSb2pxOt9QpkZUVng==}