@standards-kit/conform 0.1.3 → 0.3.0
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/dist/{chunk-PZ2NVKI7.js → chunk-FJZMUGYW.js} +30 -13
- package/dist/chunk-FJZMUGYW.js.map +1 -0
- package/dist/chunk-O745CMWG.js +29 -0
- package/dist/chunk-O745CMWG.js.map +1 -0
- package/dist/chunk-RHM53NLG.js +49 -0
- package/dist/chunk-RHM53NLG.js.map +1 -0
- package/dist/{chunk-RXA4FO7L.js → chunk-YKKWXHYS.js} +13 -9
- package/dist/chunk-YKKWXHYS.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/process.d.ts +2 -0
- package/dist/cli/utils.d.ts +19 -0
- package/dist/cli/validate.d.ts +2 -0
- package/dist/cli.js +3905 -3875
- package/dist/cli.js.map +1 -1
- package/dist/{cloudwatch-KSZ4A256.js → cloudwatch-3LTDYG6G.js} +6 -10
- package/dist/cloudwatch-3LTDYG6G.js.map +1 -0
- package/dist/constants.d.ts +69 -0
- package/dist/core/schema.d.ts +170 -1684
- package/dist/{core-KB2W6SE2.js → core-LFX2BFLG.js} +3 -2
- package/dist/{dynamodb-5KVESCVJ.js → dynamodb-HQH3IMAI.js} +6 -10
- package/dist/dynamodb-HQH3IMAI.js.map +1 -0
- package/dist/{ec2-HKPE6GZV.js → ec2-AEPT735A.js} +6 -10
- package/dist/ec2-AEPT735A.js.map +1 -0
- package/dist/{ecs-OS3NJZTA.js → ecs-UHKCH5A7.js} +6 -10
- package/dist/ecs-UHKCH5A7.js.map +1 -0
- package/dist/{elasticache-7TCRHYYM.js → elasticache-5Y6K7GKJ.js} +6 -10
- package/dist/elasticache-5Y6K7GKJ.js.map +1 -0
- package/dist/{elb-PEDLXW5R.js → elb-CN6ELVM5.js} +6 -10
- package/dist/elb-CN6ELVM5.js.map +1 -0
- package/dist/{iam-7H5HFWVQ.js → iam-YXMHK2MV.js} +6 -2
- package/dist/iam-YXMHK2MV.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +93 -121
- package/dist/index.js.map +1 -1
- package/dist/infra/checkers/client-factory.d.ts +45 -0
- package/dist/infra/schemas.d.ts +41 -533
- package/dist/{infra-ZQRXX7AW.js → infra-RFEWGWPW.js} +20 -18
- package/dist/{infra-ZQRXX7AW.js.map → infra-RFEWGWPW.js.map} +1 -1
- package/dist/{lambda-NFB5UILT.js → lambda-YTJOCYV5.js} +6 -10
- package/dist/lambda-YTJOCYV5.js.map +1 -0
- package/dist/mcp/standards/parser.d.ts +2 -14
- package/dist/{mcp-WXYRFNEV.js → mcp-T2JFU4E2.js} +4 -3
- package/dist/{mcp-WXYRFNEV.js.map → mcp-T2JFU4E2.js.map} +1 -1
- package/dist/projects/tier-loader.d.ts +10 -3
- package/dist/projects/types.d.ts +4 -4
- package/dist/{rds-KLG5O5SI.js → rds-GZ5RVPIU.js} +6 -10
- package/dist/rds-GZ5RVPIU.js.map +1 -0
- package/dist/{registry-7CDIMOLZ.js → registry-J2LVW3M2.js} +3 -2
- package/dist/{s3-2DH7PRVR.js → s3-53UELUWT.js} +16 -12
- package/dist/s3-53UELUWT.js.map +1 -0
- package/dist/s3-S4GXNR7H.js +53 -0
- package/dist/s3-S4GXNR7H.js.map +1 -0
- package/dist/{scan-IKEHLZXV.js → scan-BZH5IR3Z.js} +4 -3
- package/dist/scan-BZH5IR3Z.js.map +1 -0
- package/dist/{secretsmanager-MOOIHLAO.js → secretsmanager-FJKTPIXI.js} +6 -10
- package/dist/secretsmanager-FJKTPIXI.js.map +1 -0
- package/dist/{sns-Y36LVTWA.js → sns-RV64OMK2.js} +6 -10
- package/dist/sns-RV64OMK2.js.map +1 -0
- package/dist/{sqs-RRS3GRHK.js → sqs-MHBW6UFC.js} +6 -10
- package/dist/sqs-MHBW6UFC.js.map +1 -0
- package/dist/{standards-RXK5G4IG.js → standards-ALMA4VIU.js} +3 -2
- package/dist/{sync-XV6XBLVZ.js → sync-EGJ2CSYK.js} +3 -2
- package/dist/sync-EGJ2CSYK.js.map +1 -0
- package/dist/validate/index.d.ts +1 -1
- package/dist/validate/tier.d.ts +3 -0
- package/dist/validate/types.d.ts +3 -9
- package/dist/{validate-DKEJICCK.js → validate-X4K2SHYT.js} +53 -84
- package/dist/validate-X4K2SHYT.js.map +1 -0
- package/package.json +10 -16
- package/dist/chunk-PZ2NVKI7.js.map +0 -1
- package/dist/chunk-RXA4FO7L.js.map +0 -1
- package/dist/cloudwatch-KSZ4A256.js.map +0 -1
- package/dist/dynamodb-5KVESCVJ.js.map +0 -1
- package/dist/ec2-HKPE6GZV.js.map +0 -1
- package/dist/ecs-OS3NJZTA.js.map +0 -1
- package/dist/elasticache-7TCRHYYM.js.map +0 -1
- package/dist/elb-PEDLXW5R.js.map +0 -1
- package/dist/iam-7H5HFWVQ.js.map +0 -1
- package/dist/lambda-NFB5UILT.js.map +0 -1
- package/dist/rds-KLG5O5SI.js.map +0 -1
- package/dist/s3-2DH7PRVR.js.map +0 -1
- package/dist/scan-IKEHLZXV.js.map +0 -1
- package/dist/secretsmanager-MOOIHLAO.js.map +0 -1
- package/dist/sns-Y36LVTWA.js.map +0 -1
- package/dist/sqs-RRS3GRHK.js.map +0 -1
- package/dist/sync-XV6XBLVZ.js.map +0 -1
- package/dist/validate-DKEJICCK.js.map +0 -1
- /package/dist/{core-KB2W6SE2.js.map → core-LFX2BFLG.js.map} +0 -0
- /package/dist/{registry-7CDIMOLZ.js.map → registry-J2LVW3M2.js.map} +0 -0
- /package/dist/{standards-RXK5G4IG.js.map → standards-ALMA4VIU.js.map} +0 -0
|
@@ -1,14 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createClientFactory
|
|
3
|
+
} from "./chunk-O745CMWG.js";
|
|
4
|
+
|
|
1
5
|
// src/infra/checkers/cloudwatch.ts
|
|
2
6
|
import { CloudWatchLogsClient, DescribeLogGroupsCommand } from "@aws-sdk/client-cloudwatch-logs";
|
|
3
|
-
var
|
|
4
|
-
function getClient(region) {
|
|
5
|
-
let client = clientCache.get(region);
|
|
6
|
-
if (!client) {
|
|
7
|
-
client = new CloudWatchLogsClient({ region });
|
|
8
|
-
clientCache.set(region, client);
|
|
9
|
-
}
|
|
10
|
-
return client;
|
|
11
|
-
}
|
|
7
|
+
var getClient = createClientFactory(CloudWatchLogsClient);
|
|
12
8
|
var CloudWatchLogsChecker = {
|
|
13
9
|
async check(arn) {
|
|
14
10
|
const { resourceId, region, raw } = arn;
|
|
@@ -53,4 +49,4 @@ var CloudWatchLogsChecker = {
|
|
|
53
49
|
export {
|
|
54
50
|
CloudWatchLogsChecker
|
|
55
51
|
};
|
|
56
|
-
//# sourceMappingURL=cloudwatch-
|
|
52
|
+
//# sourceMappingURL=cloudwatch-3LTDYG6G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/infra/checkers/cloudwatch.ts"],"sourcesContent":["/**\n * CloudWatch Logs resource checker\n */\n\nimport { CloudWatchLogsClient, DescribeLogGroupsCommand } from \"@aws-sdk/client-cloudwatch-logs\";\n\nimport type { ParsedArn, ResourceCheckResult } from \"../types.js\";\nimport { createClientFactory } from \"./client-factory.js\";\nimport type { ResourceChecker } from \"./types.js\";\n\n/**\n * Get or create a CloudWatch Logs client for a region\n */\nconst getClient = createClientFactory(CloudWatchLogsClient);\n\n/**\n * CloudWatch Logs log group checker\n */\nexport const CloudWatchLogsChecker: ResourceChecker = {\n async check(arn: ParsedArn): Promise<ResourceCheckResult> {\n const { resourceId, region, raw } = arn;\n\n const client = getClient(region);\n\n try {\n // DescribeLogGroups filters by prefix, so we need to check the results\n const response = await client.send(\n new DescribeLogGroupsCommand({\n logGroupNamePrefix: resourceId,\n limit: 1,\n })\n );\n\n // Check if we found an exact match\n const found = response.logGroups?.some((lg) => lg.logGroupName === resourceId);\n\n return {\n arn: raw,\n exists: Boolean(found),\n service: \"logs\",\n resourceType: \"log-group\",\n resourceId,\n };\n } catch (error) {\n const err = error as Error & { name?: string };\n\n if (err.name === \"ResourceNotFoundException\") {\n return {\n arn: raw,\n exists: false,\n service: \"logs\",\n resourceType: \"log-group\",\n resourceId,\n };\n }\n\n return {\n arn: raw,\n exists: false,\n error: err.message || \"Unknown error\",\n service: \"logs\",\n resourceType: \"log-group\",\n resourceId,\n };\n }\n },\n};\n"],"mappings":";;;;;AAIA,SAAS,sBAAsB,gCAAgC;AAS/D,IAAM,YAAY,oBAAoB,oBAAoB;AAKnD,IAAM,wBAAyC;AAAA,EACpD,MAAM,MAAM,KAA8C;AACxD,UAAM,EAAE,YAAY,QAAQ,IAAI,IAAI;AAEpC,UAAM,SAAS,UAAU,MAAM;AAE/B,QAAI;AAEF,YAAM,WAAW,MAAM,OAAO;AAAA,QAC5B,IAAI,yBAAyB;AAAA,UAC3B,oBAAoB;AAAA,UACpB,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAGA,YAAM,QAAQ,SAAS,WAAW,KAAK,CAAC,OAAO,GAAG,iBAAiB,UAAU;AAE7E,aAAO;AAAA,QACL,KAAK;AAAA,QACL,QAAQ,QAAQ,KAAK;AAAA,QACrB,SAAS;AAAA,QACT,cAAc;AAAA,QACd;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,YAAM,MAAM;AAEZ,UAAI,IAAI,SAAS,6BAA6B;AAC5C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,QACL,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO,IAAI,WAAW;AAAA,QACtB,SAAS;AAAA,QACT,cAAc;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized constants for the conform package.
|
|
3
|
+
* Consolidates all hardcoded values for easier maintenance and configuration.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Timeout values in milliseconds
|
|
7
|
+
*/
|
|
8
|
+
export declare const TIMEOUTS: {
|
|
9
|
+
/** Git clone/pull operation timeout (30 seconds) */
|
|
10
|
+
readonly git: 30000;
|
|
11
|
+
/** Standard code tool execution timeout (5 minutes) */
|
|
12
|
+
readonly codeTool: number;
|
|
13
|
+
/** Extended timeout for longer operations like coverage runs (10 minutes) */
|
|
14
|
+
readonly codeToolExtended: number;
|
|
15
|
+
/** Quick operation timeout for version checks, etc (30 seconds) */
|
|
16
|
+
readonly quick: 30000;
|
|
17
|
+
/** Gitleaks version check timeout (10 seconds) */
|
|
18
|
+
readonly versionCheck: 10000;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* AWS configuration defaults
|
|
22
|
+
*/
|
|
23
|
+
export declare const AWS_DEFAULTS: {
|
|
24
|
+
/** Default region for global AWS services (IAM, S3 global operations) */
|
|
25
|
+
readonly globalRegion: "us-east-1";
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* GitHub API configuration
|
|
29
|
+
*/
|
|
30
|
+
export declare const GITHUB_API: {
|
|
31
|
+
/** Base URL for GitHub API (can be overridden via GITHUB_API_URL env var for GitHub Enterprise) */
|
|
32
|
+
readonly baseUrl: string;
|
|
33
|
+
/** Number of items per page for pagination */
|
|
34
|
+
readonly perPage: 100;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Standards repository defaults
|
|
38
|
+
*/
|
|
39
|
+
export declare const STANDARDS_REPO: {
|
|
40
|
+
/** Default owner for standards repository (can be overridden via STANDARDS_REPO_OWNER env var) */
|
|
41
|
+
readonly owner: string;
|
|
42
|
+
/** Default repository name (can be overridden via STANDARDS_REPO_NAME env var) */
|
|
43
|
+
readonly repo: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Cache directory configuration
|
|
47
|
+
*/
|
|
48
|
+
export declare const CACHE: {
|
|
49
|
+
/** Base directory name for standards cache (can be overridden via CM_STANDARDS_CACHE_DIR env var) */
|
|
50
|
+
readonly standardsCacheDir: string;
|
|
51
|
+
/** Base directory name for registry cache */
|
|
52
|
+
readonly registryCacheDir: "conform-registry-cache";
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Concurrency limits
|
|
56
|
+
*/
|
|
57
|
+
export declare const CONCURRENCY: {
|
|
58
|
+
/** Default concurrency for infrastructure resource checks */
|
|
59
|
+
readonly infraScan: 10;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Default threshold values
|
|
63
|
+
*/
|
|
64
|
+
export declare const DEFAULTS: {
|
|
65
|
+
/** Default backup max age in hours */
|
|
66
|
+
readonly backupMaxAgeHours: 24;
|
|
67
|
+
/** Default code coverage minimum threshold */
|
|
68
|
+
readonly coverageMinThreshold: 80;
|
|
69
|
+
};
|