construct-hub 0.4.430 → 0.4.431

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.
Files changed (37) hide show
  1. package/.jsii +9 -9
  2. package/docs/operator-runbook.md +45 -0
  3. package/lib/backend/package-stats/index.d.ts +15 -2
  4. package/lib/backend/package-stats/index.js +79 -21
  5. package/lib/backend/package-stats/package-stats-aggregator.d.ts +7 -0
  6. package/lib/backend/package-stats/package-stats-aggregator.js +20 -0
  7. package/lib/backend/package-stats/package-stats-aggregator.lambda.bundle/index.js +62489 -0
  8. package/lib/backend/package-stats/{package-stats.lambda.bundle → package-stats-aggregator.lambda.bundle}/index.js.map +4 -4
  9. package/lib/backend/package-stats/package-stats-aggregator.lambda.d.ts +13 -0
  10. package/lib/backend/package-stats/package-stats-aggregator.lambda.js +78 -0
  11. package/lib/backend/package-stats/package-stats-chunker.d.ts +7 -0
  12. package/lib/backend/package-stats/package-stats-chunker.js +20 -0
  13. package/lib/backend/package-stats/package-stats-chunker.lambda.bundle/index.js +60075 -0
  14. package/lib/backend/package-stats/package-stats-chunker.lambda.bundle/index.js.map +7 -0
  15. package/lib/backend/package-stats/package-stats-chunker.lambda.d.ts +6 -0
  16. package/lib/backend/package-stats/package-stats-chunker.lambda.js +25 -0
  17. package/lib/backend/package-stats/package-stats-processor.d.ts +7 -0
  18. package/lib/backend/package-stats/package-stats-processor.js +20 -0
  19. package/lib/backend/package-stats/{package-stats.lambda.bundle → package-stats-processor.lambda.bundle}/index.js +36 -2556
  20. package/lib/backend/package-stats/package-stats-processor.lambda.bundle/index.js.map +7 -0
  21. package/lib/backend/package-stats/package-stats-processor.lambda.d.ts +10 -0
  22. package/lib/backend/package-stats/package-stats-processor.lambda.js +41 -0
  23. package/lib/backend-dashboard.js +8 -6
  24. package/lib/construct-hub.d.ts +1 -1
  25. package/lib/construct-hub.js +12 -4
  26. package/lib/package-sources/code-artifact.js +1 -1
  27. package/lib/package-sources/npmjs.js +1 -1
  28. package/lib/package-tag/index.js +3 -3
  29. package/lib/package-tag-group/index.js +2 -2
  30. package/lib/preload-file/index.js +1 -1
  31. package/lib/s3/storage.js +1 -1
  32. package/lib/spdx-license.js +1 -1
  33. package/package.json +7 -3
  34. package/lib/backend/package-stats/package-stats.d.ts +0 -7
  35. package/lib/backend/package-stats/package-stats.js +0 -20
  36. package/lib/backend/package-stats/package-stats.lambda.d.ts +0 -25
  37. package/lib/backend/package-stats/package-stats.lambda.js +0 -79
@@ -0,0 +1,6 @@
1
+ export declare function handler(): Promise<{
2
+ chunks: {
3
+ packages: string[];
4
+ chunkIndex: number;
5
+ }[];
6
+ }>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handler = handler;
4
+ const client_lambda_shared_1 = require("../catalog-builder/client.lambda-shared");
5
+ const CHUNK_SIZE = parseInt(process.env.CHUNK_SIZE || '100', 10);
6
+ async function handler() {
7
+ const catalogClient = await client_lambda_shared_1.CatalogClient.newClient();
8
+ const catalog = catalogClient.packages;
9
+ if (catalog.length === 0) {
10
+ throw new Error('No packages found.');
11
+ }
12
+ // Remove duplicates from different major versions
13
+ const packageNames = [...new Set(catalog.map((pkg) => pkg.name)).values()];
14
+ // Split into chunks
15
+ const chunks = [];
16
+ for (let i = 0; i < packageNames.length; i += CHUNK_SIZE) {
17
+ chunks.push({
18
+ packages: packageNames.slice(i, i + CHUNK_SIZE),
19
+ chunkIndex: Math.floor(i / CHUNK_SIZE),
20
+ });
21
+ }
22
+ console.log(`Split ${packageNames.length} packages into ${chunks.length} chunks`);
23
+ return { chunks };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zdGF0cy1jaHVua2VyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZW5kL3BhY2thZ2Utc3RhdHMvcGFja2FnZS1zdGF0cy1jaHVua2VyLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLDBCQXlCQztBQTdCRCxrRkFBd0U7QUFFeEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUUxRCxLQUFLLFVBQVUsT0FBTztJQUMzQixNQUFNLGFBQWEsR0FBRyxNQUFNLG9DQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUV2QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFM0Usb0JBQW9CO0lBQ3BCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNWLFFBQVEsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQy9DLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQ1QsU0FBUyxZQUFZLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxDQUNyRSxDQUFDO0lBRUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXRhbG9nQ2xpZW50IH0gZnJvbSAnLi4vY2F0YWxvZy1idWlsZGVyL2NsaWVudC5sYW1iZGEtc2hhcmVkJztcblxuY29uc3QgQ0hVTktfU0laRSA9IHBhcnNlSW50KHByb2Nlc3MuZW52LkNIVU5LX1NJWkUgfHwgJzEwMCcsIDEwKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoKSB7XG4gIGNvbnN0IGNhdGFsb2dDbGllbnQgPSBhd2FpdCBDYXRhbG9nQ2xpZW50Lm5ld0NsaWVudCgpO1xuICBjb25zdCBjYXRhbG9nID0gY2F0YWxvZ0NsaWVudC5wYWNrYWdlcztcblxuICBpZiAoY2F0YWxvZy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHBhY2thZ2VzIGZvdW5kLicpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbSBkaWZmZXJlbnQgbWFqb3IgdmVyc2lvbnNcbiAgY29uc3QgcGFja2FnZU5hbWVzID0gWy4uLm5ldyBTZXQoY2F0YWxvZy5tYXAoKHBrZykgPT4gcGtnLm5hbWUpKS52YWx1ZXMoKV07XG5cbiAgLy8gU3BsaXQgaW50byBjaHVua3NcbiAgY29uc3QgY2h1bmtzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGFja2FnZU5hbWVzLmxlbmd0aDsgaSArPSBDSFVOS19TSVpFKSB7XG4gICAgY2h1bmtzLnB1c2goe1xuICAgICAgcGFja2FnZXM6IHBhY2thZ2VOYW1lcy5zbGljZShpLCBpICsgQ0hVTktfU0laRSksXG4gICAgICBjaHVua0luZGV4OiBNYXRoLmZsb29yKGkgLyBDSFVOS19TSVpFKSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBTcGxpdCAke3BhY2thZ2VOYW1lcy5sZW5ndGh9IHBhY2thZ2VzIGludG8gJHtjaHVua3MubGVuZ3RofSBjaHVua3NgXG4gICk7XG5cbiAgcmV0dXJuIHsgY2h1bmtzIH07XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
2
+ import { Construct } from 'constructs';
3
+ export interface PackageStatsProcessorProps extends lambda.FunctionOptions {
4
+ }
5
+ export declare class PackageStatsProcessor extends lambda.Function {
6
+ constructor(scope: Construct, id: string, props?: PackageStatsProcessorProps);
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageStatsProcessor = void 0;
4
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
5
+ const path = require("path");
6
+ const lambda = require("aws-cdk-lib/aws-lambda");
7
+ class PackageStatsProcessor extends lambda.Function {
8
+ constructor(scope, id, props) {
9
+ super(scope, id, {
10
+ description: 'backend/package-stats/package-stats-processor.lambda.ts',
11
+ ...props,
12
+ architecture: lambda.Architecture.ARM_64,
13
+ runtime: lambda.Runtime.NODEJS_22_X,
14
+ handler: 'index.handler',
15
+ code: lambda.Code.fromAsset(path.join(__dirname, '/package-stats-processor.lambda.bundle')),
16
+ });
17
+ }
18
+ }
19
+ exports.PackageStatsProcessor = PackageStatsProcessor;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zdGF0cy1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC9wYWNrYWdlLXN0YXRzL3BhY2thZ2Utc3RhdHMtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZFQUE2RTtBQUM3RSw2QkFBNkI7QUFDN0IsaURBQWlEO0FBTWpELE1BQWEscUJBQXNCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDeEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFrQztRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSx5REFBeUQ7WUFDdEUsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDO1NBQzVGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVhELHNEQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VTdGF0c1Byb2Nlc3NvclByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbmV4cG9ydCBjbGFzcyBQYWNrYWdlU3RhdHNQcm9jZXNzb3IgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFBhY2thZ2VTdGF0c1Byb2Nlc3NvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ2JhY2tlbmQvcGFja2FnZS1zdGF0cy9wYWNrYWdlLXN0YXRzLXByb2Nlc3Nvci5sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy9wYWNrYWdlLXN0YXRzLXByb2Nlc3Nvci5sYW1iZGEuYnVuZGxlJykpLFxuICAgIH0pO1xuICB9XG59Il19