Merge branch 'backstage:master' into feature-flag-documentation-update
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
---
|
||||
'@backstage/plugin-bazaar-backend': patch
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
|
||||
'@backstage/plugin-playlist-backend': patch
|
||||
'@backstage/plugin-search-backend-module-pg': patch
|
||||
'@backstage/plugin-user-settings-backend': patch
|
||||
---
|
||||
|
||||
Ensured typescript type checks in migration files.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-vault-backend': patch
|
||||
---
|
||||
|
||||
Added (optional) config `vault.publicUrl` as alternative to `vault.baseUrl` for `editUrl` and `showUrl` in case `vault.baseUrl` is internal
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Updated dependency `@types/http-errors` to `^2.0.0`.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/plugin-gcp-projects': patch
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
'@backstage/plugin-techdocs-module-addons-contrib': patch
|
||||
---
|
||||
|
||||
Updated dependency `@react-hookz/web` to `^20.0.0`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-stack-overflow-backend': patch
|
||||
---
|
||||
|
||||
Added option to supply API Access Token. This is required in addition to an API key when trying to access the data for a private Stack Overflow Team.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Bump `json-schema-library` to version `^7.3.9` which does not pull in the `gson-pointer` library
|
||||
+3
-3
@@ -2940,9 +2940,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"decode-uri-component@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "decode-uri-component@npm:0.2.0"
|
||||
checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94
|
||||
version: 0.2.2
|
||||
resolution: "decode-uri-component@npm:0.2.2"
|
||||
checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
"@types/compression": "^1.7.0",
|
||||
"@types/concat-stream": "^2.0.0",
|
||||
"@types/fs-extra": "^9.0.3",
|
||||
"@types/http-errors": "^1.6.3",
|
||||
"@types/http-errors": "^2.0.0",
|
||||
"@types/minimist": "^1.2.0",
|
||||
"@types/mock-fs": "^4.13.0",
|
||||
"@types/morgan": "^1.9.0",
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"@material-ui/core": "^4.12.2",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "4.0.0-alpha.57",
|
||||
"@react-hookz/web": "^19.0.0",
|
||||
"@react-hookz/web": "^20.0.0",
|
||||
"@types/react-sparklines": "^1.7.0",
|
||||
"@types/react-text-truncate": "^0.14.0",
|
||||
"ansi-regex": "^6.0.1",
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
await knex.schema.createTable('metadata', table => {
|
||||
table.comment('The table of Bazaar metadata');
|
||||
@@ -59,6 +64,9 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
await knex.schema.dropTable('metadata');
|
||||
await knex.schema.dropTable('members');
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
await knex.schema.alterTable('metadata', table => {
|
||||
table
|
||||
@@ -35,6 +40,9 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
await knex.schema.alterTable('metadata', table => {
|
||||
table
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
if (knex.client.config.client.includes('sqlite3')) {
|
||||
await knex.schema.dropTable('metadata');
|
||||
@@ -92,6 +97,9 @@ exports.up = async function up(knex) {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
if (knex.client.config.client.includes('sqlite3')) {
|
||||
await knex.schema.dropTable('metadata');
|
||||
|
||||
@@ -14,12 +14,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
await knex.schema.alterTable('members', table => {
|
||||
table.string('user_ref').nullable();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
return knex.schema.table('members', table => {
|
||||
table.dropColumn('user_ref');
|
||||
|
||||
@@ -14,9 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
* @returns { Promise<void> }
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
await knex.schema.alterTable('metadata', table => {
|
||||
@@ -25,8 +26,7 @@ exports.up = async function up(knex) {
|
||||
};
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
* @returns { Promise<void> }
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
await knex.schema.alterTable('metadata', table => {
|
||||
|
||||
+8
-6
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
*/
|
||||
@@ -25,7 +27,7 @@ exports.up = async function up(knex) {
|
||||
table.comment('Tracks ingestion streams for very large data sets');
|
||||
|
||||
table
|
||||
.uuid('id', { primary: true })
|
||||
.uuid('id')
|
||||
.notNullable()
|
||||
.comment('Auto-generated ID of the ingestion');
|
||||
|
||||
@@ -85,7 +87,7 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('ingestions', t => {
|
||||
t.primary('id');
|
||||
t.primary(['id']);
|
||||
t.index('provider_name', 'ingestion_provider_name_idx');
|
||||
t.unique(['provider_name', 'completion_ticket'], {
|
||||
indexName: 'ingestion_composite_index',
|
||||
@@ -100,7 +102,7 @@ exports.up = async function up(knex) {
|
||||
table.comment('tracks each step of an iterative ingestion');
|
||||
|
||||
table
|
||||
.uuid('id', { primary: true })
|
||||
.uuid('id')
|
||||
.notNullable()
|
||||
.comment('Auto-generated ID of the ingestion mark');
|
||||
|
||||
@@ -128,7 +130,7 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('ingestion_marks', t => {
|
||||
t.primary('id');
|
||||
t.primary(['id']);
|
||||
t.index('ingestion_id', 'ingestion_mark_ingestion_id_idx');
|
||||
});
|
||||
|
||||
@@ -141,7 +143,7 @@ exports.up = async function up(knex) {
|
||||
);
|
||||
|
||||
table
|
||||
.uuid('id', { primary: true })
|
||||
.uuid('id')
|
||||
.notNullable()
|
||||
.comment('Auto-generated ID of the marked entity');
|
||||
|
||||
@@ -162,7 +164,7 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('ingestion_mark_entities', t => {
|
||||
t.primary('id');
|
||||
t.primary(['id']);
|
||||
t.index('ingestion_mark_id', 'ingestion_mark_entity_ingestion_mark_id_idx');
|
||||
});
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@ exports.up = async function up(knex) {
|
||||
//
|
||||
.createTable('locations', table => {
|
||||
table.comment(
|
||||
'Registered locations that shall be contiuously scanned for catalog item updates',
|
||||
'Registered locations that shall be continuously scanned for catalog item updates',
|
||||
);
|
||||
table
|
||||
.uuid('id')
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
*/
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
*/
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"@material-ui/core": "^4.12.2",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "4.0.0-alpha.57",
|
||||
"@react-hookz/web": "^19.0.0"
|
||||
"@react-hookz/web": "^20.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.13.1 || ^17.0.0",
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
*/
|
||||
exports.up = async function up(knex) {
|
||||
await knex.schema.createTable('playlists', table => {
|
||||
table.comment('Playlists table');
|
||||
@@ -57,6 +62,9 @@ exports.up = async function up(knex) {
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
*/
|
||||
exports.down = async function down(knex) {
|
||||
await knex.schema.dropTable('playlists');
|
||||
await knex.schema.dropTable('entities');
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"@material-ui/core": "^4.12.2",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "4.0.0-alpha.57",
|
||||
"@react-hookz/web": "^19.0.0",
|
||||
"@react-hookz/web": "^20.0.0",
|
||||
"@rjsf/core": "^3.2.1",
|
||||
"@rjsf/core-v5": "npm:@rjsf/core@^5.0.0-beta.12",
|
||||
"@rjsf/material-ui": "^3.2.1",
|
||||
@@ -67,7 +67,7 @@
|
||||
"humanize-duration": "^3.25.1",
|
||||
"immer": "^9.0.1",
|
||||
"json-schema": "^0.4.0",
|
||||
"json-schema-library": "^7.0.0",
|
||||
"json-schema-library": "^7.3.9",
|
||||
"lodash": "^4.17.21",
|
||||
"luxon": "^3.0.0",
|
||||
"qs": "^6.9.4",
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
|
||||
@@ -15,14 +15,17 @@ stackoverflow:
|
||||
baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance
|
||||
```
|
||||
|
||||
### Stack Overflow for Teams (private stack overflow instance)
|
||||
### Stack Overflow for Teams
|
||||
|
||||
If you have a private stack overflow instance you will need to supply an API key as well. You can read more about how to set this up by going to [Stack Overflows Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api)
|
||||
If you have a private Stack Overflow instance and/or a private Stack Overflow Team you will need to supply an API key. You can read more about how to set this up by going to [Stack Overflow's Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api).
|
||||
|
||||
A private Stack Overflow Team requires both an API key and an API Access Token. Step 3 ("Generate an Access Token via OAuth") from the previously mentioned Help Page explains the process for generating an API Access Token with no expiration.
|
||||
|
||||
```yaml
|
||||
stackoverflow:
|
||||
baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance
|
||||
apiKey: $STACK_OVERFLOW_API_KEY
|
||||
apiAccessToken: $STACK_OVERFLOW_API_ACCESS_TOKEN
|
||||
```
|
||||
|
||||
## Areas of Responsibility
|
||||
|
||||
@@ -43,6 +43,7 @@ export type StackOverflowQuestionsCollatorFactoryOptions = {
|
||||
baseUrl?: string;
|
||||
maxPage?: number;
|
||||
apiKey?: string;
|
||||
apiAccessToken?: string;
|
||||
requestParams: StackOverflowQuestionsRequestParams;
|
||||
logger: Logger;
|
||||
};
|
||||
|
||||
+7
-1
@@ -25,9 +25,15 @@ export interface Config {
|
||||
baseUrl?: string;
|
||||
|
||||
/**
|
||||
* The api key to authenticate to Stack Overflow API
|
||||
* The API key to authenticate to Stack Overflow API
|
||||
* @visibility secret
|
||||
*/
|
||||
apiKey?: string;
|
||||
|
||||
/**
|
||||
* The API Access Token to authenticate to Stack Overflow API
|
||||
* @visibility secret
|
||||
*/
|
||||
apiAccessToken?: string;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ export type StackOverflowQuestionsCollatorFactoryOptions = {
|
||||
baseUrl?: string;
|
||||
maxPage?: number;
|
||||
apiKey?: string;
|
||||
apiAccessToken?: string;
|
||||
requestParams: StackOverflowQuestionsRequestParams;
|
||||
logger: Logger;
|
||||
};
|
||||
@@ -67,6 +68,7 @@ export class StackOverflowQuestionsCollatorFactory
|
||||
protected requestParams: StackOverflowQuestionsRequestParams;
|
||||
private readonly baseUrl: string | undefined;
|
||||
private readonly apiKey: string | undefined;
|
||||
private readonly apiAccessToken: string | undefined;
|
||||
private readonly maxPage: number | undefined;
|
||||
private readonly logger: Logger;
|
||||
public readonly type: string = 'stack-overflow';
|
||||
@@ -74,6 +76,7 @@ export class StackOverflowQuestionsCollatorFactory
|
||||
private constructor(options: StackOverflowQuestionsCollatorFactoryOptions) {
|
||||
this.baseUrl = options.baseUrl;
|
||||
this.apiKey = options.apiKey;
|
||||
this.apiAccessToken = options.apiAccessToken;
|
||||
this.maxPage = options.maxPage;
|
||||
this.requestParams = options.requestParams;
|
||||
this.logger = options.logger.child({ documentType: this.type });
|
||||
@@ -84,6 +87,9 @@ export class StackOverflowQuestionsCollatorFactory
|
||||
options: StackOverflowQuestionsCollatorFactoryOptions,
|
||||
) {
|
||||
const apiKey = config.getOptionalString('stackoverflow.apiKey');
|
||||
const apiAccessToken = config.getOptionalString(
|
||||
'stackoverflow.apiAccessToken',
|
||||
);
|
||||
const baseUrl =
|
||||
config.getOptionalString('stackoverflow.baseUrl') ||
|
||||
'https://api.stackexchange.com/2.2';
|
||||
@@ -93,6 +99,7 @@ export class StackOverflowQuestionsCollatorFactory
|
||||
baseUrl,
|
||||
maxPage,
|
||||
apiKey,
|
||||
apiAccessToken,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -138,6 +145,13 @@ export class StackOverflowQuestionsCollatorFactory
|
||||
}
|
||||
const res = await fetch(
|
||||
`${this.baseUrl}/questions${params}${apiKeyParam}&page=${page}`,
|
||||
this.apiAccessToken
|
||||
? {
|
||||
headers: {
|
||||
'X-API-Access-Token': this.apiAccessToken,
|
||||
},
|
||||
}
|
||||
: undefined,
|
||||
);
|
||||
|
||||
const data = await res.json();
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
"@material-ui/core": "^4.9.13",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "4.0.0-alpha.57",
|
||||
"@react-hookz/web": "^19.0.0",
|
||||
"@react-hookz/web": "^20.0.0",
|
||||
"git-url-parse": "^13.0.0",
|
||||
"react-use": "^17.2.4"
|
||||
},
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* @param {import('knex').Knex} knex
|
||||
*/
|
||||
|
||||
@@ -63,7 +63,8 @@ To get started, first you need a running instance of Vault. You can follow [this
|
||||
|
||||
```yaml
|
||||
vault:
|
||||
baseUrl: http://your-vault-url
|
||||
baseUrl: http://your-internal-vault-url.svc
|
||||
publicUrl: https://your-vault-url.example.com
|
||||
token: <VAULT_TOKEN>
|
||||
secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'
|
||||
kvVersion: <kv-version> # Optional. The K/V version that your instance is using. The available options are '1' or '2'
|
||||
|
||||
Vendored
+6
@@ -23,6 +23,12 @@ export interface Config {
|
||||
*/
|
||||
baseUrl: string;
|
||||
|
||||
/**
|
||||
* The publicUrl for your Vault instance (Optional).
|
||||
* @visibility frontend
|
||||
*/
|
||||
publicUrl?: string;
|
||||
|
||||
/**
|
||||
* The token used by Backstage to access Vault.
|
||||
* @visibility secret
|
||||
|
||||
@@ -40,6 +40,7 @@ describe('GetVaultConfig', () => {
|
||||
const vaultConfig = getVaultConfig(config);
|
||||
expect(vaultConfig).toStrictEqual({
|
||||
baseUrl: 'http://www.example.com',
|
||||
publicUrl: undefined,
|
||||
token: '123',
|
||||
kvVersion: 2,
|
||||
secretEngine: 'secrets',
|
||||
@@ -59,6 +60,7 @@ describe('GetVaultConfig', () => {
|
||||
const vaultConfig = getVaultConfig(config);
|
||||
expect(vaultConfig).toStrictEqual({
|
||||
baseUrl: 'http://www.example.com',
|
||||
publicUrl: undefined,
|
||||
token: '123',
|
||||
kvVersion: 1,
|
||||
secretEngine: 'test',
|
||||
|
||||
@@ -27,6 +27,11 @@ export interface VaultConfig {
|
||||
*/
|
||||
baseUrl: string;
|
||||
|
||||
/**
|
||||
* The publicUrl for your Vault instance (Optional).
|
||||
*/
|
||||
publicUrl?: string;
|
||||
|
||||
/**
|
||||
* The token used by Backstage to access Vault.
|
||||
*/
|
||||
@@ -53,6 +58,7 @@ export interface VaultConfig {
|
||||
export function getVaultConfig(config: Config): VaultConfig {
|
||||
return {
|
||||
baseUrl: config.getString('vault.baseUrl'),
|
||||
publicUrl: config.getOptionalString('vault.publicUrl'),
|
||||
token: config.getString('vault.token'),
|
||||
kvVersion: config.getOptionalNumber('vault.kvVersion') ?? 2,
|
||||
secretEngine: config.getOptionalString('vault.secretEngine') ?? 'secrets',
|
||||
|
||||
@@ -135,11 +135,13 @@ export class VaultClient implements VaultApi {
|
||||
)),
|
||||
);
|
||||
} else {
|
||||
const vaultUrl =
|
||||
this.vaultConfig.publicUrl || this.vaultConfig.baseUrl;
|
||||
secrets.push({
|
||||
name: secret,
|
||||
path: secretPath,
|
||||
editUrl: `${this.vaultConfig.baseUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/edit/${secretPath}/${secret}`,
|
||||
showUrl: `${this.vaultConfig.baseUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/show/${secretPath}/${secret}`,
|
||||
editUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/edit/${secretPath}/${secret}`,
|
||||
showUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/show/${secretPath}/${secret}`,
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
+3
-3
@@ -5092,9 +5092,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"decode-uri-component@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "decode-uri-component@npm:0.2.0"
|
||||
checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94
|
||||
version: 0.2.2
|
||||
resolution: "decode-uri-component@npm:0.2.2"
|
||||
checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@@ -3412,7 +3412,7 @@ __metadata:
|
||||
"@types/dockerode": ^3.3.0
|
||||
"@types/express": ^4.17.6
|
||||
"@types/fs-extra": ^9.0.3
|
||||
"@types/http-errors": ^1.6.3
|
||||
"@types/http-errors": ^2.0.0
|
||||
"@types/luxon": ^3.0.0
|
||||
"@types/minimist": ^1.2.0
|
||||
"@types/mock-fs": ^4.13.0
|
||||
@@ -3967,7 +3967,7 @@ __metadata:
|
||||
"@material-ui/core": ^4.12.2
|
||||
"@material-ui/icons": ^4.9.1
|
||||
"@material-ui/lab": 4.0.0-alpha.57
|
||||
"@react-hookz/web": ^19.0.0
|
||||
"@react-hookz/web": ^20.0.0
|
||||
"@testing-library/jest-dom": ^5.10.1
|
||||
"@testing-library/react": ^12.1.3
|
||||
"@testing-library/react-hooks": ^8.0.0
|
||||
@@ -6196,7 +6196,7 @@ __metadata:
|
||||
"@material-ui/core": ^4.12.2
|
||||
"@material-ui/icons": ^4.9.1
|
||||
"@material-ui/lab": 4.0.0-alpha.57
|
||||
"@react-hookz/web": ^19.0.0
|
||||
"@react-hookz/web": ^20.0.0
|
||||
"@testing-library/jest-dom": ^5.10.1
|
||||
"@testing-library/react": ^12.1.3
|
||||
"@testing-library/user-event": ^14.0.0
|
||||
@@ -7475,7 +7475,7 @@ __metadata:
|
||||
"@material-ui/core": ^4.12.2
|
||||
"@material-ui/icons": ^4.9.1
|
||||
"@material-ui/lab": 4.0.0-alpha.57
|
||||
"@react-hookz/web": ^19.0.0
|
||||
"@react-hookz/web": ^20.0.0
|
||||
"@rjsf/core": ^3.2.1
|
||||
"@rjsf/core-v5": "npm:@rjsf/core@^5.0.0-beta.12"
|
||||
"@rjsf/material-ui": ^3.2.1
|
||||
@@ -7497,7 +7497,7 @@ __metadata:
|
||||
humanize-duration: ^3.25.1
|
||||
immer: ^9.0.1
|
||||
json-schema: ^0.4.0
|
||||
json-schema-library: ^7.0.0
|
||||
json-schema-library: ^7.3.9
|
||||
lodash: ^4.17.21
|
||||
luxon: ^3.0.0
|
||||
msw: ^0.49.0
|
||||
@@ -8139,7 +8139,7 @@ __metadata:
|
||||
"@material-ui/core": ^4.9.13
|
||||
"@material-ui/icons": ^4.9.1
|
||||
"@material-ui/lab": 4.0.0-alpha.57
|
||||
"@react-hookz/web": ^19.0.0
|
||||
"@react-hookz/web": ^20.0.0
|
||||
"@testing-library/jest-dom": ^5.10.1
|
||||
"@testing-library/react": ^12.1.3
|
||||
"@testing-library/user-event": ^14.0.0
|
||||
@@ -12432,9 +12432,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@react-hookz/web@npm:^19.0.0":
|
||||
version: 19.2.0
|
||||
resolution: "@react-hookz/web@npm:19.2.0"
|
||||
"@react-hookz/web@npm:^20.0.0":
|
||||
version: 20.0.0
|
||||
resolution: "@react-hookz/web@npm:20.0.0"
|
||||
dependencies:
|
||||
"@react-hookz/deep-equal": ^1.0.3
|
||||
peerDependencies:
|
||||
@@ -12444,7 +12444,7 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
js-cookie:
|
||||
optional: true
|
||||
checksum: 0fda3d3a0f967b6b38817f1e72d111711fc01036a8e6d0850bd4e3b3fa41af8635b260babf19e384402ac6d2dfa7db779585c0c8b16700cc0f568df9662ca517
|
||||
checksum: 475d03cdd9a9131b7094549602c8a3ab52ad33e99d7ef408ba2ee7897bfdf332ab5228f46187b9a4c42535b4aaaf808e2c9c882949b2ec32d5ad42d53487a723
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -12793,6 +12793,23 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sagold/json-pointer@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "@sagold/json-pointer@npm:5.0.0"
|
||||
checksum: 0a087ff25e28d0c49b56566a14d6186ae0ce9fe538569eb7756c1a70989f2794dbc6f0834b5d2f2a0a79b6f0e3096eb05558664d5ff038daba5a46cb5e752e1a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sagold/json-query@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "@sagold/json-query@npm:6.0.0"
|
||||
dependencies:
|
||||
"@sagold/json-pointer": ^5.0.0
|
||||
ebnf: ^1.9.0
|
||||
checksum: 56bb6151e6e6b1ef26bb03133b440e90d47c013529899e26cedb4c96f8a51f0115717ebab1355a8c3e6ea0c70e5ddaefc54c44330686ae3b2f8cb7d162011d73
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@short.io/opensearch-mock@npm:^0.3.1":
|
||||
version: 0.3.1
|
||||
resolution: "@short.io/opensearch-mock@npm:0.3.1"
|
||||
@@ -14167,10 +14184,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/http-errors@npm:^1.6.3":
|
||||
version: 1.8.2
|
||||
resolution: "@types/http-errors@npm:1.8.2"
|
||||
checksum: ecc365eea98d7eca650d593e742571acc3003742f0dd0fbbb15b8fce286e0f7421644b4140fb9bf701bbb7f1b744aea3967ebe025f0f0811aa5ab2c3d40fe111
|
||||
"@types/http-errors@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "@types/http-errors@npm:2.0.1"
|
||||
checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -23741,31 +23758,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"gson-conform@npm:^1.0.3":
|
||||
version: 1.0.3
|
||||
resolution: "gson-conform@npm:1.0.3"
|
||||
checksum: 63867de06365e82394492fb83dd225e2f8af71f1ff0eb72bd860a86d4b4830e3cc3cdd561374625cc6ef99415a3f757c932ef08cf9fc3c097f0903d0c47bca8b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"gson-pointer@npm:4.1.1, gson-pointer@npm:^4.1.1":
|
||||
version: 4.1.1
|
||||
resolution: "gson-pointer@npm:4.1.1"
|
||||
checksum: e6ad0232467ae1ab8902cf801f74436ab28d251fa5f7db7dba78e26d871b7cd8edcef60170bd4ba1aa9b16639f2662a47bbb7214750c4a14594dba4990b0db47
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"gson-query@npm:^5.1.0":
|
||||
version: 5.1.0
|
||||
resolution: "gson-query@npm:5.1.0"
|
||||
dependencies:
|
||||
ebnf: ^1.9.0
|
||||
gson-conform: ^1.0.3
|
||||
gson-pointer: 4.1.1
|
||||
checksum: 8af3d5ba52d0a684e71af1b00b2180b2d80bb8eea5252034c5a9f5213e06ee105ef77c17002cf10f1c8ecaaa0e2fbbd43978f579528c66a8b975a0dc4839e9d5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"gtoken@npm:^6.1.0":
|
||||
version: 6.1.1
|
||||
resolution: "gtoken@npm:6.1.1"
|
||||
@@ -26558,16 +26550,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-library@npm:^7.0.0":
|
||||
version: 7.3.0
|
||||
resolution: "json-schema-library@npm:7.3.0"
|
||||
"json-schema-library@npm:^7.3.9":
|
||||
version: 7.3.9
|
||||
resolution: "json-schema-library@npm:7.3.9"
|
||||
dependencies:
|
||||
"@sagold/json-pointer": ^5.0.0
|
||||
"@sagold/json-query": ^6.0.0
|
||||
deepmerge: ^4.2.2
|
||||
fast-deep-equal: ^3.1.3
|
||||
gson-pointer: ^4.1.1
|
||||
gson-query: ^5.1.0
|
||||
valid-url: ^1.0.9
|
||||
checksum: 3d148d4be1e59e058bd777d247c181e2cb4820f9f5b9c97f7258f88fa73e1c0ed5c8e07c3fef4e1e8e892666def02b2b5fe5366d3d8d2bed09be3752e5593319
|
||||
checksum: de40dd4d5f1ce438fa45703402716f2cf543b8e89d4ffc3618045f771f6f749928984905db761e9cf7e8602d213f4578c3e983a40e0d49013c0fea1488d397a8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user