@adobe/helix-config 5.15.2 → 5.15.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [5.15.4](https://github.com/adobe/helix-config/compare/v5.15.3...v5.15.4) (2026-09-28)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * use concat for array concatenation ([#420](https://github.com/adobe/helix-config/issues/420)) ([756f598](https://github.com/adobe/helix-config/commit/756f598692036dfaf95cd4fa5984162fde59d103))
7
+
8
+ ## [5.15.3](https://github.com/adobe/helix-config/compare/v5.15.2...v5.15.3) (2026-09-24)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **config:** load metadata in parallel ([#419](https://github.com/adobe/helix-config/issues/419)) ([ad7b239](https://github.com/adobe/helix-config/commit/ad7b2390923208e04265195ec8f147d01517a97e))
14
+
1
15
  ## [5.15.2](https://github.com/adobe/helix-config/compare/v5.15.1...v5.15.2) (2026-09-21)
2
16
 
3
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/helix-config",
3
- "version": "5.15.2",
3
+ "version": "5.15.4",
4
4
  "description": "Helix Config",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "reporter-options": "configFile=.mocha-multi.json"
36
36
  },
37
37
  "devDependencies": {
38
- "@adobe/eslint-config-helix": "3.0.31",
38
+ "@adobe/eslint-config-helix": "3.0.32",
39
39
  "@eslint/config-helpers": "0.7.0",
40
40
  "@semantic-release/changelog": "7.0.0",
41
41
  "@semantic-release/git": "11.0.1",
@@ -45,8 +45,8 @@
45
45
  "husky": "9.1.7",
46
46
  "junit-report-builder": "5.1.2",
47
47
  "lint-staged": "17.4.1",
48
- "mocha": "11.8.0",
49
- "mocha-multi-reporters": "1.5.1",
48
+ "mocha": "12.0.0",
49
+ "mocha-multi-reporters": "1.5.2",
50
50
  "mocha-suppress-logs": "0.6.0",
51
51
  "semantic-release": "25.0.9"
52
52
  },
@@ -55,6 +55,7 @@
55
55
  "*.cjs": "eslint"
56
56
  },
57
57
  "dependencies": {
58
+ "@adobe/helix-shared-process-queue": "3.1.9",
58
59
  "@adobe/helix-shared-server-timing": "1.0.0",
59
60
  "@adobe/helix-shared-utils": "3.0.2",
60
61
  "yaml": "2.9.0"
@@ -10,7 +10,7 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
  import { computeSurrogateKey } from '@adobe/helix-shared-utils';
13
- // eslint-disable-next-line import/no-unresolved
13
+ import processQueue from '@adobe/helix-shared-process-queue';
14
14
  import { PipelineResponse } from './PipelineResponse.js';
15
15
  import {
16
16
  SCOPE_ADMIN,
@@ -250,19 +250,33 @@ async function loadMetadata(ctx, config, partition) {
250
250
 
251
251
  // generate the metadata-all.json first
252
252
  const metadataConfig = new ConfigObject();
253
- const metadata = [];
254
- for (const path of paths) {
253
+ let metadata = [];
254
+
255
+ // remember the order of entries
256
+ const input = paths.map((path, index) => ({ index, path }));
257
+ const output = await processQueue(input, async ({ index, path }) => {
255
258
  const key = `${config.content.contentBusId}/${partition}${path}`;
256
259
  // eslint-disable-next-line no-await-in-loop
257
260
  const res = await ctx.loader.getObject(HELIX_CONTENT_BUS, key);
258
261
  if (res.body) {
259
262
  const json = res.json();
263
+ const ret = { index, headers: res.headers };
264
+
260
265
  const data = Array.isArray(json.data) ? json.data : json.default?.data;
261
266
  if (data) {
262
- metadata.push(...data);
267
+ ret.data = data;
263
268
  }
269
+ return ret;
270
+ }
271
+ return undefined;
272
+ }, 32);
273
+
274
+ output.sort(({ index: i }, { index: j }) => i - j);
275
+ for (const { data, headers } of output) {
276
+ if (data) {
277
+ metadata = metadata.concat(data);
264
278
  }
265
- metadataConfig.updateLastModified(res.headers);
279
+ metadataConfig.updateLastModified(headers);
266
280
  }
267
281
  if (!metadata.length) {
268
282
  return {};