canopycms-cdk 0.0.67-int.90 → 0.0.67
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/constructs/asset-support.d.ts +137 -269
- package/dist/constructs/asset-support.js +275 -455
- package/dist/constructs/cms-distribution.d.ts +23 -40
- package/dist/constructs/cms-distribution.js +61 -88
- package/dist/constructs/cms-service.d.ts +38 -60
- package/dist/constructs/cms-service.js +246 -390
- package/dist/constructs/lambda-execution-role.d.ts +23 -39
- package/dist/constructs/lambda-execution-role.js +37 -60
- package/dist/index.js +0 -2
- package/dist/worker.d.ts +0 -2
- package/dist/worker.js +0 -2
- package/lambda/asset-transform/dist/handler.js +33 -49
- package/lambda/asset-transform/dist/node_modules/.package-lock.json +38 -38
- package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/README.md +1 -1
- package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/lib/glib-2.0/include/glibconfig.h +2 -2
- package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/lib/{libvips-cpp.so.8.18.6 → libvips-cpp.so.8.18.7} +0 -0
- package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/package.json +2 -2
- package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/versions.json +11 -11
- package/lambda/asset-transform/dist/node_modules/@img/sharp-linux-arm64/index.cjs +1 -1
- package/lambda/asset-transform/dist/node_modules/@img/sharp-linux-arm64/lib/{sharp-linux-arm64-0.35.4.node → sharp-linux-arm64-0.35.5.node} +0 -0
- package/lambda/asset-transform/dist/node_modules/@img/sharp-linux-arm64/package.json +2 -2
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/index.cjs +1 -1
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.5.node.js +1 -0
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/lib/{sharp-wasm32-0.35.4.node.wasm → sharp-wasm32-0.35.5.node.wasm} +0 -0
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/package.json +1 -1
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/versions.json +7 -7
- package/lambda/asset-transform/dist/node_modules/sharp/dist/index.d.cts +2 -2
- package/lambda/asset-transform/dist/node_modules/sharp/dist/index.d.mts +3 -3
- package/lambda/asset-transform/dist/node_modules/sharp/dist/is.cjs +8 -2
- package/lambda/asset-transform/dist/node_modules/sharp/dist/is.mjs +8 -2
- package/lambda/asset-transform/dist/node_modules/sharp/dist/operation.cjs +2 -2
- package/lambda/asset-transform/dist/node_modules/sharp/dist/operation.mjs +2 -2
- package/lambda/asset-transform/dist/node_modules/sharp/dist/output.cjs +1 -0
- package/lambda/asset-transform/dist/node_modules/sharp/dist/output.mjs +1 -0
- package/lambda/asset-transform/dist/node_modules/sharp/dist/resize.cjs +14 -14
- package/lambda/asset-transform/dist/node_modules/sharp/dist/resize.mjs +14 -14
- package/lambda/asset-transform/dist/node_modules/sharp/dist/sharp.cjs +3 -3
- package/lambda/asset-transform/dist/node_modules/sharp/dist/sharp.mjs +3 -3
- package/lambda/asset-transform/dist/node_modules/sharp/lib/index.d.ts +2 -2
- package/lambda/asset-transform/dist/node_modules/sharp/package.json +35 -35
- package/lambda/asset-transform/dist/node_modules/sharp/src/binding.gyp +1 -1
- package/lambda/asset-transform/dist/node_modules/sharp/src/common.cc +4 -4
- package/lambda/asset-transform/dist/node_modules/sharp/src/common.h +2 -2
- package/lambda/asset-transform/dist/node_modules/sharp/src/pipeline.cc +31 -6
- package/lambda/asset-transform/dist/node_modules/sharp/src/utilities.cc +1 -1
- package/package.json +4 -4
- package/worker/dist/index.js +251 -364
- package/lambda/asset-transform/dist/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.4.node.js +0 -1
|
@@ -13,48 +13,32 @@ export interface LambdaExecutionPolicyOptions {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Re-attach what CDK drops when a `lambda.Function` is handed a pre-built
|
|
16
|
-
* execution role. Call this for
|
|
17
|
-
* that role to the function.
|
|
16
|
+
* execution role. Call this for EVERY caller-supplied role.
|
|
18
17
|
*
|
|
19
|
-
* The contract
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* needs
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* `arn:aws:logs:*:*:log-group:/aws/lambda/*:*` and so grant nothing for such a
|
|
27
|
-
* group, and an explicit `logGroup.grantWrite()` is what actually enables
|
|
28
|
-
* their logging. Attaching it regardless costs one managed-policy ARN and
|
|
29
|
-
* means the first change to either function's logging cannot quietly leave
|
|
18
|
+
* The contract is the strong one: **passing a role yields the same effective
|
|
19
|
+
* permissions as letting the construct create one.** Attaching only what each
|
|
20
|
+
* function demonstrably still needs goes stale silently - neither Lambda here
|
|
21
|
+
* strictly needs `AWSLambdaBasicExecutionRole` today, since both log to a
|
|
22
|
+
* custom-named group its `/aws/lambda/*`-scoped statements do not cover and an
|
|
23
|
+
* explicit `logGroup.grantWrite()` is what enables their logging. Attaching it
|
|
24
|
+
* anyway costs one ARN and keeps a later logging change from quietly leaving
|
|
30
25
|
* passed-role deployments behind.
|
|
31
26
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
27
|
+
* THE PARAMETER IS THE CONCRETE `iam.Role`, NOT `iam.IRole`, because
|
|
28
|
+
* `addManagedPolicy` does nothing useful on an imported role, in two ways that
|
|
29
|
+
* both emit nothing and neither of which errors: `ImmutableRole` (what
|
|
30
|
+
* `Role.fromRoleArn` returns cross-account, or for any `mutable: false` import)
|
|
31
|
+
* defines it as an empty method body, and `ImportedRole` (same-account, still
|
|
32
|
+
* mutable) attaches only if the policy exposes `attachToRole`, which
|
|
33
|
+
* `ManagedPolicy.fromAwsManagedPolicyName` does not, so it takes the warning
|
|
34
|
+
* branch. Both confirmed on a synthesized template: no `AWS::IAM::Role` and no
|
|
35
|
+
* `AWS::IAM::Policy` appears either way. Typed `IRole`, this function would
|
|
36
|
+
* silently no-op for every imported role and ship exactly the cannot-start
|
|
37
|
+
* Lambda it exists to prevent, and no runtime guard is available -
|
|
38
|
+
* `ImmutableRole.addToPrincipalPolicy` reports `statementAdded: true` while
|
|
39
|
+
* emitting nothing. Narrowing moves the failure to COMPILE time.
|
|
36
40
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* role imported with `mutable: false`.
|
|
40
|
-
* - `ImportedRole.addManagedPolicy` (the same-account, still-mutable case)
|
|
41
|
-
* attaches the policy only if it exposes `attachToRole`, which
|
|
42
|
-
* `ManagedPolicy.fromAwsManagedPolicyName` does not - so it takes the
|
|
43
|
-
* warning branch and emits nothing.
|
|
44
|
-
*
|
|
45
|
-
* Both confirmed on a synthesized template: no `AWS::IAM::Role` and no
|
|
46
|
-
* `AWS::IAM::Policy` resource appears in either case. So typed `IRole`, this
|
|
47
|
-
* function would silently no-op for every imported role and ship exactly the
|
|
48
|
-
* cannot-start Lambda it exists to prevent. There is no runtime guard
|
|
49
|
-
* available either - `ImmutableRole.addToPrincipalPolicy` returns
|
|
50
|
-
* `statementAdded: true` while emitting nothing, so the one signal CDK offers
|
|
51
|
-
* lies. Narrowing the type moves the failure to COMPILE time instead, which is
|
|
52
|
-
* the earliest it can be caught; `attachTo(distribution:
|
|
53
|
-
* cloudfront.Distribution)` in asset-support.ts narrows to a concrete class for
|
|
54
|
-
* the same kind of reason.
|
|
55
|
-
*
|
|
56
|
-
* Residual, documented rather than guarded because of its rarity: a role
|
|
57
|
-
* produced under `Role.customizeRoles` carries a precreated `ImportedRole` that
|
|
58
|
-
* `addManagedPolicy` delegates to, landing on the warning branch above.
|
|
41
|
+
* Residual, documented rather than guarded: a role from `Role.customizeRoles`
|
|
42
|
+
* carries a precreated `ImportedRole` and lands on that same warning branch.
|
|
59
43
|
*/
|
|
60
44
|
export declare function attachLambdaExecutionPolicies(role: iam.Role, options: LambdaExecutionPolicyOptions): void;
|
|
@@ -3,9 +3,8 @@ import { aws_iam as iam } from 'aws-cdk-lib';
|
|
|
3
3
|
* The two AWS managed policies CDK's `lambda.Function` attaches to an
|
|
4
4
|
* execution role IT creates, and silently DISCARDS when one is passed in.
|
|
5
5
|
*
|
|
6
|
-
* Verbatim from `aws-cdk-lib/aws-lambda/lib/function.js` (
|
|
7
|
-
*
|
|
8
|
-
* this):
|
|
6
|
+
* Verbatim from `aws-cdk-lib/aws-lambda/lib/function.js` (2.265.0, and the same
|
|
7
|
+
* in 2.267.0):
|
|
9
8
|
*
|
|
10
9
|
* ```js
|
|
11
10
|
* managedPolicies.push(ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaBasicExecutionRole'))
|
|
@@ -13,74 +12,52 @@ import { aws_iam as iam } from 'aws-cdk-lib';
|
|
|
13
12
|
* this.role = props.role || new iam.Role(this, 'ServiceRole', { assumedBy: ..., managedPolicies })
|
|
14
13
|
* ```
|
|
15
14
|
*
|
|
16
|
-
* The array is built unconditionally and then reaches ONLY the `||` fallback
|
|
17
|
-
*
|
|
18
|
-
* synthesized template,
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* perfectly clean and failing only at invoke, a long way from the cause. Which
|
|
25
|
-
* is why every `role` prop in this package routes through here.
|
|
15
|
+
* The array is built unconditionally and then reaches ONLY the `||` fallback, so
|
|
16
|
+
* passing a role drops both entries with nothing logged - confirmed on a
|
|
17
|
+
* synthesized template, where a VPC-attached function given a bare role emits an
|
|
18
|
+
* `AWS::IAM::Role` with no `ManagedPolicyArns` at all. For the VPC-attached CMS
|
|
19
|
+
* Lambda that is fatal and invisible: without `AWSLambdaVPCAccessExecutionRole`
|
|
20
|
+
* the function cannot create ENIs and so cannot start, having synthesized and
|
|
21
|
+
* deployed perfectly clean and failing only at invoke. Every `role` prop in this
|
|
22
|
+
* package routes through here.
|
|
26
23
|
*
|
|
27
24
|
* NOT affected by passing a role, so deliberately not re-applied below (all
|
|
28
|
-
* three verified in the same CDK source):
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* - Every `grant*` call, because `this.grantPrincipal = this.role`. That covers
|
|
33
|
-
* `cmsLogGroup`/`transformLogGroup`'s `grantWrite` and all asset-bucket
|
|
34
|
-
* grants, which land on the passed role exactly as they would on a created
|
|
35
|
-
* one.
|
|
25
|
+
* three verified in the same CDK source): EFS access-point statements and
|
|
26
|
+
* `initialPolicy`, which go through `addToPrincipalPolicy`, and every `grant*`
|
|
27
|
+
* call, because `this.grantPrincipal = this.role` - which covers
|
|
28
|
+
* `cmsLogGroup`/`transformLogGroup`'s `grantWrite` and all asset-bucket grants.
|
|
36
29
|
*/
|
|
37
30
|
const BASIC_EXECUTION_POLICY = 'service-role/AWSLambdaBasicExecutionRole';
|
|
38
31
|
const VPC_ACCESS_POLICY = 'service-role/AWSLambdaVPCAccessExecutionRole';
|
|
39
32
|
/**
|
|
40
33
|
* Re-attach what CDK drops when a `lambda.Function` is handed a pre-built
|
|
41
|
-
* execution role. Call this for
|
|
42
|
-
* that role to the function.
|
|
34
|
+
* execution role. Call this for EVERY caller-supplied role.
|
|
43
35
|
*
|
|
44
|
-
* The contract
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* needs
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* `arn:aws:logs:*:*:log-group:/aws/lambda/*:*` and so grant nothing for such a
|
|
52
|
-
* group, and an explicit `logGroup.grantWrite()` is what actually enables
|
|
53
|
-
* their logging. Attaching it regardless costs one managed-policy ARN and
|
|
54
|
-
* means the first change to either function's logging cannot quietly leave
|
|
36
|
+
* The contract is the strong one: **passing a role yields the same effective
|
|
37
|
+
* permissions as letting the construct create one.** Attaching only what each
|
|
38
|
+
* function demonstrably still needs goes stale silently - neither Lambda here
|
|
39
|
+
* strictly needs `AWSLambdaBasicExecutionRole` today, since both log to a
|
|
40
|
+
* custom-named group its `/aws/lambda/*`-scoped statements do not cover and an
|
|
41
|
+
* explicit `logGroup.grantWrite()` is what enables their logging. Attaching it
|
|
42
|
+
* anyway costs one ARN and keeps a later logging change from quietly leaving
|
|
55
43
|
* passed-role deployments behind.
|
|
56
44
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* Both confirmed on a synthesized template: no `AWS::IAM::Role` and no
|
|
71
|
-
* `AWS::IAM::Policy` resource appears in either case. So typed `IRole`, this
|
|
72
|
-
* function would silently no-op for every imported role and ship exactly the
|
|
73
|
-
* cannot-start Lambda it exists to prevent. There is no runtime guard
|
|
74
|
-
* available either - `ImmutableRole.addToPrincipalPolicy` returns
|
|
75
|
-
* `statementAdded: true` while emitting nothing, so the one signal CDK offers
|
|
76
|
-
* lies. Narrowing the type moves the failure to COMPILE time instead, which is
|
|
77
|
-
* the earliest it can be caught; `attachTo(distribution:
|
|
78
|
-
* cloudfront.Distribution)` in asset-support.ts narrows to a concrete class for
|
|
79
|
-
* the same kind of reason.
|
|
45
|
+
* THE PARAMETER IS THE CONCRETE `iam.Role`, NOT `iam.IRole`, because
|
|
46
|
+
* `addManagedPolicy` does nothing useful on an imported role, in two ways that
|
|
47
|
+
* both emit nothing and neither of which errors: `ImmutableRole` (what
|
|
48
|
+
* `Role.fromRoleArn` returns cross-account, or for any `mutable: false` import)
|
|
49
|
+
* defines it as an empty method body, and `ImportedRole` (same-account, still
|
|
50
|
+
* mutable) attaches only if the policy exposes `attachToRole`, which
|
|
51
|
+
* `ManagedPolicy.fromAwsManagedPolicyName` does not, so it takes the warning
|
|
52
|
+
* branch. Both confirmed on a synthesized template: no `AWS::IAM::Role` and no
|
|
53
|
+
* `AWS::IAM::Policy` appears either way. Typed `IRole`, this function would
|
|
54
|
+
* silently no-op for every imported role and ship exactly the cannot-start
|
|
55
|
+
* Lambda it exists to prevent, and no runtime guard is available -
|
|
56
|
+
* `ImmutableRole.addToPrincipalPolicy` reports `statementAdded: true` while
|
|
57
|
+
* emitting nothing. Narrowing moves the failure to COMPILE time.
|
|
80
58
|
*
|
|
81
|
-
* Residual, documented rather than guarded
|
|
82
|
-
*
|
|
83
|
-
* `addManagedPolicy` delegates to, landing on the warning branch above.
|
|
59
|
+
* Residual, documented rather than guarded: a role from `Role.customizeRoles`
|
|
60
|
+
* carries a precreated `ImportedRole` and lands on that same warning branch.
|
|
84
61
|
*/
|
|
85
62
|
export function attachLambdaExecutionPolicies(role, options) {
|
|
86
63
|
role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName(BASIC_EXECUTION_POLICY));
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
// Worker daemon
|
|
2
1
|
export { CmsWorker } from './worker.js';
|
|
3
|
-
// CDK Constructs
|
|
4
2
|
export { CanopyCmsService } from './constructs/cms-service.js';
|
|
5
3
|
export { CanopyCmsDistribution } from './constructs/cms-distribution.js';
|
|
6
4
|
export { AssetSupport, assetUploadBehavior } from './constructs/asset-support.js';
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Re-export CmsWorker from the core canopycms package.
|
|
3
2
|
* The worker is cloud-agnostic and auth-agnostic — it lives in canopycms core.
|
|
4
|
-
* This file re-exports it for convenience from the CDK package.
|
|
5
3
|
*/
|
|
6
4
|
export { CmsWorker } from 'canopycms/worker/cms-worker';
|
|
7
5
|
export type { CmsWorkerConfig, AuthCacheRefresher } from 'canopycms/worker/cms-worker';
|
package/dist/worker.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Re-export CmsWorker from the core canopycms package.
|
|
3
2
|
* The worker is cloud-agnostic and auth-agnostic — it lives in canopycms core.
|
|
4
|
-
* This file re-exports it for convenience from the CDK package.
|
|
5
3
|
*/
|
|
6
4
|
export { CmsWorker } from 'canopycms/worker/cms-worker';
|
|
@@ -4522,18 +4522,18 @@ var init_config = __esm({
|
|
|
4522
4522
|
onAccountClick: external_exports.function().returns(external_exports.void()).optional(),
|
|
4523
4523
|
onLogoutClick: external_exports.function().returns(external_exports.void()).optional(),
|
|
4524
4524
|
// Optional: custom account component (e.g., Clerk's UserButton)
|
|
4525
|
-
AccountComponent: external_exports.custom().optional()
|
|
4525
|
+
AccountComponent: external_exports.custom().optional(),
|
|
4526
|
+
// Optional: provider sign-in UI for signed-out users (see EditorSignInProps)
|
|
4527
|
+
SignInComponent: external_exports.custom().optional()
|
|
4526
4528
|
});
|
|
4527
4529
|
CanopyConfigSchema = external_exports.object({
|
|
4528
4530
|
media: mediaSchema.optional(),
|
|
4529
|
-
// No outer .optional()
|
|
4530
|
-
//
|
|
4531
|
-
//
|
|
4532
|
-
//
|
|
4533
|
-
//
|
|
4534
|
-
//
|
|
4535
|
-
// still resolves to 'deny' and an omitted level inside the object form stays undefined
|
|
4536
|
-
// (resolved to 'deny' at read time by resolveDefaultPathAccess).
|
|
4531
|
+
// No outer .optional(): both schemas already .default('deny'), so the field is optional on
|
|
4532
|
+
// input but always resolves to 'allow'/'deny' (never undefined) on output — an outer
|
|
4533
|
+
// .optional() would short-circuit before the inner default runs, defeating the fail-closed
|
|
4534
|
+
// default (SCH-M1). defaultPathAccessSchema's .default('deny') sits on the OUTER union, not
|
|
4535
|
+
// inside defaultPathAccessLevelsSchema, so an omitted level in the object form stays
|
|
4536
|
+
// undefined (resolved to 'deny' at read time by resolveDefaultPathAccess).
|
|
4537
4537
|
defaultBranchAccess: defaultBranchAccessSchema,
|
|
4538
4538
|
defaultPathAccess: defaultPathAccessSchema,
|
|
4539
4539
|
// .optional() deliberately defeats defaultBaseBranchSchema's .default('main'):
|
|
@@ -4557,16 +4557,11 @@ var init_config = __esm({
|
|
|
4557
4557
|
allowNetworkRemoteInProd: external_exports.boolean().optional(),
|
|
4558
4558
|
settingsBranch: external_exports.string().optional(),
|
|
4559
4559
|
autoCreateSettingsPR: external_exports.boolean().optional(),
|
|
4560
|
-
//
|
|
4561
|
-
//
|
|
4562
|
-
//
|
|
4563
|
-
//
|
|
4564
|
-
//
|
|
4565
|
-
// "win" over modeDefault (masking dev's real default of 'local'), and the env
|
|
4566
|
-
// var would just be racing config's baked-in 'prod' instead of a true absence.
|
|
4567
|
-
// `.optional()` here is what keeps an omitted deploymentName reaching
|
|
4568
|
-
// resolveDeploymentName as `undefined`, so it can fall through to modeDefault.
|
|
4569
|
-
// Do not "fix" this by removing `.optional()`.
|
|
4560
|
+
// `.optional()`, NOT bare `deploymentNameSchema`: its own `.default('prod')` would make
|
|
4561
|
+
// `parse(undefined)` resolve to 'prod' instead of staying `undefined`, collapsing the
|
|
4562
|
+
// env > config > modeDefault precedence chain `resolveDeploymentName`
|
|
4563
|
+
// (operating-mode/deployment-name.ts) implements — config would always "win" over
|
|
4564
|
+
// modeDefault, masking dev's real default of 'local'. Do not remove `.optional()`.
|
|
4570
4565
|
deploymentName: deploymentNameSchema.optional(),
|
|
4571
4566
|
contentRoot: contentRootSchema.default("content"),
|
|
4572
4567
|
sourceRoot: sourceRootSchema.optional(),
|
|
@@ -24061,15 +24056,11 @@ var DebugLogger = class {
|
|
|
24061
24056
|
return LOG_LEVELS[level] >= LOG_LEVELS[minLevel];
|
|
24062
24057
|
}
|
|
24063
24058
|
/**
|
|
24064
|
-
* The ISO-8601 timestamp leads the line BARE
|
|
24065
|
-
*
|
|
24066
|
-
*
|
|
24067
|
-
*
|
|
24068
|
-
*
|
|
24069
|
-
* leading `[` meant every debug line was silently folded into the previous
|
|
24070
|
-
* event instead of starting its own. The bracketed `[prefix:category]` and
|
|
24071
|
-
* `[level]` fields still follow, so the human-readable shape is unchanged
|
|
24072
|
-
* apart from those two characters.
|
|
24059
|
+
* The ISO-8601 timestamp leads the line BARE, never bracketed. `CANOPYCMS_DEBUG=true` can
|
|
24060
|
+
* be set on the EC2 worker, whose stdout appends to /var/log/canopy-worker/worker.log, and
|
|
24061
|
+
* the CloudWatch agent's `multi_line_start_pattern` matches a timestamp at the START of a
|
|
24062
|
+
* line (see worker/log.ts's INVARIANT and cms-service.ts's agent config): any leading
|
|
24063
|
+
* character folds the line into the previous event instead of starting its own.
|
|
24073
24064
|
*/
|
|
24074
24065
|
formatMessage(level, category, message) {
|
|
24075
24066
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -24102,15 +24093,9 @@ var DebugLogger = class {
|
|
|
24102
24093
|
throw new Error(errorMsg);
|
|
24103
24094
|
}
|
|
24104
24095
|
}
|
|
24105
|
-
/**
|
|
24106
|
-
* Start timing an operation
|
|
24107
|
-
*/
|
|
24108
24096
|
time(label) {
|
|
24109
24097
|
this.timers.set(label, Date.now());
|
|
24110
24098
|
}
|
|
24111
|
-
/**
|
|
24112
|
-
* End timing an operation and log the duration
|
|
24113
|
-
*/
|
|
24114
24099
|
timeEnd(category, label) {
|
|
24115
24100
|
const start = this.timers.get(label);
|
|
24116
24101
|
if (start === void 0) {
|
|
@@ -24122,9 +24107,6 @@ var DebugLogger = class {
|
|
|
24122
24107
|
this.debug(category, `${label} completed`, { durationMs: duration });
|
|
24123
24108
|
return duration;
|
|
24124
24109
|
}
|
|
24125
|
-
/**
|
|
24126
|
-
* Wrap an async function with automatic timing
|
|
24127
|
-
*/
|
|
24128
24110
|
async timed(category, label, fn) {
|
|
24129
24111
|
this.time(label);
|
|
24130
24112
|
try {
|
|
@@ -30130,10 +30112,10 @@ var permissionPathSchema = external_exports.string().min(1).transform((val, ctx)
|
|
|
30130
30112
|
return result.path;
|
|
30131
30113
|
});
|
|
30132
30114
|
var PermissionsFileSchema = external_exports.object({
|
|
30133
|
-
// Managed by writeOccJsonFile (see authorization/settings-file-store.ts)
|
|
30134
|
-
// the single OCC counter for this file. Optional so a hand-written file
|
|
30135
|
-
//
|
|
30136
|
-
//
|
|
30115
|
+
// Managed by writeOccJsonFile (see authorization/settings-file-store.ts):
|
|
30116
|
+
// the single OCC counter for this file. Optional so a hand-written file with
|
|
30117
|
+
// no version field parses as version 0; a stray `contentVersion` key is
|
|
30118
|
+
// silently stripped by this non-strict zod parse.
|
|
30137
30119
|
version: external_exports.number().int().nonnegative().optional(),
|
|
30138
30120
|
writeId: external_exports.string().optional(),
|
|
30139
30121
|
updatedAt: external_exports.string().datetime(),
|
|
@@ -30157,10 +30139,10 @@ init_error();
|
|
|
30157
30139
|
// ../canopycms/src/authorization/groups/schema.ts
|
|
30158
30140
|
init_zod();
|
|
30159
30141
|
var GroupsFileSchema = external_exports.object({
|
|
30160
|
-
// Managed by writeOccJsonFile (see authorization/settings-file-store.ts)
|
|
30161
|
-
// the single OCC counter for this file. Optional so a hand-written file
|
|
30162
|
-
//
|
|
30163
|
-
//
|
|
30142
|
+
// Managed by writeOccJsonFile (see authorization/settings-file-store.ts):
|
|
30143
|
+
// the single OCC counter for this file. Optional so a hand-written file with
|
|
30144
|
+
// no version field parses as version 0; a stray `contentVersion` key is
|
|
30145
|
+
// silently stripped by this non-strict zod parse.
|
|
30164
30146
|
version: external_exports.number().int().nonnegative().optional(),
|
|
30165
30147
|
writeId: external_exports.string().optional(),
|
|
30166
30148
|
updatedAt: external_exports.string().datetime(),
|
|
@@ -30193,10 +30175,10 @@ var ThrottledOctokit = import_rest.Octokit.plugin(import_plugin_throttling.throt
|
|
|
30193
30175
|
// ../canopycms/src/services.ts
|
|
30194
30176
|
init_operating_mode();
|
|
30195
30177
|
|
|
30196
|
-
// ../canopycms/src/
|
|
30178
|
+
// ../canopycms/src/task-queue/cms-task-queue.ts
|
|
30197
30179
|
var debugLogger = createDebugLogger({ prefix: "TaskQueue" });
|
|
30198
30180
|
|
|
30199
|
-
// ../canopycms/src/
|
|
30181
|
+
// ../canopycms/src/task-queue/task-queue-config.ts
|
|
30200
30182
|
init_config3();
|
|
30201
30183
|
|
|
30202
30184
|
// ../canopycms/src/url-path-resolver.ts
|
|
@@ -30433,7 +30415,7 @@ var ASSET_PREFIXES = {
|
|
|
30433
30415
|
function createKeyBuilders(prefixes = ASSET_PREFIXES) {
|
|
30434
30416
|
return {
|
|
30435
30417
|
originalKey: (hash32, ext2) => `${prefixes.originals}/${hash32}.${ext2}`,
|
|
30436
|
-
/** Prefix
|
|
30418
|
+
/** Prefix for looking up an original by hash32 alone (extension unknown ahead of time). */
|
|
30437
30419
|
originalPrefix: (hash32) => `${prefixes.originals}/${hash32}.`,
|
|
30438
30420
|
stagingKey: (uuid) => `${prefixes.staging}/${uuid}`,
|
|
30439
30421
|
metaKey: (hash32) => `${prefixes.meta}/${hash32}.json`,
|
|
@@ -30441,7 +30423,9 @@ function createKeyBuilders(prefixes = ASSET_PREFIXES) {
|
|
|
30441
30423
|
publicKey: (hash32, slug, ext2) => `${prefixes.public}/${hash32}/${slug}.${ext2}`
|
|
30442
30424
|
};
|
|
30443
30425
|
}
|
|
30444
|
-
var
|
|
30426
|
+
var keyBuilders = createKeyBuilders();
|
|
30427
|
+
var { originalKey, stagingKey, metaKey, publicKey } = keyBuilders;
|
|
30428
|
+
var { originalPrefix, metaPrefix } = keyBuilders;
|
|
30445
30429
|
|
|
30446
30430
|
// ../canopycms/src/assets/store-local.ts
|
|
30447
30431
|
var DEFAULT_MAX_UPLOAD_BYTES = 50 * 1024 * 1024;
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"node_modules/@img/sharp-libvips-linux-arm64": {
|
|
25
|
-
"version": "1.3.
|
|
26
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.
|
|
27
|
-
"integrity": "sha512-
|
|
25
|
+
"version": "1.3.4",
|
|
26
|
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.4.tgz",
|
|
27
|
+
"integrity": "sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==",
|
|
28
28
|
"cpu": [
|
|
29
29
|
"arm64"
|
|
30
30
|
],
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"node_modules/@img/sharp-linux-arm64": {
|
|
41
|
-
"version": "0.35.
|
|
42
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.
|
|
43
|
-
"integrity": "sha512-
|
|
41
|
+
"version": "0.35.5",
|
|
42
|
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.5.tgz",
|
|
43
|
+
"integrity": "sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==",
|
|
44
44
|
"cpu": [
|
|
45
45
|
"arm64"
|
|
46
46
|
],
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
"url": "https://opencollective.com/libvips"
|
|
57
57
|
},
|
|
58
58
|
"optionalDependencies": {
|
|
59
|
-
"@img/sharp-libvips-linux-arm64": "1.3.
|
|
59
|
+
"@img/sharp-libvips-linux-arm64": "1.3.4"
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
"node_modules/@img/sharp-wasm32": {
|
|
63
|
-
"version": "0.35.
|
|
64
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.
|
|
65
|
-
"integrity": "sha512-
|
|
63
|
+
"version": "0.35.5",
|
|
64
|
+
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.5.tgz",
|
|
65
|
+
"integrity": "sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==",
|
|
66
66
|
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
|
67
67
|
"optional": true,
|
|
68
68
|
"dependencies": {
|
|
@@ -97,9 +97,9 @@
|
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"node_modules/sharp": {
|
|
100
|
-
"version": "0.35.
|
|
101
|
-
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.
|
|
102
|
-
"integrity": "sha512-
|
|
100
|
+
"version": "0.35.5",
|
|
101
|
+
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.5.tgz",
|
|
102
|
+
"integrity": "sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==",
|
|
103
103
|
"license": "Apache-2.0",
|
|
104
104
|
"dependencies": {
|
|
105
105
|
"@img/colour": "^1.1.0",
|
|
@@ -113,31 +113,31 @@
|
|
|
113
113
|
"url": "https://opencollective.com/libvips"
|
|
114
114
|
},
|
|
115
115
|
"optionalDependencies": {
|
|
116
|
-
"@img/sharp-darwin-arm64": "0.35.
|
|
117
|
-
"@img/sharp-darwin-x64": "0.35.
|
|
118
|
-
"@img/sharp-freebsd-wasm32": "0.35.
|
|
119
|
-
"@img/sharp-libvips-darwin-arm64": "1.3.
|
|
120
|
-
"@img/sharp-libvips-darwin-x64": "1.3.
|
|
121
|
-
"@img/sharp-libvips-linux-arm": "1.3.
|
|
122
|
-
"@img/sharp-libvips-linux-arm64": "1.3.
|
|
123
|
-
"@img/sharp-libvips-linux-ppc64": "1.3.
|
|
124
|
-
"@img/sharp-libvips-linux-riscv64": "1.3.
|
|
125
|
-
"@img/sharp-libvips-linux-s390x": "1.3.
|
|
126
|
-
"@img/sharp-libvips-linux-x64": "1.3.
|
|
127
|
-
"@img/sharp-libvips-linuxmusl-arm64": "1.3.
|
|
128
|
-
"@img/sharp-libvips-linuxmusl-x64": "1.3.
|
|
129
|
-
"@img/sharp-linux-arm": "0.35.
|
|
130
|
-
"@img/sharp-linux-arm64": "0.35.
|
|
131
|
-
"@img/sharp-linux-ppc64": "0.35.
|
|
132
|
-
"@img/sharp-linux-riscv64": "0.35.
|
|
133
|
-
"@img/sharp-linux-s390x": "0.35.
|
|
134
|
-
"@img/sharp-linux-x64": "0.35.
|
|
135
|
-
"@img/sharp-linuxmusl-arm64": "0.35.
|
|
136
|
-
"@img/sharp-linuxmusl-x64": "0.35.
|
|
137
|
-
"@img/sharp-webcontainers-wasm32": "0.35.
|
|
138
|
-
"@img/sharp-win32-arm64": "0.35.
|
|
139
|
-
"@img/sharp-win32-ia32": "0.35.
|
|
140
|
-
"@img/sharp-win32-x64": "0.35.
|
|
116
|
+
"@img/sharp-darwin-arm64": "0.35.5",
|
|
117
|
+
"@img/sharp-darwin-x64": "0.35.5",
|
|
118
|
+
"@img/sharp-freebsd-wasm32": "0.35.5",
|
|
119
|
+
"@img/sharp-libvips-darwin-arm64": "1.3.4",
|
|
120
|
+
"@img/sharp-libvips-darwin-x64": "1.3.4",
|
|
121
|
+
"@img/sharp-libvips-linux-arm": "1.3.4",
|
|
122
|
+
"@img/sharp-libvips-linux-arm64": "1.3.4",
|
|
123
|
+
"@img/sharp-libvips-linux-ppc64": "1.3.4",
|
|
124
|
+
"@img/sharp-libvips-linux-riscv64": "1.3.4",
|
|
125
|
+
"@img/sharp-libvips-linux-s390x": "1.3.4",
|
|
126
|
+
"@img/sharp-libvips-linux-x64": "1.3.4",
|
|
127
|
+
"@img/sharp-libvips-linuxmusl-arm64": "1.3.4",
|
|
128
|
+
"@img/sharp-libvips-linuxmusl-x64": "1.3.4",
|
|
129
|
+
"@img/sharp-linux-arm": "0.35.5",
|
|
130
|
+
"@img/sharp-linux-arm64": "0.35.5",
|
|
131
|
+
"@img/sharp-linux-ppc64": "0.35.5",
|
|
132
|
+
"@img/sharp-linux-riscv64": "0.35.5",
|
|
133
|
+
"@img/sharp-linux-s390x": "0.35.5",
|
|
134
|
+
"@img/sharp-linux-x64": "0.35.5",
|
|
135
|
+
"@img/sharp-linuxmusl-arm64": "0.35.5",
|
|
136
|
+
"@img/sharp-linuxmusl-x64": "0.35.5",
|
|
137
|
+
"@img/sharp-webcontainers-wasm32": "0.35.5",
|
|
138
|
+
"@img/sharp-win32-arm64": "0.35.5",
|
|
139
|
+
"@img/sharp-win32-ia32": "0.35.5",
|
|
140
|
+
"@img/sharp-win32-x64": "0.35.5"
|
|
141
141
|
},
|
|
142
142
|
"peerDependenciesMeta": {
|
|
143
143
|
"@types/node": {
|
|
@@ -10,7 +10,7 @@ used under the terms of the following licenses:
|
|
|
10
10
|
| Library | Used under the terms of |
|
|
11
11
|
|---------------|-----------------------------------------------------------------------------------------------------------|
|
|
12
12
|
| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |
|
|
13
|
-
| cairo | Mozilla Public License
|
|
13
|
+
| cairo | Mozilla Public License 1.1 |
|
|
14
14
|
| cgif | MIT License |
|
|
15
15
|
| expat | MIT License |
|
|
16
16
|
| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |
|
|
@@ -112,8 +112,8 @@ typedef unsigned long guintptr;
|
|
|
112
112
|
#define G_GUINTPTR_FORMAT "lu"
|
|
113
113
|
|
|
114
114
|
#define GLIB_MAJOR_VERSION 2
|
|
115
|
-
#define GLIB_MINOR_VERSION
|
|
116
|
-
#define GLIB_MICRO_VERSION
|
|
115
|
+
#define GLIB_MINOR_VERSION 90
|
|
116
|
+
#define GLIB_MICRO_VERSION 0
|
|
117
117
|
|
|
118
118
|
#define G_OS_UNIX
|
|
119
119
|
|
|
Binary file
|
package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@img/sharp-libvips-linux-arm64",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4",
|
|
4
4
|
"description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM",
|
|
5
5
|
"author": "Lovell Fuller <npm@lovell.info>",
|
|
6
6
|
"homepage": "https://sharp.pixelplumbing.com",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"./lib": "./lib/index.js",
|
|
27
27
|
"./package": "./package.json",
|
|
28
28
|
"./versions": "./versions.json",
|
|
29
|
-
"./binary": "./lib/libvips-cpp.so.8.18.
|
|
29
|
+
"./binary": "./lib/libvips-cpp.so.8.18.7"
|
|
30
30
|
},
|
|
31
31
|
"config": {
|
|
32
32
|
"glibc": ">=2.28"
|
package/lambda/asset-transform/dist/node_modules/@img/sharp-libvips-linux-arm64/versions.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"aom": "3.15.
|
|
2
|
+
"aom": "3.15.1",
|
|
3
3
|
"archive": "3.8.9",
|
|
4
|
-
"cairo": "1.18.
|
|
5
|
-
"cgif": "0.5.
|
|
4
|
+
"cairo": "1.18.6",
|
|
5
|
+
"cgif": "0.5.4",
|
|
6
6
|
"exif": "0.6.26",
|
|
7
|
-
"expat": "2.8.
|
|
7
|
+
"expat": "2.8.5",
|
|
8
8
|
"ffi": "3.8.0",
|
|
9
9
|
"fontconfig": "2.18.3",
|
|
10
10
|
"freetype": "2.14.3",
|
|
11
|
-
"fribidi": "1.0.
|
|
12
|
-
"glib": "2.
|
|
13
|
-
"harfbuzz": "14.
|
|
14
|
-
"heif": "1.23.
|
|
11
|
+
"fribidi": "1.0.17",
|
|
12
|
+
"glib": "2.90.0",
|
|
13
|
+
"harfbuzz": "14.5.0",
|
|
14
|
+
"heif": "1.23.5",
|
|
15
15
|
"highway": "1.4.0",
|
|
16
16
|
"imagequant": "2.4.1",
|
|
17
17
|
"lcms": "2.19.1",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"pixman": "0.46.4",
|
|
21
21
|
"png": "1.6.58",
|
|
22
22
|
"proxy-libintl": "0.5",
|
|
23
|
-
"rsvg": "2.
|
|
23
|
+
"rsvg": "2.63.2",
|
|
24
24
|
"tiff": "4.7.2",
|
|
25
25
|
"uhdr": "2.0.2",
|
|
26
|
-
"vips": "8.18.
|
|
26
|
+
"vips": "8.18.7",
|
|
27
27
|
"webp": "1.6.0",
|
|
28
|
-
"xml2": "2.15.
|
|
28
|
+
"xml2": "2.15.4",
|
|
29
29
|
"zlib-ng": "2.3.3"
|
|
30
30
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
try { require.resolve('@img/sharp-libvips-linux-arm64/binary'); } catch {}
|
|
2
|
-
module.exports = require('./lib/sharp-linux-arm64-0.35.
|
|
2
|
+
module.exports = require('./lib/sharp-linux-arm64-0.35.5.node');
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@img/sharp-linux-arm64",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.5",
|
|
4
4
|
"description": "Prebuilt sharp for use with Linux (glibc) 64-bit ARM",
|
|
5
5
|
"author": "Lovell Fuller <npm@lovell.info>",
|
|
6
6
|
"homepage": "https://sharp.pixelplumbing.com",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"preferUnplugged": true,
|
|
17
17
|
"optionalDependencies": {
|
|
18
|
-
"@img/sharp-libvips-linux-arm64": "1.3.
|
|
18
|
+
"@img/sharp-libvips-linux-arm64": "1.3.4"
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"index.cjs",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./lib/sharp-wasm32-0.35.
|
|
1
|
+
module.exports = require('./lib/sharp-wasm32-0.35.5.node');
|