From bc89e9e49403a476ca44b9342265b0bd3b79da94 Mon Sep 17 00:00:00 2001 From: Fatih Sarhan Date: Fri, 12 Nov 2021 14:33:22 +0300 Subject: [PATCH 1/6] mixin: Reorder template variables on Remote Write dashboard Signed-off-by: f9n --- documentation/prometheus-mixin/dashboards.libsonnet | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/prometheus-mixin/dashboards.libsonnet b/documentation/prometheus-mixin/dashboards.libsonnet index 0581007b4..b95f13e0a 100644 --- a/documentation/prometheus-mixin/dashboards.libsonnet +++ b/documentation/prometheus-mixin/dashboards.libsonnet @@ -312,9 +312,9 @@ local template = grafana.template; ) .addTemplate( template.new( - 'instance', + 'cluster', '$datasource', - 'label_values(prometheus_build_info, instance)' % $._config, + 'label_values(kube_pod_container_info{image=~".*prometheus.*"}, cluster)' % $._config, refresh='time', current={ selected: true, @@ -326,9 +326,9 @@ local template = grafana.template; ) .addTemplate( template.new( - 'cluster', + 'instance', '$datasource', - 'label_values(kube_pod_container_info{image=~".*prometheus.*"}, cluster)' % $._config, + 'label_values(prometheus_build_info{cluster=~"$cluster"}, instance)' % $._config, refresh='time', current={ selected: true, From e41dcca7060b8b028b03454ab711724df32d843c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Nov 2021 15:41:38 +0100 Subject: [PATCH 2/6] build(deps): bump @codemirror/matchbrackets in /web/ui (#9804) Bumps [@codemirror/matchbrackets](https://github.com/codemirror/matchbrackets) from 0.19.1 to 0.19.3. - [Release notes](https://github.com/codemirror/matchbrackets/releases) - [Changelog](https://github.com/codemirror/matchbrackets/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/matchbrackets/compare/0.19.1...0.19.3) --- updated-dependencies: - dependency-name: "@codemirror/matchbrackets" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/ui/package-lock.json | 13 ++++++++----- web/ui/react-app/package.json | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/web/ui/package-lock.json b/web/ui/package-lock.json index ed86c6526..d4ee2b6c2 100644 --- a/web/ui/package-lock.json +++ b/web/ui/package-lock.json @@ -1288,8 +1288,9 @@ } }, "node_modules/@codemirror/matchbrackets": { - "version": "0.19.1", - "license": "MIT", + "version": "0.19.3", + "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.19.3.tgz", + "integrity": "sha512-ljkrBxaLgh8jesroUiBa57pdEwqJamxkukXrJpL9LdyFZVJaF+9TldhztRaMsMZO1XnCSSHQ9sg32iuHo7Sc2g==", "dependencies": { "@codemirror/language": "^0.19.0", "@codemirror/state": "^0.19.0", @@ -6797,7 +6798,7 @@ "@codemirror/history": "^0.19.0", "@codemirror/language": "^0.19.5", "@codemirror/lint": "^0.19.3", - "@codemirror/matchbrackets": "^0.19.1", + "@codemirror/matchbrackets": "^0.19.3", "@codemirror/search": "^0.19.2", "@codemirror/state": "^0.19.5", "@codemirror/view": "^0.19.19", @@ -27443,7 +27444,9 @@ } }, "@codemirror/matchbrackets": { - "version": "0.19.1", + "version": "0.19.3", + "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.19.3.tgz", + "integrity": "sha512-ljkrBxaLgh8jesroUiBa57pdEwqJamxkukXrJpL9LdyFZVJaF+9TldhztRaMsMZO1XnCSSHQ9sg32iuHo7Sc2g==", "requires": { "@codemirror/language": "^0.19.0", "@codemirror/state": "^0.19.0", @@ -29490,7 +29493,7 @@ "@codemirror/history": "^0.19.0", "@codemirror/language": "^0.19.5", "@codemirror/lint": "^0.19.3", - "@codemirror/matchbrackets": "^0.19.1", + "@codemirror/matchbrackets": "^0.19.3", "@codemirror/search": "^0.19.2", "@codemirror/state": "^0.19.5", "@codemirror/view": "^0.19.19", diff --git a/web/ui/react-app/package.json b/web/ui/react-app/package.json index fd4f85a6a..4ffc9876e 100644 --- a/web/ui/react-app/package.json +++ b/web/ui/react-app/package.json @@ -11,7 +11,7 @@ "@codemirror/history": "^0.19.0", "@codemirror/language": "^0.19.5", "@codemirror/lint": "^0.19.3", - "@codemirror/matchbrackets": "^0.19.1", + "@codemirror/matchbrackets": "^0.19.3", "@codemirror/search": "^0.19.2", "@codemirror/state": "^0.19.5", "@codemirror/view": "^0.19.19", From ce46acc14ecf06c58975cac06fac69cca6fccd8d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Nov 2021 16:25:46 +0100 Subject: [PATCH 3/6] build(deps-dev): bump @types/jest from 27.0.1 to 27.0.2 in /web/ui (#9806) * build(deps-dev): bump @types/jest from 27.0.1 to 27.0.2 in /web/ui Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.0.1 to 27.0.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * update package-lock.json Signed-off-by: Augustin Husson Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Augustin Husson --- web/ui/package-lock.json | 636 +++++++++++++--------------------- web/ui/react-app/package.json | 2 +- 2 files changed, 234 insertions(+), 404 deletions(-) diff --git a/web/ui/package-lock.json b/web/ui/package-lock.json index d4ee2b6c2..794e70c37 100644 --- a/web/ui/package-lock.json +++ b/web/ui/package-lock.json @@ -1498,6 +1498,22 @@ "node": ">=8" } }, + "node_modules/@jest/types": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", + "integrity": "sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/@lezer/common": { "version": "0.15.8", "license": "MIT" @@ -1612,6 +1628,40 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", + "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", + "dev": true, + "dependencies": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, "node_modules/@types/jquery": { "version": "3.5.8", "dev": true, @@ -1733,6 +1783,21 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.33.0", "dev": true, @@ -2721,6 +2786,15 @@ "node": ">=0.3.1" } }, + "node_modules/diff-sequences": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", + "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -4375,6 +4449,30 @@ "node": ">=8" } }, + "node_modules/jest-diff": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.3.1.tgz", + "integrity": "sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.6", + "jest-get-type": "^27.3.1", + "pretty-format": "^27.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.3.1.tgz", + "integrity": "sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -5461,6 +5559,33 @@ "node": ">=6.0.0" } }, + "node_modules/pretty-format": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.3.1.tgz", + "integrity": "sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.2.5", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "dev": true, @@ -6833,7 +6958,7 @@ "@testing-library/react-hooks": "^7.0.1", "@types/enzyme": "^3.10.10", "@types/flot": "0.0.32", - "@types/jest": "^27.0.1", + "@types/jest": "^27.0.2", "@types/jquery": "^3.5.8", "@types/node": "^16.11.7", "@types/react": "^17.0.35", @@ -9518,85 +9643,6 @@ "node": ">=8" } }, - "react-app/node_modules/@jest/types": { - "version": "27.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "react-app/node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "react-app/node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "react-app/node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "react-app/node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "react-app/node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "react-app/node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "react-app/node_modules/@nexucis/fuzzy": { "version": "0.3.0", "license": "MIT" @@ -10070,36 +10116,6 @@ "dev": true, "license": "MIT" }, - "react-app/node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "react-app/node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "react-app/node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "react-app/node_modules/@types/jest": { - "version": "27.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, "react-app/node_modules/@types/minimatch": { "version": "3.0.5", "dev": true, @@ -10211,19 +10227,6 @@ "node": ">=0.10.0" } }, - "react-app/node_modules/@types/yargs": { - "version": "16.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "react-app/node_modules/@types/yargs-parser": { - "version": "20.2.1", - "dev": true, - "license": "MIT" - }, "react-app/node_modules/@webassemblyjs/ast": { "version": "1.9.0", "dev": true, @@ -13126,14 +13129,6 @@ "dev": true, "license": "MIT" }, - "react-app/node_modules/diff-sequences": { - "version": "27.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "react-app/node_modules/diffie-hellman": { "version": "5.0.3", "dev": true, @@ -16387,84 +16382,6 @@ "node": ">=8" } }, - "react-app/node_modules/jest-diff": { - "version": "27.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.6", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.2.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "react-app/node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "react-app/node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "react-app/node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "react-app/node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "react-app/node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "react-app/node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "react-app/node_modules/jest-docblock": { "version": "26.0.0", "dev": true, @@ -16816,14 +16733,6 @@ "promise-polyfill": "^8.1.3" } }, - "react-app/node_modules/jest-get-type": { - "version": "27.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "react-app/node_modules/jest-haste-map": { "version": "26.6.2", "dev": true, @@ -21665,31 +21574,6 @@ "renderkid": "^2.0.4" } }, - "react-app/node_modules/pretty-format": { - "version": "27.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.1.1", - "ansi-regex": "^5.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "react-app/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "react-app/node_modules/process": { "version": "0.11.10", "dev": true, @@ -27601,6 +27485,19 @@ "version": "0.1.3", "dev": true }, + "@jest/types": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", + "integrity": "sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, "@lezer/common": { "version": "0.15.8" }, @@ -27686,6 +27583,40 @@ "version": "4.7.9", "dev": true }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", + "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", + "dev": true, + "requires": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, "@types/jquery": { "version": "3.5.8", "dev": true, @@ -27789,6 +27720,21 @@ "version": "2.3.3", "dev": true }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, "@typescript-eslint/eslint-plugin": { "version": "4.33.0", "dev": true, @@ -28786,6 +28732,12 @@ "version": "5.0.0", "dev": true }, + "diff-sequences": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", + "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", + "dev": true + }, "dir-glob": { "version": "3.0.1", "dev": true, @@ -29505,7 +29457,7 @@ "@testing-library/react-hooks": "^7.0.1", "@types/enzyme": "^3.10.10", "@types/flot": "0.0.32", - "@types/jest": "^27.0.1", + "@types/jest": "^27.0.2", "@types/jquery": "^3.5.8", "@types/node": "^16.11.7", "@types/react": "^17.0.35", @@ -31231,56 +31183,6 @@ } } }, - "@jest/types": { - "version": "27.1.1", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "@nexucis/fuzzy": { "version": "0.3.0" }, @@ -31549,32 +31451,6 @@ "version": "5.1.2", "dev": true }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.0.1", - "dev": true, - "requires": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, "@types/minimatch": { "version": "3.0.5", "dev": true @@ -31667,17 +31543,6 @@ } } }, - "@types/yargs": { - "version": "16.0.4", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.9.0", "dev": true, @@ -33757,10 +33622,6 @@ } } }, - "diff-sequences": { - "version": "27.0.6", - "dev": true - }, "diffie-hellman": { "version": "5.0.3", "dev": true, @@ -35941,55 +35802,6 @@ } } }, - "jest-diff": { - "version": "27.2.0", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.6", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "jest-docblock": { "version": "26.0.0", "dev": true, @@ -36226,10 +36038,6 @@ "promise-polyfill": "^8.1.3" } }, - "jest-get-type": { - "version": "27.0.6", - "dev": true - }, "jest-haste-map": { "version": "26.6.2", "dev": true, @@ -39557,22 +39365,6 @@ "renderkid": "^2.0.4" } }, - "pretty-format": { - "version": "27.2.0", - "dev": true, - "requires": { - "@jest/types": "^27.1.1", - "ansi-regex": "^5.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - } - } - }, "process": { "version": "0.11.10", "dev": true @@ -43670,6 +43462,24 @@ "istanbul-lib-report": "^3.0.0" } }, + "jest-diff": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.3.1.tgz", + "integrity": "sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.6", + "jest-get-type": "^27.3.1", + "pretty-format": "^27.3.1" + } + }, + "jest-get-type": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.3.1.tgz", + "integrity": "sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg==", + "dev": true + }, "js-tokens": { "version": "4.0.0" }, @@ -44390,6 +44200,26 @@ "fast-diff": "^1.1.2" } }, + "pretty-format": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.3.1.tgz", + "integrity": "sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA==", + "dev": true, + "requires": { + "@jest/types": "^27.2.5", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, "process-nextick-args": { "version": "2.0.1", "dev": true diff --git a/web/ui/react-app/package.json b/web/ui/react-app/package.json index 4ffc9876e..90f7bbf59 100644 --- a/web/ui/react-app/package.json +++ b/web/ui/react-app/package.json @@ -67,7 +67,7 @@ "@testing-library/react-hooks": "^7.0.1", "@types/enzyme": "^3.10.10", "@types/flot": "0.0.32", - "@types/jest": "^27.0.1", + "@types/jest": "^27.0.2", "@types/jquery": "^3.5.8", "@types/node": "^16.11.7", "@types/react": "^17.0.35", From d1eadf10850ffefae0ba40421216affcda50f2e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Nov 2021 18:36:57 +0100 Subject: [PATCH 4/6] build(deps-dev): bump ts-node from 9.1.1 to 10.4.0 in /web/ui (#9809) Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 9.1.1 to 10.4.0. - [Release notes](https://github.com/TypeStrong/ts-node/releases) - [Commits](https://github.com/TypeStrong/ts-node/compare/v9.1.1...v10.4.0) --- updated-dependencies: - dependency-name: ts-node dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/ui/module/codemirror-promql/package.json | 2 +- web/ui/package-lock.json | 161 +++++++++++++++++-- 2 files changed, 152 insertions(+), 11 deletions(-) diff --git a/web/ui/module/codemirror-promql/package.json b/web/ui/module/codemirror-promql/package.json index 2a5b79f08..ee6ee543c 100644 --- a/web/ui/module/codemirror-promql/package.json +++ b/web/ui/module/codemirror-promql/package.json @@ -63,7 +63,7 @@ "prettier": "^2.4.1", "ts-loader": "^7.0.4", "ts-mocha": "^8.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.4.0", "typescript": "^4.5.2" }, "peerDependencies": { diff --git a/web/ui/package-lock.json b/web/ui/package-lock.json index 794e70c37..c8076b312 100644 --- a/web/ui/package-lock.json +++ b/web/ui/package-lock.json @@ -49,7 +49,7 @@ "prettier": "^2.4.1", "ts-loader": "^7.0.4", "ts-mocha": "^8.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.4.0", "typescript": "^4.5.2" }, "engines": { @@ -1366,6 +1366,27 @@ "w3c-keyname": "^2.2.4" } }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "dev": true, @@ -1593,6 +1614,30 @@ "node": ">= 6" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "node_modules/@types/chai": { "version": "4.2.22", "dev": true, @@ -2131,6 +2176,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agent-base": { "version": "6.0.2", "dev": true, @@ -6489,28 +6543,56 @@ } }, "node_modules/ts-node": { - "version": "9.1.1", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", + "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", "dev": true, - "license": "MIT", "dependencies": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" }, "bin": { "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js", "ts-script": "dist/bin-script-deprecated.js" }, - "engines": { - "node": ">=10.0.0" - }, "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 + } + } + }, + "node_modules/ts-node/node_modules/acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/ts-node/node_modules/diff": { @@ -27399,6 +27481,21 @@ "w3c-keyname": "^2.2.4" } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "dev": true, @@ -27553,6 +27650,30 @@ "version": "1.1.2", "dev": true }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "@types/chai": { "version": "4.2.22", "dev": true @@ -27907,6 +28028,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "agent-base": { "version": "6.0.2", "dev": true, @@ -28248,7 +28375,7 @@ "prettier": "^2.4.1", "ts-loader": "^7.0.4", "ts-mocha": "^8.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.4.0", "typescript": "^4.5.2" }, "dependencies": { @@ -44814,17 +44941,31 @@ } }, "ts-node": { - "version": "9.1.1", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", + "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", "dev": true, "requires": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" }, "dependencies": { + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true + }, "diff": { "version": "4.0.2", "dev": true From 9dcf8b2208bdb1d6415552a8424061459b1f4dc3 Mon Sep 17 00:00:00 2001 From: Darshan Chaudhary Date: Fri, 19 Nov 2021 15:41:32 +0530 Subject: [PATCH 5/6] Add the ability to disable tsdb isolation (#9270) * Disable isolation in isolation struct Signed-off-by: darshanime * Run tsdb tests with isolation disabled Signed-off-by: darshanime * Check for isolation disabled in isoState.Close() Signed-off-by: darshanime * use t.Skip to skip isolation tests when disabled Signed-off-by: darshanime * address review comments Signed-off-by: darshanime * fix test for defaultIsolationState Signed-off-by: darshanime * Change flag name. Set flag in DB. Do not init txRing. Close isoState. Signed-off-by: Ganesh Vernekar * Test disabled isolation in CircleCI test_go Signed-off-by: Ganesh Vernekar * Skip isolation related tests in db_test.go Signed-off-by: Ganesh Vernekar Co-authored-by: Ganesh Vernekar --- .circleci/config.yml | 2 ++ tsdb/db.go | 10 +++++++++- tsdb/db_test.go | 14 ++++++++++++++ tsdb/head.go | 22 +++++++++++++++++----- tsdb/head_append.go | 2 +- tsdb/head_read.go | 2 +- tsdb/head_test.go | 29 +++++++++++++++++++++++++---- tsdb/isolation.go | 32 +++++++++++++++++++++++++++++++- tsdb/isolation_test.go | 4 ++-- 9 files changed, 102 insertions(+), 15 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dafcbea5f..558486406 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,6 +36,7 @@ jobs: GOOPTS: "-p 2" GOMAXPROCS: "2" GO111MODULE: "on" + - run: go test ./tsdb/ -test.tsdb-isolation=false - prometheus/check_proto: version: "3.15.8" - prometheus/store_artifact: @@ -93,6 +94,7 @@ jobs: steps: - checkout - run: go test ./tsdb/... + - run: go test ./tsdb/ -test.tsdb-isolation=false test_mixins: executor: golang diff --git a/tsdb/db.go b/tsdb/db.go index 5a04e1977..f00bd39f9 100644 --- a/tsdb/db.go +++ b/tsdb/db.go @@ -79,6 +79,7 @@ func DefaultOptions() *Options { WALCompression: false, StripeSize: DefaultStripeSize, HeadChunksWriteBufferSize: chunks.DefaultWriteBufferSize, + IsolationDisabled: defaultIsolationDisabled, } } @@ -143,7 +144,7 @@ type Options struct { // mainly meant for external users who import TSDB. BlocksToDelete BlocksToDeleteFunc - // Enables the in memory exemplar storage,. + // Enables the in memory exemplar storage. EnableExemplarStorage bool // Enables the snapshot of in-memory chunks on shutdown. This makes restarts faster. @@ -152,6 +153,9 @@ type Options struct { // MaxExemplars sets the size, in # of exemplars stored, of the single circular buffer used to store exemplars in memory. // See tsdb/exemplar.go, specifically the CircularExemplarStorage struct and it's constructor NewCircularExemplarStorage. MaxExemplars int64 + + // Disables isolation between reads and in-flight appends. + IsolationDisabled bool } type BlocksToDeleteFunc func(blocks []*Block) map[ulid.ULID]struct{} @@ -705,6 +709,10 @@ func open(dir string, l log.Logger, r prometheus.Registerer, opts *Options, rngs headOpts.EnableExemplarStorage = opts.EnableExemplarStorage headOpts.MaxExemplars.Store(opts.MaxExemplars) headOpts.EnableMemorySnapshotOnShutdown = opts.EnableMemorySnapshotOnShutdown + if opts.IsolationDisabled { + // We only override this flag if isolation is disabled at DB level. We use the default otherwise. + headOpts.IsolationDisabled = opts.IsolationDisabled + } db.head, err = NewHead(r, l, wlog, headOpts, stats.Head) if err != nil { return nil, err diff --git a/tsdb/db_test.go b/tsdb/db_test.go index 4448c6523..a6e85f90c 100644 --- a/tsdb/db_test.go +++ b/tsdb/db_test.go @@ -17,6 +17,7 @@ import ( "bufio" "context" "encoding/binary" + "flag" "fmt" "hash/crc32" "io/ioutil" @@ -54,6 +55,11 @@ import ( ) func TestMain(m *testing.M) { + var isolationEnabled bool + flag.BoolVar(&isolationEnabled, "test.tsdb-isolation", true, "enable isolation") + flag.Parse() + defaultIsolationDisabled = !isolationEnabled + goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("github.com/prometheus/prometheus/tsdb.(*SegmentWAL).cut.func1"), goleak.IgnoreTopFunction("github.com/prometheus/prometheus/tsdb.(*SegmentWAL).cut.func2")) } @@ -2407,6 +2413,10 @@ func TestDBReadOnly_FlushWAL(t *testing.T) { } func TestDBCannotSeePartialCommits(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + tmpdir, _ := ioutil.TempDir("", "test") defer func() { require.NoError(t, os.RemoveAll(tmpdir)) @@ -2477,6 +2487,10 @@ func TestDBCannotSeePartialCommits(t *testing.T) { } func TestDBQueryDoesntSeeAppendsAfterCreation(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + tmpdir, _ := ioutil.TempDir("", "test") defer func() { require.NoError(t, os.RemoveAll(tmpdir)) diff --git a/tsdb/head.go b/tsdb/head.go index b4806addc..dff2b0c67 100644 --- a/tsdb/head.go +++ b/tsdb/head.go @@ -52,6 +52,9 @@ var ( // ErrAppenderClosed is returned if an appender has already be successfully // rolled back or committed. ErrAppenderClosed = errors.New("appender closed") + + // defaultIsolationDisabled is true if isolation is disabled by default. + defaultIsolationDisabled = false ) // Head handles reads and writes of time series data within a time window. @@ -131,6 +134,8 @@ type HeadOptions struct { SeriesCallback SeriesLifecycleCallback EnableExemplarStorage bool EnableMemorySnapshotOnShutdown bool + + IsolationDisabled bool } func DefaultHeadOptions() *HeadOptions { @@ -141,6 +146,7 @@ func DefaultHeadOptions() *HeadOptions { ChunkWriteBufferSize: chunks.DefaultWriteBufferSize, StripeSize: DefaultStripeSize, SeriesCallback: &noopSeriesLifecycleCallback{}, + IsolationDisabled: defaultIsolationDisabled, } } @@ -230,12 +236,13 @@ func (h *Head) resetInMemoryState() error { return err } + h.iso = newIsolation(h.opts.IsolationDisabled) + h.exemplarMetrics = em h.exemplars = es h.series = newStripeSeries(h.opts.StripeSize, h.opts.SeriesCallback) h.postings = index.NewUnorderedMemPostings() h.tombstones = tombstones.NewMemTombstones() - h.iso = newIsolation() h.deleted = map[chunks.HeadSeriesRef]int{} h.chunkRange.Store(h.opts.ChunkRange) h.minTime.Store(math.MaxInt64) @@ -1226,7 +1233,7 @@ func (h *Head) getOrCreate(hash uint64, lset labels.Labels) (*memSeries, bool, e func (h *Head) getOrCreateWithID(id chunks.HeadSeriesRef, hash uint64, lset labels.Labels) (*memSeries, bool, error) { s, created, err := h.series.getOrSet(hash, lset, func() *memSeries { - return newMemSeries(lset, id, h.chunkRange.Load(), &h.memChunkPool) + return newMemSeries(lset, id, h.chunkRange.Load(), &h.memChunkPool, h.opts.IsolationDisabled) }) if err != nil { return nil, false, err @@ -1503,18 +1510,21 @@ type memSeries struct { memChunkPool *sync.Pool + // txs is nil if isolation is disabled. txs *txRing } -func newMemSeries(lset labels.Labels, id chunks.HeadSeriesRef, chunkRange int64, memChunkPool *sync.Pool) *memSeries { +func newMemSeries(lset labels.Labels, id chunks.HeadSeriesRef, chunkRange int64, memChunkPool *sync.Pool, isolationDisabled bool) *memSeries { s := &memSeries{ lset: lset, ref: id, chunkRange: chunkRange, nextAt: math.MinInt64, - txs: newTxRing(4), memChunkPool: memChunkPool, } + if !isolationDisabled { + s.txs = newTxRing(4) + } return s } @@ -1567,7 +1577,9 @@ func (s *memSeries) truncateChunksBefore(mint int64) (removed int) { // cleanupAppendIDsBelow cleans up older appendIDs. Has to be called after // acquiring lock. func (s *memSeries) cleanupAppendIDsBelow(bound uint64) { - s.txs.cleanupAppendIDsBelow(bound) + if s.txs != nil { + s.txs.cleanupAppendIDsBelow(bound) + } } func (s *memSeries) head() *memChunk { diff --git a/tsdb/head_append.go b/tsdb/head_append.go index f270cb79e..4a14785d4 100644 --- a/tsdb/head_append.go +++ b/tsdb/head_append.go @@ -524,7 +524,7 @@ func (s *memSeries) append(t int64, v float64, appendID uint64, chunkDiskMapper s.sampleBuf[2] = s.sampleBuf[3] s.sampleBuf[3] = sample{t: t, v: v} - if appendID > 0 { + if appendID > 0 && s.txs != nil { s.txs.add(appendID) } diff --git a/tsdb/head_read.go b/tsdb/head_read.go index 965db74bf..8d34a5443 100644 --- a/tsdb/head_read.go +++ b/tsdb/head_read.go @@ -361,7 +361,7 @@ func (s *memSeries) iterator(id chunks.HeadChunkID, isoState *isolationState, ch numSamples := c.chunk.NumSamples() stopAfter := numSamples - if isoState != nil { + if isoState != nil && !isoState.IsolationDisabled() { totalSamples := 0 // Total samples in this series. previousSamples := 0 // Samples before this chunk. diff --git a/tsdb/head_test.go b/tsdb/head_test.go index 99a0cdb0d..f9030f5ea 100644 --- a/tsdb/head_test.go +++ b/tsdb/head_test.go @@ -60,6 +60,7 @@ func newTestHead(t testing.TB, chunkRange int64, compressWAL bool) (*Head, *wal. opts.ChunkDirRoot = dir opts.EnableExemplarStorage = true opts.MaxExemplars.Store(config.DefaultExemplarsConfig.MaxExemplars) + h, err := NewHead(nil, nil, wlog, opts, nil) require.NoError(t, err) @@ -227,7 +228,7 @@ func BenchmarkLoadWAL(b *testing.B) { require.NoError(b, err) for k := 0; k < c.batches*c.seriesPerBatch; k++ { // Create one mmapped chunk per series, with one sample at the given time. - s := newMemSeries(labels.Labels{}, chunks.HeadSeriesRef(k)*101, c.mmappedChunkT, nil) + s := newMemSeries(labels.Labels{}, chunks.HeadSeriesRef(k)*101, c.mmappedChunkT, nil, defaultIsolationDisabled) s.append(c.mmappedChunkT, 42, 0, chunkDiskMapper) s.mmapCurrentHeadChunk(chunkDiskMapper) } @@ -551,7 +552,7 @@ func TestMemSeries_truncateChunks(t *testing.T) { }, } - s := newMemSeries(labels.FromStrings("a", "b"), 1, 2000, &memChunkPool) + s := newMemSeries(labels.FromStrings("a", "b"), 1, 2000, &memChunkPool, defaultIsolationDisabled) for i := 0; i < 4000; i += 5 { ok, _ := s.append(int64(i), float64(i), 0, chunkDiskMapper) @@ -1089,7 +1090,7 @@ func TestMemSeries_append(t *testing.T) { require.NoError(t, chunkDiskMapper.Close()) }() - s := newMemSeries(labels.Labels{}, 1, 500, nil) + s := newMemSeries(labels.Labels{}, 1, 500, nil, defaultIsolationDisabled) // Add first two samples at the very end of a chunk range and the next two // on and after it. @@ -1547,6 +1548,10 @@ func TestAddDuplicateLabelName(t *testing.T) { } func TestMemSeriesIsolation(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + // Put a series, select it. GC it and then access it. lastValue := func(h *Head, maxAppendID uint64) int { idx, err := h.Index() @@ -1718,6 +1723,10 @@ func TestMemSeriesIsolation(t *testing.T) { } func TestIsolationRollback(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + // Rollback after a failed append and test if the low watermark has progressed anyway. hb, _ := newTestHead(t, 1000, false) defer func() { @@ -1746,6 +1755,10 @@ func TestIsolationRollback(t *testing.T) { } func TestIsolationLowWatermarkMonotonous(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + hb, _ := newTestHead(t, 1000, false) defer func() { require.NoError(t, hb.Close()) @@ -1779,6 +1792,10 @@ func TestIsolationLowWatermarkMonotonous(t *testing.T) { } func TestIsolationAppendIDZeroIsNoop(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + h, _ := newTestHead(t, 1000, false) defer func() { require.NoError(t, h.Close()) @@ -1800,6 +1817,10 @@ func TestHeadSeriesChunkRace(t *testing.T) { } func TestIsolationWithoutAdd(t *testing.T) { + if defaultIsolationDisabled { + t.Skip("skipping test since tsdb isolation is disabled") + } + hb, _ := newTestHead(t, 1000, false) defer func() { require.NoError(t, hb.Close()) @@ -2255,7 +2276,7 @@ func TestMemSafeIteratorSeekIntoBuffer(t *testing.T) { require.NoError(t, chunkDiskMapper.Close()) }() - s := newMemSeries(labels.Labels{}, 1, 500, nil) + s := newMemSeries(labels.Labels{}, 1, 500, nil, defaultIsolationDisabled) for i := 0; i < 7; i++ { ok, _ := s.append(int64(i), float64(i), 0, chunkDiskMapper) diff --git a/tsdb/isolation.go b/tsdb/isolation.go index ca6ce1980..4919bfe91 100644 --- a/tsdb/isolation.go +++ b/tsdb/isolation.go @@ -39,6 +39,10 @@ func (i *isolationState) Close() { i.prev.next = i.next } +func (i *isolationState) IsolationDisabled() bool { + return i.isolation.disabled +} + type isolationAppender struct { appendID uint64 prev *isolationAppender @@ -63,9 +67,11 @@ type isolation struct { readMtx sync.RWMutex // All current in use isolationStates. This is a doubly-linked list. readsOpen *isolationState + // If true, writes are not tracked while reads are still tracked. + disabled bool } -func newIsolation() *isolation { +func newIsolation(disabled bool) *isolation { isoState := &isolationState{} isoState.next = isoState isoState.prev = isoState @@ -78,6 +84,7 @@ func newIsolation() *isolation { appendsOpen: map[uint64]*isolationAppender{}, appendsOpenList: appender, readsOpen: isoState, + disabled: disabled, appendersPool: sync.Pool{New: func() interface{} { return &isolationAppender{} }}, } } @@ -85,12 +92,20 @@ func newIsolation() *isolation { // lowWatermark returns the appendID below which we no longer need to track // which appends were from which appendID. func (i *isolation) lowWatermark() uint64 { + if i.disabled { + return 0 + } + i.appendMtx.RLock() // Take appendMtx first. defer i.appendMtx.RUnlock() return i.lowWatermarkLocked() } func (i *isolation) lowWatermarkLocked() uint64 { + if i.disabled { + return 0 + } + i.readMtx.RLock() defer i.readMtx.RUnlock() if i.readsOpen.prev != i.readsOpen { @@ -106,6 +121,8 @@ func (i *isolation) lowWatermarkLocked() uint64 { func (i *isolation) State(mint, maxt int64) *isolationState { i.appendMtx.RLock() // Take append mutex before read mutex. defer i.appendMtx.RUnlock() + + // We need to track the reads even when isolation is disabled. isoState := &isolationState{ maxAppendID: i.appendsOpenList.appendID, lowWatermark: i.appendsOpenList.next.appendID, // Lowest appendID from appenders, or lastAppendId. @@ -124,6 +141,7 @@ func (i *isolation) State(mint, maxt int64) *isolationState { isoState.next = i.readsOpen.next i.readsOpen.next.prev = isoState i.readsOpen.next = isoState + return isoState } @@ -146,6 +164,10 @@ func (i *isolation) TraverseOpenReads(f func(s *isolationState) bool) { // ID. The first ID returned is 1. // Also returns the low watermark, to keep lock/unlock operations down. func (i *isolation) newAppendID() (uint64, uint64) { + if i.disabled { + return 0, 0 + } + i.appendMtx.Lock() defer i.appendMtx.Unlock() @@ -165,6 +187,10 @@ func (i *isolation) newAppendID() (uint64, uint64) { } func (i *isolation) lastAppendID() uint64 { + if i.disabled { + return 0 + } + i.appendMtx.RLock() defer i.appendMtx.RUnlock() @@ -172,6 +198,10 @@ func (i *isolation) lastAppendID() uint64 { } func (i *isolation) closeAppend(appendID uint64) { + if i.disabled { + return + } + i.appendMtx.Lock() defer i.appendMtx.Unlock() diff --git a/tsdb/isolation_test.go b/tsdb/isolation_test.go index e41e3f5a2..6e27e06fc 100644 --- a/tsdb/isolation_test.go +++ b/tsdb/isolation_test.go @@ -23,7 +23,7 @@ import ( func BenchmarkIsolation(b *testing.B) { for _, goroutines := range []int{10, 100, 1000, 10000} { b.Run(strconv.Itoa(goroutines), func(b *testing.B) { - iso := newIsolation() + iso := newIsolation(false) wg := sync.WaitGroup{} start := make(chan struct{}) @@ -53,7 +53,7 @@ func BenchmarkIsolation(b *testing.B) { func BenchmarkIsolationWithState(b *testing.B) { for _, goroutines := range []int{10, 100, 1000, 10000} { b.Run(strconv.Itoa(goroutines), func(b *testing.B) { - iso := newIsolation() + iso := newIsolation(false) wg := sync.WaitGroup{} start := make(chan struct{}) From efd48b46cf500aa1f9d757a6f3b66bb74545180b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Nov 2021 11:50:34 +0100 Subject: [PATCH 6/6] build(deps): bump sanitize-html from 2.5.0 to 2.5.3 in /web/ui (#9810) * build(deps): bump sanitize-html from 2.5.0 to 2.5.3 in /web/ui Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.5.0 to 2.5.3. - [Release notes](https://github.com/apostrophecms/sanitize-html/releases) - [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md) - [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.5.0...2.5.3) --- updated-dependencies: - dependency-name: sanitize-html dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * update package-lock.json Signed-off-by: Augustin Husson Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Augustin Husson --- web/ui/package-lock.json | 251 +++++++++++++++++++--------------- web/ui/react-app/package.json | 2 +- 2 files changed, 143 insertions(+), 110 deletions(-) diff --git a/web/ui/package-lock.json b/web/ui/package-lock.json index c8076b312..8905a70ba 100644 --- a/web/ui/package-lock.json +++ b/web/ui/package-lock.json @@ -2681,6 +2681,7 @@ }, "node_modules/colorette": { "version": "1.4.0", + "dev": true, "license": "MIT" }, "node_modules/commander": { @@ -2811,6 +2812,14 @@ "dev": true, "license": "MIT" }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/default-require-extensions": { "version": "3.0.0", "dev": true, @@ -3125,7 +3134,6 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -4278,6 +4286,14 @@ "node": ">=8" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", "license": "MIT", @@ -5496,6 +5512,11 @@ "node": ">=6" } }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" + }, "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -5562,6 +5583,11 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/picomatch": { "version": "2.3.0", "license": "MIT", @@ -5583,6 +5609,34 @@ "node": ">=4" } }, + "node_modules/postcss": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", + "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "dependencies": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -5984,6 +6038,19 @@ "dev": true, "license": "MIT" }, + "node_modules/sanitize-html": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.5.3.tgz", + "integrity": "sha512-DGATXd1fs/Rm287/i5FBKVYSBBUL0iAaztOA1/RFhEs4yqo39/X52i/q/CwsfCUG5cilmXSBmnQmyWfnKhBlOg==", + "dependencies": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^6.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, "node_modules/sass": { "version": "1.43.4", "license": "MIT", @@ -6101,6 +6168,14 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.20", "dev": true, @@ -7031,7 +7106,7 @@ "react-router-dom": "^5.2.1", "react-test-renderer": "^17.0.2", "reactstrap": "^8.9.0", - "sanitize-html": "^2.3.3", + "sanitize-html": "^2.5.3", "sass": "1.43.4", "tempusdominus-bootstrap-4": "^5.1.2", "tempusdominus-core": "^5.0.3" @@ -12930,13 +13005,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "react-app/node_modules/deepmerge": { - "version": "4.2.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "react-app/node_modules/default-gateway": { "version": "4.2.0", "dev": true, @@ -15765,13 +15833,6 @@ "node": ">=0.10.0" } }, - "react-app/node_modules/is-plain-object": { - "version": "5.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "react-app/node_modules/is-potential-custom-element-name": { "version": "1.0.1", "dev": true, @@ -19251,6 +19312,7 @@ }, "react-app/node_modules/klona": { "version": "2.0.4", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -19763,6 +19825,7 @@ }, "react-app/node_modules/nanoid": { "version": "3.1.25", + "dev": true, "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" @@ -20275,10 +20338,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "react-app/node_modules/parse-srcset": { - "version": "1.0.2", - "license": "MIT" - }, "react-app/node_modules/parseurl": { "version": "1.3.3", "dev": true, @@ -23116,45 +23175,6 @@ "which": "bin/which" } }, - "react-app/node_modules/sanitize-html": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^6.0.0", - "is-plain-object": "^5.0.0", - "klona": "^2.0.3", - "parse-srcset": "^1.0.2", - "postcss": "^8.0.2" - } - }, - "react-app/node_modules/sanitize-html/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "react-app/node_modules/sanitize-html/node_modules/postcss": { - "version": "8.3.6", - "license": "MIT", - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "react-app/node_modules/sanitize.css": { "version": "10.0.0", "dev": true, @@ -23673,13 +23693,6 @@ "dev": true, "license": "MIT" }, - "react-app/node_modules/source-map-js": { - "version": "0.6.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "react-app/node_modules/source-map-resolve": { "version": "0.5.3", "dev": true, @@ -28751,7 +28764,8 @@ "dev": true }, "colorette": { - "version": "1.4.0" + "version": "1.4.0", + "dev": true }, "commander": { "version": "2.20.3", @@ -28842,6 +28856,11 @@ "version": "0.1.4", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, "default-require-extensions": { "version": "3.0.0", "dev": true, @@ -29060,8 +29079,7 @@ "dev": true }, "escape-string-regexp": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "eslint": { "version": "7.32.0", @@ -29623,7 +29641,7 @@ "react-scripts": "4.0.3", "react-test-renderer": "^17.0.2", "reactstrap": "^8.9.0", - "sanitize-html": "^2.3.3", + "sanitize-html": "^2.5.3", "sass": "1.43.4", "sinon": "^11.1.2", "tempusdominus-bootstrap-4": "^5.1.2", @@ -33561,9 +33579,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deepmerge": { - "version": "4.2.2" - }, "default-gateway": { "version": "4.2.0", "dev": true, @@ -35468,9 +35483,6 @@ "version": "1.1.0", "dev": true }, - "is-plain-object": { - "version": "5.0.0" - }, "is-potential-custom-element-name": { "version": "1.0.1", "dev": true @@ -37776,7 +37788,8 @@ "dev": true }, "klona": { - "version": "2.0.4" + "version": "2.0.4", + "dev": true }, "language-subtag-registry": { "version": "0.3.21", @@ -38136,7 +38149,8 @@ "dev": true }, "nanoid": { - "version": "3.1.25" + "version": "3.1.25", + "dev": true }, "nanomatch": { "version": "1.2.13", @@ -38493,9 +38507,6 @@ "lines-and-columns": "^1.1.6" } }, - "parse-srcset": { - "version": "1.0.2" - }, "parseurl": { "version": "1.3.3", "dev": true @@ -40514,31 +40525,6 @@ } } }, - "sanitize-html": { - "version": "2.5.0", - "requires": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^6.0.0", - "is-plain-object": "^5.0.0", - "klona": "^2.0.3", - "parse-srcset": "^1.0.2", - "postcss": "^8.0.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0" - }, - "postcss": { - "version": "8.3.6", - "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - } - } - } - }, "sanitize.css": { "version": "10.0.0", "dev": true @@ -40934,9 +40920,6 @@ "version": "2.0.1", "dev": true }, - "source-map-js": { - "version": "0.6.2" - }, "source-map-resolve": { "version": "0.5.3", "dev": true, @@ -43447,6 +43430,11 @@ "version": "2.1.0", "dev": true }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, "is-regex": { "version": "1.1.4", "requires": { @@ -44257,6 +44245,11 @@ "callsites": "^3.0.0" } }, + "parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" + }, "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -44302,6 +44295,11 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "picomatch": { "version": "2.3.0" }, @@ -44312,6 +44310,23 @@ "find-up": "^2.1.0" } }, + "postcss": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", + "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^0.6.2" + }, + "dependencies": { + "nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" + } + } + }, "prelude-ls": { "version": "1.2.1", "dev": true @@ -44568,6 +44583,19 @@ "version": "5.1.2", "dev": true }, + "sanitize-html": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.5.3.tgz", + "integrity": "sha512-DGATXd1fs/Rm287/i5FBKVYSBBUL0iAaztOA1/RFhEs4yqo39/X52i/q/CwsfCUG5cilmXSBmnQmyWfnKhBlOg==", + "requires": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^6.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, "sass": { "version": "1.43.4", "requires": { @@ -44640,6 +44668,11 @@ "version": "0.5.7", "dev": true }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + }, "source-map-support": { "version": "0.5.20", "dev": true, diff --git a/web/ui/react-app/package.json b/web/ui/react-app/package.json index 90f7bbf59..794e340b2 100644 --- a/web/ui/react-app/package.json +++ b/web/ui/react-app/package.json @@ -37,7 +37,7 @@ "react-router-dom": "^5.2.1", "react-test-renderer": "^17.0.2", "reactstrap": "^8.9.0", - "sanitize-html": "^2.3.3", + "sanitize-html": "^2.5.3", "sass": "1.43.4", "tempusdominus-bootstrap-4": "^5.1.2", "tempusdominus-core": "^5.0.3"