anton-bakker-deploy-engine 0.4.0 → 0.5.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/checks.d.ts +18 -0
- package/dist/checks.d.ts.map +1 -0
- package/dist/checks.js +63 -0
- package/dist/checks.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline.js +4 -4
- package/dist/pipeline.js.map +1 -1
- package/package.json +1 -1
package/dist/checks.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CheckResult, ExecutionContext } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Secrets detection using gitleaks.
|
|
4
|
+
* Scans the working directory for hardcoded secrets (API keys, passwords, tokens).
|
|
5
|
+
* Requires: gitleaks installed or available via npx.
|
|
6
|
+
*/
|
|
7
|
+
export declare function secretsScan(ctx: ExecutionContext): Promise<CheckResult>;
|
|
8
|
+
/**
|
|
9
|
+
* Software Composition Analysis using npm audit.
|
|
10
|
+
* Fails on high or critical vulnerabilities.
|
|
11
|
+
*/
|
|
12
|
+
export declare function npmAudit(ctx: ExecutionContext): Promise<CheckResult>;
|
|
13
|
+
/**
|
|
14
|
+
* SBOM generation using CycloneDX.
|
|
15
|
+
* Produces a CycloneDX JSON SBOM in the project root.
|
|
16
|
+
*/
|
|
17
|
+
export declare function sbomGenerate(ctx: ExecutionContext): Promise<CheckResult>;
|
|
18
|
+
//# sourceMappingURL=checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAS7E;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoB1E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAS9E"}
|
package/dist/checks.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/checks.ts
|
|
3
|
+
* Location: anton-bakker-deploy-engine/src/checks.ts
|
|
4
|
+
*
|
|
5
|
+
* Reusable check executors for common pipeline gates.
|
|
6
|
+
* Projects import these and register them with the PipelineEngine.
|
|
7
|
+
*
|
|
8
|
+
* All checks use ctx.exec() — zero runtime dependencies.
|
|
9
|
+
*/
|
|
10
|
+
import { existsSync } from 'fs';
|
|
11
|
+
import { join } from 'path';
|
|
12
|
+
/**
|
|
13
|
+
* Secrets detection using gitleaks.
|
|
14
|
+
* Scans the working directory for hardcoded secrets (API keys, passwords, tokens).
|
|
15
|
+
* Requires: gitleaks installed or available via npx.
|
|
16
|
+
*/
|
|
17
|
+
export async function secretsScan(ctx) {
|
|
18
|
+
const out = ctx.exec('npx --yes gitleaks@latest detect --no-git --source . --exit-code 1 --report-format json --report-path /dev/null 2>&1');
|
|
19
|
+
// gitleaks exits 0 = clean, 1 = secrets found, other = error
|
|
20
|
+
if (out === null) {
|
|
21
|
+
return { name: 'secrets-scan', passed: false, error: 'Secrets detected in source code — run `npx gitleaks detect --no-git --source .` for details' };
|
|
22
|
+
}
|
|
23
|
+
return { name: 'secrets-scan', passed: true, actual: 'no secrets found' };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Software Composition Analysis using npm audit.
|
|
27
|
+
* Fails on high or critical vulnerabilities.
|
|
28
|
+
*/
|
|
29
|
+
export async function npmAudit(ctx) {
|
|
30
|
+
const out = ctx.exec('npm audit --json 2>/dev/null');
|
|
31
|
+
if (out === null) {
|
|
32
|
+
return { name: 'npm-audit', passed: false, error: 'npm audit command failed' };
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const parsed = JSON.parse(out);
|
|
36
|
+
const vulns = parsed.metadata?.vulnerabilities ?? {};
|
|
37
|
+
const high = vulns.high ?? 0;
|
|
38
|
+
const critical = vulns.critical ?? 0;
|
|
39
|
+
return {
|
|
40
|
+
name: 'npm-audit',
|
|
41
|
+
passed: high + critical === 0,
|
|
42
|
+
expected: 'high=0, critical=0',
|
|
43
|
+
actual: `high=${high}, critical=${critical}`,
|
|
44
|
+
error: high + critical > 0 ? `${high} high + ${critical} critical vulnerabilities` : undefined,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return { name: 'npm-audit', passed: false, error: 'Failed to parse npm audit output' };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* SBOM generation using CycloneDX.
|
|
53
|
+
* Produces a CycloneDX JSON SBOM in the project root.
|
|
54
|
+
*/
|
|
55
|
+
export async function sbomGenerate(ctx) {
|
|
56
|
+
const outPath = join(ctx.projectRoot, 'sbom.json');
|
|
57
|
+
const out = ctx.exec(`npx --yes @cyclonedx/cyclonedx-npm --output-file ${outPath} 2>&1`);
|
|
58
|
+
if (out === null || !existsSync(outPath)) {
|
|
59
|
+
return { name: 'sbom-generate', passed: false, error: 'SBOM generation failed' };
|
|
60
|
+
}
|
|
61
|
+
return { name: 'sbom-generate', passed: true, actual: outPath };
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAqB;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAClB,sHAAsH,CACvH,CAAC;IACF,6DAA6D;IAC7D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,6FAA6F,EAAE,CAAC;IACvJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAqB;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI,GAAG,QAAQ,KAAK,CAAC;YAC7B,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,QAAQ,IAAI,cAAc,QAAQ,EAAE;YAC5C,KAAK,EAAE,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,QAAQ,2BAA2B,CAAC,CAAC,CAAC,SAAS;SAC/F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAqB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAClB,oDAAoD,OAAO,OAAO,CACnE,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAClE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { PipelineEngine } from './engine.js';
|
|
|
8
8
|
export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
|
|
9
9
|
export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
|
|
10
10
|
export { SlackNotifier } from './slack.js';
|
|
11
|
+
export { secretsScan, npmAudit, sbomGenerate } from './checks.js';
|
|
11
12
|
export { computeStateHash } from './types.js';
|
|
12
13
|
export type { CheckResult, GateDefinition, GateResult, EnvironmentConfig, PipelineState, PipelineReport, CheckExecutor, ExecutionContext, PipelineEvent, PipelineEventType, PipelineEventListener, SlackSeverity, SlackEventConfig, SlackMessageConfig, SlackNotifierOptions, } from './types.js';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,8 @@ export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
|
|
|
12
12
|
export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
|
|
13
13
|
// Slack notifier (optional)
|
|
14
14
|
export { SlackNotifier } from './slack.js';
|
|
15
|
+
// Reusable check executors
|
|
16
|
+
export { secretsScan, npmAudit, sbomGenerate } from './checks.js';
|
|
15
17
|
// Utilities
|
|
16
18
|
export { computeStateHash } from './types.js';
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/pipeline.js
CHANGED
|
@@ -37,7 +37,7 @@ export function buildGates(env) {
|
|
|
37
37
|
{
|
|
38
38
|
id: 'build',
|
|
39
39
|
name: 'Build',
|
|
40
|
-
checks: ['docker-build', 'frontend-build', 'post-build-verify'],
|
|
40
|
+
checks: ['docker-build', 'frontend-build', 'post-build-verify', 'sbom-generate'],
|
|
41
41
|
onFail: 'abort',
|
|
42
42
|
},
|
|
43
43
|
// One-box canary: deploy to single target, bake, verify before full fleet
|
|
@@ -90,7 +90,7 @@ export function buildGates(env) {
|
|
|
90
90
|
export const DEFAULT_ENVIRONMENTS = {
|
|
91
91
|
development: {
|
|
92
92
|
approval: 'never',
|
|
93
|
-
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'schema-parse', 'merge-markers'],
|
|
93
|
+
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'schema-parse', 'merge-markers', 'secrets-scan', 'npm-audit'],
|
|
94
94
|
migrations: true,
|
|
95
95
|
seed: { enabled: true, skipCalendar: true },
|
|
96
96
|
e2eTests: false,
|
|
@@ -102,7 +102,7 @@ export const DEFAULT_ENVIRONMENTS = {
|
|
|
102
102
|
},
|
|
103
103
|
staging: {
|
|
104
104
|
approval: 'never',
|
|
105
|
-
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers'],
|
|
105
|
+
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'secrets-scan', 'npm-audit'],
|
|
106
106
|
migrations: true,
|
|
107
107
|
seed: { enabled: true, skipCalendar: false },
|
|
108
108
|
e2eTests: true,
|
|
@@ -116,7 +116,7 @@ export const DEFAULT_ENVIRONMENTS = {
|
|
|
116
116
|
},
|
|
117
117
|
production: {
|
|
118
118
|
approval: 'broadening',
|
|
119
|
-
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'schema-backward-compat'],
|
|
119
|
+
preDeployChecks: ['typecheck', 'lint', 'server-tests', 'web-tests', 'schema-parse', 'merge-markers', 'schema-backward-compat', 'secrets-scan', 'npm-audit'],
|
|
120
120
|
migrations: true,
|
|
121
121
|
seed: { enabled: false },
|
|
122
122
|
e2eTests: true,
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAsB;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC;IAEtC,OAAO;QACL;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,GAAG,CAAC,eAAe;YAC3B,MAAM,EAAE,OAAO;SAChB;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,CAAC,WAAW,EAAE,qBAAqB,CAAC;YAC5C,MAAM,EAAE,OAAO;SAChB;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE;gBACN,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;YACD,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU;SACjD;QACD;YACE,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anton-bakker-deploy-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Self-validating AWS deployment engine with 4-layer verification: exists, configured, functional, project-specific",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|