diff --git a/_service b/_service
index edd4de5..72c2f05 100644
--- a/_service
+++ b/_service
@@ -6,6 +6,7 @@
dist/rpm/openQA-worker-test.spec
dist/rpm/openQA-devel-test.spec
dist/rpm/openQA-client-test.spec
+ package-lock.json
https://github.com/os-autoinst/openQA.git
master
4.6
@@ -20,4 +21,9 @@
xz
*.tar
+
+ node_modules.obscpio
+ node_modules.spec.inc
+ 1000
+
diff --git a/cache.txz b/cache.txz
deleted file mode 100644
index 9085dff..0000000
--- a/cache.txz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:01b339fdc2c67ba10a62d6477ad9b57ae85025734ffe2d57755461ff5380e488
-size 2038998
diff --git a/node_modules.obscpio b/node_modules.obscpio
new file mode 100644
index 0000000..b3d0575
--- /dev/null
+++ b/node_modules.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:53cc7ad3caf404af8d0f7258e43eb179adc280ea45817daa5f9ba3f0389c82e6
+size 16428496
diff --git a/node_modules.spec.inc b/node_modules.spec.inc
new file mode 100644
index 0000000..9f30cb3
--- /dev/null
+++ b/node_modules.spec.inc
@@ -0,0 +1,181 @@
+Source1000: https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#/@aashutoshrathi-word-wrap-1.2.6.tgz
+Source1001: https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#/@babel-code-frame-7.12.11.tgz
+Source1002: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#/@babel-helper-validator-identifier-7.22.20.tgz
+Source1003: https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz#/@babel-highlight-7.23.4.tgz
+Source1004: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#/@eslint-eslintrc-0.4.3.tgz
+Source1005: https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz#/@floating-ui-core-1.6.0.tgz
+Source1006: https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz#/@floating-ui-dom-1.6.1.tgz
+Source1007: https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz#/@floating-ui-utils-0.2.1.tgz
+Source1008: https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#/@humanwhocodes-config-array-0.5.0.tgz
+Source1009: https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#/@humanwhocodes-object-schema-1.2.1.tgz
+Source1010: https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#/acorn-7.4.1.tgz
+Source1011: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
+Source1012: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
+Source1013: https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz#/ajv-8.12.0.tgz
+Source1014: https://registry.npmjs.org/anser/-/anser-2.1.1.tgz#/anser-2.1.1.tgz
+Source1015: https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz#/ansi-colors-4.1.3.tgz
+Source1016: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.0.1.tgz
+Source1017: https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#/ansi-styles-3.2.1.tgz
+Source1018: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
+Source1019: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#/argparse-1.0.10.tgz
+Source1020: https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#/astral-regex-2.0.0.tgz
+Source1021: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
+Source1022: https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz#/bootstrap-4.6.1.tgz
+Source1023: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
+Source1024: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
+Source1025: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#/chalk-2.4.2.tgz
+Source1026: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
+Source1027: https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7.tgz
+Source1028: https://registry.npmjs.org/codemirror/-/codemirror-5.58.2.tgz#/codemirror-5.58.2.tgz
+Source1029: https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#/color-convert-1.9.3.tgz
+Source1030: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
+Source1031: https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#/color-name-1.1.3.tgz
+Source1032: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
+Source1033: https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#/commander-2.20.3.tgz
+Source1034: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
+Source1035: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#/cross-spawn-7.0.3.tgz
+Source1036: https://registry.npmjs.org/d3/-/d3-4.13.0.tgz#/d3-4.13.0.tgz
+Source1037: https://registry.npmjs.org/d3/-/d3-5.16.0.tgz#/d3-5.16.0.tgz
+Source1038: https://registry.npmjs.org/d3-array/-/d3-array-1.2.1.tgz#/d3-array-1.2.1.tgz
+Source1039: https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.8.tgz#/d3-axis-1.0.8.tgz
+Source1040: https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.4.tgz#/d3-brush-1.0.4.tgz
+Source1041: https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz#/d3-chord-1.0.4.tgz
+Source1042: https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.4.tgz#/d3-collection-1.0.4.tgz
+Source1043: https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz#/d3-color-1.0.3.tgz
+Source1044: https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz#/d3-contour-1.3.2.tgz
+Source1045: https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz#/d3-dispatch-1.0.3.tgz
+Source1046: https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.1.tgz#/d3-drag-1.2.1.tgz
+Source1047: https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz#/d3-dsv-1.0.8.tgz
+Source1048: https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.3.tgz#/d3-ease-1.0.3.tgz
+Source1049: https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz#/d3-fetch-1.2.0.tgz
+Source1050: https://registry.npmjs.org/d3-force/-/d3-force-1.1.0.tgz#/d3-force-1.1.0.tgz
+Source1051: https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz#/d3-format-1.2.2.tgz
+Source1052: https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz#/d3-geo-1.9.1.tgz
+Source1053: https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#/d3-hierarchy-1.1.5.tgz
+Source1054: https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz#/d3-interpolate-1.1.6.tgz
+Source1055: https://registry.npmjs.org/d3-path/-/d3-path-1.0.5.tgz#/d3-path-1.0.5.tgz
+Source1056: https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.3.tgz#/d3-polygon-1.0.3.tgz
+Source1057: https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.3.tgz#/d3-quadtree-1.0.3.tgz
+Source1058: https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz#/d3-queue-3.0.7.tgz
+Source1059: https://registry.npmjs.org/d3-random/-/d3-random-1.1.0.tgz#/d3-random-1.1.0.tgz
+Source1060: https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz#/d3-request-1.0.6.tgz
+Source1061: https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz#/d3-scale-1.0.7.tgz
+Source1062: https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz#/d3-scale-2.2.2.tgz
+Source1063: https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#/d3-scale-chromatic-1.5.0.tgz
+Source1064: https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz#/d3-selection-1.3.0.tgz
+Source1065: https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.0.tgz#/d3-shape-1.2.0.tgz
+Source1066: https://registry.npmjs.org/d3-time/-/d3-time-1.0.8.tgz#/d3-time-1.0.8.tgz
+Source1067: https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz#/d3-time-format-2.1.1.tgz
+Source1068: https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.7.tgz#/d3-timer-1.0.7.tgz
+Source1069: https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.1.tgz#/d3-transition-1.1.1.tgz
+Source1070: https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz#/d3-voronoi-1.1.2.tgz
+Source1071: https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz#/d3-zoom-1.7.1.tgz
+Source1072: https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
+Source1073: https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
+Source1074: https://registry.npmjs.org/datatables/-/datatables-1.10.18.tgz#/datatables-1.10.18.tgz
+Source1075: https://registry.npmjs.org/datatables.net/-/datatables.net-1.13.8.tgz#/datatables.net-1.13.8.tgz
+Source1076: https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.13.8.tgz#/datatables.net-bs4-1.13.8.tgz
+Source1077: https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#/debug-4.3.4.tgz
+Source1078: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
+Source1079: https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz#/deepmerge-4.3.1.tgz
+Source1080: https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#/doctrine-3.0.0.tgz
+Source1081: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#/emoji-regex-8.0.0.tgz
+Source1082: https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz#/enquirer-2.4.1.tgz
+Source1083: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#/escape-string-regexp-1.0.5.tgz
+Source1084: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
+Source1085: https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz#/eslint-7.32.0.tgz
+Source1086: https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#/eslint-config-prettier-8.10.0.tgz
+Source1087: https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#/eslint-plugin-prettier-3.4.1.tgz
+Source1088: https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#/eslint-scope-5.1.1.tgz
+Source1089: https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#/eslint-utils-2.1.0.tgz
+Source1090: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#/eslint-visitor-keys-1.3.0.tgz
+Source1091: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#/eslint-visitor-keys-2.1.0.tgz
+Source1092: https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#/espree-7.3.1.tgz
+Source1093: https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#/esprima-4.0.1.tgz
+Source1094: https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz#/esquery-1.5.0.tgz
+Source1095: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
+Source1096: https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#/estraverse-4.3.0.tgz
+Source1097: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
+Source1098: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
+Source1099: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
+Source1100: https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
+Source1101: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
+Source1102: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
+Source1103: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#/file-entry-cache-6.0.1.tgz
+Source1104: https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#/flat-cache-3.2.0.tgz
+Source1105: https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz#/flatted-3.2.9.tgz
+Source1106: https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
+Source1107: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#/fs.realpath-1.0.0.tgz
+Source1108: https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#/functional-red-black-tree-1.0.1.tgz
+Source1109: https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#/glob-7.2.3.tgz
+Source1110: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#/glob-parent-5.1.2.tgz
+Source1111: https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#/globals-13.24.0.tgz
+Source1112: https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
+Source1113: https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#/has-flag-3.0.0.tgz
+Source1114: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
+Source1115: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#/iconv-lite-0.4.24.tgz
+Source1116: https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#/ignore-4.0.6.tgz
+Source1117: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fresh-3.3.0.tgz
+Source1118: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
+Source1119: https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#/inflight-1.0.6.tgz
+Source1120: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#/inherits-2.0.4.tgz
+Source1121: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
+Source1122: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#/is-fullwidth-code-point-3.0.0.tgz
+Source1123: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
+Source1124: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
+Source1125: https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
+Source1126: https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
+Source1127: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#/js-tokens-4.0.0.tgz
+Source1128: https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#/js-yaml-3.14.1.tgz
+Source1129: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
+Source1130: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
+Source1131: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#/json-schema-traverse-1.0.0.tgz
+Source1132: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
+Source1133: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
+Source1134: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
+Source1135: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
+Source1136: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
+Source1137: https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#/lodash.truncate-4.4.2.tgz
+Source1138: https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#/lru-cache-6.0.0.tgz
+Source1139: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
+Source1140: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#/ms-2.1.2.tgz
+Source1141: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
+Source1142: https://registry.npmjs.org/once/-/once-1.4.0.tgz#/once-1.4.0.tgz
+Source1143: https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz#/optionator-0.9.3.tgz
+Source1144: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
+Source1145: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#/path-is-absolute-1.0.1.tgz
+Source1146: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
+Source1147: https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz#/popper.js-1.16.1.tgz
+Source1148: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
+Source1149: https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz#/prettier-2.3.2.tgz
+Source1150: https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
+Source1151: https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#/progress-2.0.3.tgz
+Source1152: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
+Source1153: https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#/regexpp-3.2.0.tgz
+Source1154: https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#/require-from-string-2.0.2.tgz
+Source1155: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
+Source1156: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#/rimraf-3.0.2.tgz
+Source1157: https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
+Source1158: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
+Source1159: https://registry.npmjs.org/semver/-/semver-7.5.4.tgz#/semver-7.5.4.tgz
+Source1160: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
+Source1161: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
+Source1162: https://registry.npmjs.org/shepherd.js/-/shepherd.js-11.2.0.tgz#/shepherd.js-11.2.0.tgz
+Source1163: https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#/slice-ansi-4.0.0.tgz
+Source1164: https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#/sprintf-js-1.0.3.tgz
+Source1165: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#/string-width-4.2.3.tgz
+Source1166: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.0.1.tgz
+Source1167: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
+Source1168: https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#/supports-color-5.5.0.tgz
+Source1169: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
+Source1170: https://registry.npmjs.org/table/-/table-6.8.1.tgz#/table-6.8.1.tgz
+Source1171: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.2.0.tgz
+Source1172: https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
+Source1173: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
+Source1174: https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#/type-fest-0.20.2.tgz
+Source1175: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
+Source1176: https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#/v8-compile-cache-2.4.0.tgz
+Source1177: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
+Source1178: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#/wrappy-1.0.2.tgz
+Source1179: https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#/xmlhttprequest-1.8.0.tgz
+Source1180: https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#/yallist-4.0.0.tgz
diff --git a/openQA-4.6.1707499101.aaa807d2.obscpio b/openQA-4.6.1707499101.aaa807d2.obscpio
deleted file mode 100644
index 43fd0b3..0000000
--- a/openQA-4.6.1707499101.aaa807d2.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0ae9b7b695dd0510946d899446d8006797e7a984bdc32c5a202b910340452765
-size 14457869
diff --git a/openQA-4.6.1707924836.ebe28324.obscpio b/openQA-4.6.1707924836.ebe28324.obscpio
new file mode 100644
index 0000000..1fa2c63
--- /dev/null
+++ b/openQA-4.6.1707924836.ebe28324.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:05920d5ccf503ed8765358b2e9f763ad80042fb7a8174c8d07f27dc149daac2f
+size 14567949
diff --git a/openQA-client-test.spec b/openQA-client-test.spec
index 8787b53..c5f0bb5 100644
--- a/openQA-client-test.spec
+++ b/openQA-client-test.spec
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1707499101.aaa807d2
+Version: 4.6.1707924836.ebe28324
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
diff --git a/openQA-devel-test.spec b/openQA-devel-test.spec
index 52566f3..f65a985 100644
--- a/openQA-devel-test.spec
+++ b/openQA-devel-test.spec
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1707499101.aaa807d2
+Version: 4.6.1707924836.ebe28324
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
diff --git a/openQA-test.spec b/openQA-test.spec
index 3922fe6..e17ab1a 100644
--- a/openQA-test.spec
+++ b/openQA-test.spec
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1707499101.aaa807d2
+Version: 4.6.1707924836.ebe28324
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
diff --git a/openQA-worker-test.spec b/openQA-worker-test.spec
index ddcaffb..9f45865 100644
--- a/openQA-worker-test.spec
+++ b/openQA-worker-test.spec
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1707499101.aaa807d2
+Version: 4.6.1707924836.ebe28324
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
diff --git a/openQA.changes b/openQA.changes
index 212886f..bff68d8 100644
--- a/openQA.changes
+++ b/openQA.changes
@@ -1,3 +1,28 @@
+-------------------------------------------------------------------
+Wed Feb 14 15:34:05 UTC 2024 - okurz@suse.com
+
+- Update to version 4.6.1707924836.ebe28324:
+ * Improve out-of-box experience with single-instance container
+ * Fix typo in installation documentation
+ * Bump codemirror from 4.13.0 to 5.58.2
+ * Remove manual installation of npm when caching assets
+ * Install npm in the container we use on CircleCI
+ * Make developer mode work in single-container setup
+ * Adapt AppArmor profile for switch to node modules
+ * Make `local-npm-registry` available in SLE-15-SP6 CI packaging check
+ * Streamline approach for selecting shell files in test targets
+ * Ensure required node modules are installed via install target
+ * Adapt code after updating DataTables from 1.10.16 to 1.10.18
+ * Exclude node modules from shell formatting checks
+ * Fix fetching fonts after providing assets via npm
+ * Install npm dependencies in the CircleCI caching step
+ * Add npm as dependency after now using it for assets
+ * Add package-lock.json for `obs-service-node_modules`
+ * Remove no longer required asset cache handling from rpm packaging
+ * Update documentation for handling JavaScript/CSS dependencies
+ * Ensure assetpack does no more remote downloads
+ * Install third-party assets via npm
+
-------------------------------------------------------------------
Fri Feb 09 17:18:40 UTC 2024 - okurz@suse.com
diff --git a/openQA.obsinfo b/openQA.obsinfo
index 85f29a2..92f7c23 100644
--- a/openQA.obsinfo
+++ b/openQA.obsinfo
@@ -1,4 +1,4 @@
name: openQA
-version: 4.6.1707499101.aaa807d2
-mtime: 1707499101
-commit: aaa807d2a7a8af05c8c23b8e150dcf626a2f5dc4
+version: 4.6.1707924836.ebe28324
+mtime: 1707924836
+commit: ebe28324ea7c12527f6981ff068c8f18b4ad0d7a
diff --git a/openQA.spec b/openQA.spec
index a587bcd..8e8a864 100644
--- a/openQA.spec
+++ b/openQA.spec
@@ -58,7 +58,7 @@
# The following line is generated from dependencies.yaml
%define worker_requires bsdtar openQA-client optipng os-autoinst < 5 perl(Capture::Tiny) perl(File::Map) perl(Minion::Backend::SQLite) >= 5.0.7 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::SQLite) psmisc sqlite3 >= 3.24.0
# The following line is generated from dependencies.yaml
-%define build_requires %assetpack_requires rubygem(sass)
+%define build_requires %assetpack_requires npm rubygem(sass)
# All requirements needed by the tests executed during build-time.
# Do not require on this in individual sub-packages except for the devel
@@ -78,16 +78,14 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1707499101.aaa807d2
+Version: 4.6.1707924836.ebe28324
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
URL: http://os-autoinst.github.io/openQA/
Source0: %{name}-%{version}.tar.xz
-# a workaround for set_version looking at random files (so we can't name it .tar.xz)
-# use update-cache to update it
-Source1: cache.txz
-Source101: update-cache.sh
+Source2: node_modules.spec.inc
+%include %{_sourcedir}/node_modules.spec.inc
BuildRequires: fdupes
# for install-opensuse in Makefile
%if 0%{?is_opensuse}
@@ -96,6 +94,7 @@ BuildRequires: openSUSE-release
BuildRequires: sles-release
%endif
BuildRequires: %{build_requires}
+BuildRequires: local-npm-registry
Requires: %{main_requires}
Requires: openQA-client = %{version}
Requires: openQA-common = %{version}
@@ -298,8 +297,10 @@ Use this package to install munin scripts that allow to monitor some openQA
statistics.
%prep
-%setup -q -a1
+%setup -q
sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
+rm package-lock.json
+local-npm-registry %{_sourcedir} install --also=dev --legacy-peer-deps
%build
%make_build
@@ -598,6 +599,7 @@ fi
%{_datadir}/openqa/public
%{_datadir}/openqa/assets
%{_datadir}/openqa/dbicdh
+%{_datadir}/openqa/node_modules
%{_datadir}/openqa/script/configure-web-proxy
%{_datadir}/openqa/script/create_admin
%{_datadir}/openqa/script/fetchneedles
diff --git a/update-cache.sh b/update-cache.sh
deleted file mode 100644
index c20cea0..0000000
--- a/update-cache.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-
-set -e
-
-export LC_ALL='en_US.UTF-8'
-export LANG='en_US.UTF-8'
-osc up
-rm -f _service\:*
-rm -f *.tar *.cpio
-osc service lr
-# special call for tar buildtime service
-osc service lr tar
-
-SD=$PWD
-cd openQA
-tools/generate-packed-assets
-tar cvjf cache.tar.xz assets/cache assets/assetpack.db
-mv cache.tar.xz "$SD/cache.txz"
-
-cd "$SD"
-osc up