@fjall/util 2.30.0 → 2.30.3
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/.minified +1 -1
- package/dist/infra/deployArtefacts.d.ts +10 -0
- package/dist/infra/deployArtefacts.js +1 -1
- package/dist/manifest/index.d.ts +1 -1
- package/dist/manifest/index.js +1 -1
- package/dist/manifest/io.d.ts +36 -0
- package/dist/manifest/io.js +1 -1
- package/dist/manifest/schemas.d.ts +52 -0
- package/dist/manifest/schemas.js +1 -1
- package/package.json +2 -2
package/dist/.minified
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
84 files minified at 2026-07-
|
|
1
|
+
84 files minified at 2026-07-16T01:01:28.523Z
|
|
@@ -42,6 +42,12 @@ export type ImageTag = z.infer<typeof ImageTagSchema>;
|
|
|
42
42
|
* neither may invent placeholder values. `previousTaskDefinitionArn` exists
|
|
43
43
|
* only where an explicit RegisterTaskDefinition rollout captured it.
|
|
44
44
|
* `ecrRepositoryArn` is absent for non-ECR registries.
|
|
45
|
+
*
|
|
46
|
+
* `functionArn`/`publishedVersion` are the Lambda analogue of
|
|
47
|
+
* `taskDefinitionArn`: present only for a container-image Lambda function
|
|
48
|
+
* whose image was rebuilt this deploy AND whose post-deploy
|
|
49
|
+
* `lambda:PublishVersion` call succeeded (best-effort — a publish failure
|
|
50
|
+
* degrades the artefact, it never fails an already-succeeded deploy).
|
|
45
51
|
*/
|
|
46
52
|
export declare const ServiceArtefactSchema: z.ZodObject<{
|
|
47
53
|
serviceName: z.ZodString;
|
|
@@ -51,6 +57,8 @@ export declare const ServiceArtefactSchema: z.ZodObject<{
|
|
|
51
57
|
ecrRepositoryArn: z.ZodOptional<z.ZodString>;
|
|
52
58
|
taskDefinitionArn: z.ZodOptional<z.ZodString>;
|
|
53
59
|
previousTaskDefinitionArn: z.ZodOptional<z.ZodString>;
|
|
60
|
+
functionArn: z.ZodOptional<z.ZodString>;
|
|
61
|
+
publishedVersion: z.ZodOptional<z.ZodString>;
|
|
54
62
|
}, z.core.$strict>;
|
|
55
63
|
export type ServiceArtefact = z.infer<typeof ServiceArtefactSchema>;
|
|
56
64
|
export declare const ServiceArtefactsSchema: z.ZodArray<z.ZodObject<{
|
|
@@ -61,6 +69,8 @@ export declare const ServiceArtefactsSchema: z.ZodArray<z.ZodObject<{
|
|
|
61
69
|
ecrRepositoryArn: z.ZodOptional<z.ZodString>;
|
|
62
70
|
taskDefinitionArn: z.ZodOptional<z.ZodString>;
|
|
63
71
|
previousTaskDefinitionArn: z.ZodOptional<z.ZodString>;
|
|
72
|
+
functionArn: z.ZodOptional<z.ZodString>;
|
|
73
|
+
publishedVersion: z.ZodOptional<z.ZodString>;
|
|
64
74
|
}, z.core.$strict>>;
|
|
65
75
|
export type ServiceArtefacts = z.infer<typeof ServiceArtefactsSchema>;
|
|
66
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as
|
|
1
|
+
import{z as i}from"zod";const n=["full","code-only","rollback","restart"],c=i.enum(n),o=/^[a-zA-Z0-9._-]+$/,r=i.string().min(1).max(128).regex(o),a=i.object({serviceName:i.string().min(1),imageTag:r,imageDigest:i.string().min(1).optional(),imageUri:i.string().min(1),ecrRepositoryArn:i.string().min(1).optional(),taskDefinitionArn:i.string().min(1).optional(),previousTaskDefinitionArn:i.string().min(1).optional(),functionArn:i.string().min(1).optional(),publishedVersion:i.string().min(1).optional()}).strict(),m=i.array(a),g=["TaskDefinition","PreviousTaskDefinition","ImageTag","ImageUri","EcrRepositoryArn","ImageDigest"];function p(t,e){return`${t}${e}`}export{g as ARTEFACT_OUTPUT_FIELDS,n as DEPLOY_MODES,c as DeployModeSchema,o as IMAGE_TAG_PATTERN,r as ImageTagSchema,a as ServiceArtefactSchema,m as ServiceArtefactsSchema,p as artefactOutputKey};
|
package/dist/manifest/index.d.ts
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* the barrel — the package.json `exports` map exposes both subpaths.
|
|
8
8
|
*/
|
|
9
9
|
export { DockerBuildSchema, DockerBuildArgValueSchema, DockerBuildSecretRefSchema, DockerBuildPartialSchema, mergeDockerBuild, ManifestServiceSchema, ManifestPatternSchema, ManifestEcrSchema, ManifestLambdaSchema, ManifestStackHashSchema, ResourceMapEntrySchema, FjallManifestSchema, FJALL_MANIFEST_FILENAME, MANIFEST_SCHEMA_VERSION, BUILDKIT_SECRET_ID_PATTERN, type DockerBuild, type DockerBuildArgValue, type DockerBuildSecretRef, type DockerBuildPartial, type ManifestService, type ManifestPattern, type ManifestEcr, type ManifestLambda, type ManifestStackHash, type ResourceMapEntry, type FjallManifest } from "./schemas.js";
|
|
10
|
-
export { getManifestFilePath, readManifestFile, writeManifestFile, createEmptyManifest, readConstructMap, parseDockerServicesFromManifest, type ManifestDockerService } from "./io.js";
|
|
10
|
+
export { getManifestFilePath, readManifestFile, writeManifestFile, createEmptyManifest, readConstructMap, parseDockerServicesFromManifest, parseLambdaDockerServicesFromManifest, parseLambdaDockerEntriesFromManifest, type ManifestDockerService, type ManifestLambdaDockerEntry } from "./io.js";
|
package/dist/manifest/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DockerBuildSchema as r,DockerBuildArgValueSchema as t,DockerBuildSecretRefSchema as c,DockerBuildPartialSchema as i,mergeDockerBuild as
|
|
1
|
+
import{DockerBuildSchema as r,DockerBuildArgValueSchema as t,DockerBuildSecretRefSchema as c,DockerBuildPartialSchema as i,mergeDockerBuild as s,ManifestServiceSchema as m,ManifestPatternSchema as S,ManifestEcrSchema as M,ManifestLambdaSchema as n,ManifestStackHashSchema as o,ResourceMapEntrySchema as f,FjallManifestSchema as h,FJALL_MANIFEST_FILENAME as E,MANIFEST_SCHEMA_VERSION as l,BUILDKIT_SECRET_ID_PATTERN as F}from"./schemas.js";import{getManifestFilePath as D,readManifestFile as k,writeManifestFile as p,createEmptyManifest as u,readConstructMap as A,parseDockerServicesFromManifest as I,parseLambdaDockerServicesFromManifest as L,parseLambdaDockerEntriesFromManifest as _}from"./io.js";export{F as BUILDKIT_SECRET_ID_PATTERN,t as DockerBuildArgValueSchema,i as DockerBuildPartialSchema,r as DockerBuildSchema,c as DockerBuildSecretRefSchema,E as FJALL_MANIFEST_FILENAME,h as FjallManifestSchema,l as MANIFEST_SCHEMA_VERSION,M as ManifestEcrSchema,n as ManifestLambdaSchema,S as ManifestPatternSchema,m as ManifestServiceSchema,o as ManifestStackHashSchema,f as ResourceMapEntrySchema,u as createEmptyManifest,D as getManifestFilePath,s as mergeDockerBuild,I as parseDockerServicesFromManifest,_ as parseLambdaDockerEntriesFromManifest,L as parseLambdaDockerServicesFromManifest,A as readConstructMap,k as readManifestFile,p as writeManifestFile};
|
package/dist/manifest/io.d.ts
CHANGED
|
@@ -58,3 +58,39 @@ export interface ManifestDockerService {
|
|
|
58
58
|
* the deploy phase.
|
|
59
59
|
*/
|
|
60
60
|
export declare function parseDockerServicesFromManifest(cdkOutPath: string): ManifestDockerService[];
|
|
61
|
+
/**
|
|
62
|
+
* Extract Lambda container-image entries with a Docker build configuration
|
|
63
|
+
* from the Fjall manifest, projected into the same `{name, docker}` shape
|
|
64
|
+
* `parseDockerServicesFromManifest` returns for ECS services — this lets both
|
|
65
|
+
* lists feed the same downstream build/grouping/tagging pipeline unchanged.
|
|
66
|
+
*
|
|
67
|
+
* The projected `name` is the Lambda's `imageKey` (falling back to its own
|
|
68
|
+
* manifest `name` when absent): several Lambda functions may deliberately
|
|
69
|
+
* share one built image, so the build/tag identity is keyed by the shared
|
|
70
|
+
* image, not by each function's own name. Entries sharing one `imageKey` are
|
|
71
|
+
* deduped to a single build; a divergent `docker` config across entries
|
|
72
|
+
* sharing an `imageKey` is a real config mistake (ambiguous which build
|
|
73
|
+
* should win) and throws rather than silently picking one.
|
|
74
|
+
*
|
|
75
|
+
* Returns an empty array if the manifest does not exist, cannot be parsed, or
|
|
76
|
+
* contains no Lambda Docker entries. Lambdas without a `docker` block
|
|
77
|
+
* (bring-your-own-image) are skipped, not an error.
|
|
78
|
+
*/
|
|
79
|
+
export declare function parseLambdaDockerServicesFromManifest(cdkOutPath: string): ManifestDockerService[];
|
|
80
|
+
/** A single container-Lambda manifest entry that declared a `docker` block. */
|
|
81
|
+
export interface ManifestLambdaDockerEntry {
|
|
82
|
+
/** The Lambda's own manifest/function name (NOT the shared image key). */
|
|
83
|
+
readonly name: string;
|
|
84
|
+
/** Shared build/tag key — `imageKey` if set, else `name`. */
|
|
85
|
+
readonly imageKey: string;
|
|
86
|
+
readonly docker: DockerBuild;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Extract every container-Lambda manifest entry that declared a `docker`
|
|
90
|
+
* block, WITHOUT deduping by `imageKey` — unlike
|
|
91
|
+
* `parseLambdaDockerServicesFromManifest`, this preserves each function's own
|
|
92
|
+
* `name`, needed to map a built image's shared `imageKey` back to the actual
|
|
93
|
+
* Lambda function name(s) that need a fresh published version after deploy
|
|
94
|
+
* (`lambda:PublishVersion` takes a function name, not an image key).
|
|
95
|
+
*/
|
|
96
|
+
export declare function parseLambdaDockerEntriesFromManifest(cdkOutPath: string): ManifestLambdaDockerEntry[];
|
package/dist/manifest/io.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readFile as
|
|
1
|
+
import{readFile as g,writeFile as y,unlink as h,rename as M,mkdir as b}from"fs/promises";import{readFileSync as S}from"fs";import{dirname as k,join as f}from"path";import{logger as s}from"../logger.js";import{fileExists as A}from"../fsHelpers.js";import{getErrorMessage as d}from"../errorUtils.js";import{recordToConstructMap as F}from"../constructMap.js";import{DockerBuildSchema as w,FjallManifestSchema as x,FJALL_MANIFEST_FILENAME as u,MANIFEST_SCHEMA_VERSION as E}from"./schemas.js";function m(e){return f(e,u)}async function j(e){const n=m(e);if(!await A(n))return null;try{const r=await g(n,"utf-8"),t=JSON.parse(r),i=x.safeParse(t);return i.success||s.debug("FjallManifest","Manifest validation failed",{path:n,errors:i.error.issues.map(a=>`${a.path.join(".")}: ${a.message}`)}),i.success?i.data:null}catch(r){return s.debug("FjallManifest","Failed to read manifest file",{path:n,error:d(r)}),null}}async function C(e,n){const r=m(e),t=`${r}.${Date.now()}.tmp`;await b(k(r),{recursive:!0});try{await y(t,JSON.stringify(n,null,2),"utf-8"),await M(t,r)}catch(i){try{await h(t)}catch(a){s.debug("FjallManifest","Temp file cleanup failed (non-fatal)",{path:t,error:d(a)})}throw i}}function T(e){return{version:E,generatedAt:new Date().toISOString(),appName:e,services:[],lambdas:[],stacks:{}}}async function _(e){const n=await j(e);return n?.resourceMap?F(n.resourceMap):new Map}function o(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function p(e){if(!o(e)||typeof e.path!="string"||e.path.length===0)return;const n=typeof e.context=="string"&&e.context.length>0?e.context:void 0,r=typeof e.target=="string"&&e.target.length>0?e.target:void 0,t=o(e.buildArgs)&&Object.keys(e.buildArgs).length>0?e.buildArgs:void 0,i=Array.isArray(e.buildSecrets)&&e.buildSecrets.length>0?e.buildSecrets:void 0,a={path:e.path,...n!==void 0&&{context:n},...r!==void 0&&{target:r},...t!==void 0&&{buildArgs:t},...i!==void 0&&{buildSecrets:i}},c=w.safeParse(a);return c.success?c.data:void 0}function l(e,n){const r=f(e,u);let t;try{t=S(r,"utf-8")}catch{s.debug("FjallManifest",`Manifest file not readable \u2014 no ${n} extracted`,{path:r});return}let i;try{i=JSON.parse(t)}catch{s.debug("FjallManifest",`Manifest is not valid JSON \u2014 no ${n} extracted`,{path:r});return}return o(i)?i:void 0}function R(e){const n=l(e,"Docker services");if(n===void 0||!Array.isArray(n.services))return[];const r=[];for(const t of n.services){if(!o(t)||typeof t.name!="string")continue;const i=p(t.docker);i!==void 0&&r.push({name:t.name,docker:i})}return r}function B(e){const n=new Map;for(const{name:r,imageKey:t,docker:i}of D(e)){const a=n.get(t);if(a===void 0){n.set(t,{name:t,docker:i});continue}if(JSON.stringify(a.docker)!==JSON.stringify(i))throw new Error(`Lambda functions sharing image key "${t}" declare different \`docker\` configs \u2014 every Lambda function sharing an \`image\` must build from the identical Dockerfile/context/target/buildArgs (offending function: "${r}").`)}return Array.from(n.values())}function D(e){const n=l(e,"Lambda Docker entries");if(n===void 0||!Array.isArray(n.lambdas))return[];const r=[];for(const t of n.lambdas){if(!o(t)||typeof t.name!="string")continue;const i=p(t.docker);if(i===void 0)continue;const a=typeof t.imageKey=="string"&&t.imageKey.length>0?t.imageKey:t.name;r.push({name:t.name,imageKey:a,docker:i})}return r}export{T as createEmptyManifest,m as getManifestFilePath,R as parseDockerServicesFromManifest,D as parseLambdaDockerEntriesFromManifest,B as parseLambdaDockerServicesFromManifest,_ as readConstructMap,j as readManifestFile,C as writeManifestFile};
|
|
@@ -229,6 +229,32 @@ declare const ManifestLambdaSchema: z.ZodObject<{
|
|
|
229
229
|
secrets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
230
230
|
ssmSecretsPath: z.ZodOptional<z.ZodString>;
|
|
231
231
|
importedSecretNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
232
|
+
docker: z.ZodOptional<z.ZodObject<{
|
|
233
|
+
path: z.ZodString;
|
|
234
|
+
context: z.ZodOptional<z.ZodString>;
|
|
235
|
+
target: z.ZodOptional<z.ZodString>;
|
|
236
|
+
buildArgs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
237
|
+
ssm: z.ZodOptional<z.ZodString>;
|
|
238
|
+
secretsManager: z.ZodOptional<z.ZodObject<{
|
|
239
|
+
name: z.ZodOptional<z.ZodString>;
|
|
240
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
241
|
+
field: z.ZodOptional<z.ZodString>;
|
|
242
|
+
}, z.core.$strict>>;
|
|
243
|
+
env: z.ZodOptional<z.ZodString>;
|
|
244
|
+
acknowledgePublic: z.ZodOptional<z.ZodBoolean>;
|
|
245
|
+
}, z.core.$strict>]>>>;
|
|
246
|
+
buildSecrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
247
|
+
id: z.ZodString;
|
|
248
|
+
ssm: z.ZodOptional<z.ZodString>;
|
|
249
|
+
secretsManager: z.ZodOptional<z.ZodObject<{
|
|
250
|
+
name: z.ZodOptional<z.ZodString>;
|
|
251
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
252
|
+
field: z.ZodOptional<z.ZodString>;
|
|
253
|
+
}, z.core.$strict>>;
|
|
254
|
+
env: z.ZodOptional<z.ZodString>;
|
|
255
|
+
}, z.core.$strict>>>;
|
|
256
|
+
}, z.core.$strict>>;
|
|
257
|
+
imageKey: z.ZodOptional<z.ZodString>;
|
|
232
258
|
}, z.core.$strict>;
|
|
233
259
|
export type ManifestLambda = z.infer<typeof ManifestLambdaSchema>;
|
|
234
260
|
declare const ManifestStackHashSchema: z.ZodObject<{
|
|
@@ -294,6 +320,32 @@ export declare const FjallManifestSchema: z.ZodObject<{
|
|
|
294
320
|
secrets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
295
321
|
ssmSecretsPath: z.ZodOptional<z.ZodString>;
|
|
296
322
|
importedSecretNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
323
|
+
docker: z.ZodOptional<z.ZodObject<{
|
|
324
|
+
path: z.ZodString;
|
|
325
|
+
context: z.ZodOptional<z.ZodString>;
|
|
326
|
+
target: z.ZodOptional<z.ZodString>;
|
|
327
|
+
buildArgs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
328
|
+
ssm: z.ZodOptional<z.ZodString>;
|
|
329
|
+
secretsManager: z.ZodOptional<z.ZodObject<{
|
|
330
|
+
name: z.ZodOptional<z.ZodString>;
|
|
331
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
332
|
+
field: z.ZodOptional<z.ZodString>;
|
|
333
|
+
}, z.core.$strict>>;
|
|
334
|
+
env: z.ZodOptional<z.ZodString>;
|
|
335
|
+
acknowledgePublic: z.ZodOptional<z.ZodBoolean>;
|
|
336
|
+
}, z.core.$strict>]>>>;
|
|
337
|
+
buildSecrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
338
|
+
id: z.ZodString;
|
|
339
|
+
ssm: z.ZodOptional<z.ZodString>;
|
|
340
|
+
secretsManager: z.ZodOptional<z.ZodObject<{
|
|
341
|
+
name: z.ZodOptional<z.ZodString>;
|
|
342
|
+
arn: z.ZodOptional<z.ZodString>;
|
|
343
|
+
field: z.ZodOptional<z.ZodString>;
|
|
344
|
+
}, z.core.$strict>>;
|
|
345
|
+
env: z.ZodOptional<z.ZodString>;
|
|
346
|
+
}, z.core.$strict>>>;
|
|
347
|
+
}, z.core.$strict>>;
|
|
348
|
+
imageKey: z.ZodOptional<z.ZodString>;
|
|
297
349
|
}, z.core.$strict>>;
|
|
298
350
|
pattern: z.ZodOptional<z.ZodObject<{
|
|
299
351
|
type: z.ZodEnum<{
|
package/dist/manifest/schemas.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as e}from"zod";import{PATTERN_TYPE_VALUES as u}from"../patterns/patternTypes.js";const M="fjall-manifest.json",b=1,f=/^[A-Za-z0-9_.-]+$/,
|
|
1
|
+
import{z as e}from"zod";import{PATTERN_TYPE_VALUES as u}from"../patterns/patternTypes.js";const M="fjall-manifest.json",b=1,f=/^[A-Za-z0-9_.-]+$/,y=e.object({id:e.string().min(1,"buildSecret id cannot be empty").regex(f,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:e.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:e.object({name:e.string().min(1,"secret name cannot be empty").optional(),arn:e.string().min(1,"secret arn cannot be empty").optional(),field:e.string().min(1,"secret field cannot be empty").optional()}).strict().refine(t=>t.name===void 0!=(t.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:e.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((t,n)=>{[t.ssm,t.secretsManager,t.env].filter(r=>r!==void 0).length!==1&&n.addIssue({code:e.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),S=e.union([e.string(),e.object({ssm:e.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:e.object({name:e.string().min(1,"secret name cannot be empty").optional(),arn:e.string().min(1,"secret arn cannot be empty").optional(),field:e.string().min(1,"secret field cannot be empty").optional()}).strict().refine(t=>t.name===void 0!=(t.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:e.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:e.boolean().optional()}).strict().superRefine((t,n)=>{[t.ssm,t.secretsManager,t.env].filter(r=>r!==void 0).length!==1&&n.addIssue({code:e.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),o=e.object({path:e.string(),context:e.string().min(1,"context cannot be empty").optional(),target:e.string().min(1,"target cannot be empty").optional(),buildArgs:e.record(e.string(),S).optional(),buildSecrets:e.array(y).optional()}).strict(),A=o.partial();function j(t,n){if(n===void 0)return t;const a=n.context??t.context,r=n.target??t.target,s=n.buildArgs??t.buildArgs,i=n.buildSecrets??t.buildSecrets;return{path:n.path??t.path,...a!==void 0&&{context:a},...r!==void 0&&{target:r},...s!==void 0&&{buildArgs:s},...i!==void 0&&{buildSecrets:i}}}const c=e.object({name:e.string(),clusterName:e.string().optional(),docker:o.optional(),containerPort:e.number().optional(),secrets:e.array(e.string()).optional(),ssmSecretsPath:e.string().optional(),importedSecretNames:e.array(e.string()).optional()}).strict(),m=e.object({type:e.enum(u),name:e.string(),source:e.string()}).strict(),l=e.object({repositoryName:e.string()}).strict(),p=e.object({name:e.string(),secrets:e.array(e.string()).optional(),ssmSecretsPath:e.string().optional(),importedSecretNames:e.array(e.string()).optional(),docker:o.optional(),imageKey:e.string().optional()}).strict(),d=e.object({templateHash:e.string(),synthTimestamp:e.string()}).strict(),g=e.object({constructPath:e.string().max(512),group:e.string().max(128),resourceType:e.string().max(256)}).strict(),E=e.object({version:e.literal(b),generatedAt:e.string(),appName:e.string(),services:e.array(c),lambdas:e.array(p),pattern:m.optional(),ecr:l.optional(),stacks:e.record(e.string(),d),resourceMap:e.record(e.string(),g).optional()}).strict();export{f as BUILDKIT_SECRET_ID_PATTERN,S as DockerBuildArgValueSchema,A as DockerBuildPartialSchema,o as DockerBuildSchema,y as DockerBuildSecretRefSchema,M as FJALL_MANIFEST_FILENAME,E as FjallManifestSchema,b as MANIFEST_SCHEMA_VERSION,l as ManifestEcrSchema,p as ManifestLambdaSchema,m as ManifestPatternSchema,c as ManifestServiceSchema,d as ManifestStackHashSchema,g as ResourceMapEntrySchema,j as mergeDockerBuild};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/util",
|
|
3
|
-
"version": "2.30.
|
|
3
|
+
"version": "2.30.3",
|
|
4
4
|
"description": "Common utility methods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -134,5 +134,5 @@
|
|
|
134
134
|
"engines": {
|
|
135
135
|
"node": ">=22.0.0"
|
|
136
136
|
},
|
|
137
|
-
"gitHead": "
|
|
137
|
+
"gitHead": "d398edc0c0edf661d7ab6e5a47623529f68dfd2a"
|
|
138
138
|
}
|