canopycms 0.0.61-int.75 → 0.0.62
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/ai/handler.js +1 -1
- package/dist/ai/handler.js.map +1 -1
- package/dist/ai/json-to-markdown.js +1 -2
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/api/__test__/mock-client.d.ts +5 -1
- package/dist/api/__test__/mock-client.d.ts.map +1 -1
- package/dist/api/__test__/mock-client.js +9 -2
- package/dist/api/__test__/mock-client.js.map +1 -1
- package/dist/api/admin-branch-health.d.ts +36 -1
- package/dist/api/admin-branch-health.d.ts.map +1 -1
- package/dist/api/admin-branch-health.js +176 -2
- package/dist/api/admin-branch-health.js.map +1 -1
- package/dist/api/admin.d.ts +8 -1
- package/dist/api/admin.d.ts.map +1 -1
- package/dist/api/admin.js.map +1 -1
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +36 -4
- package/dist/api/assets.js.map +1 -1
- package/dist/api/branch-status.d.ts.map +1 -1
- package/dist/api/branch-status.js +56 -0
- package/dist/api/branch-status.js.map +1 -1
- package/dist/api/branch-withdraw.d.ts.map +1 -1
- package/dist/api/branch-withdraw.js +14 -3
- package/dist/api/branch-withdraw.js.map +1 -1
- package/dist/api/branch.d.ts +31 -2
- package/dist/api/branch.d.ts.map +1 -1
- package/dist/api/branch.js +268 -15
- package/dist/api/branch.js.map +1 -1
- package/dist/api/client.d.ts +5 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +6 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/comments.d.ts +2 -2
- package/dist/api/content.d.ts +11 -5
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +91 -10
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts +10 -0
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +51 -24
- package/dist/api/entries.js.map +1 -1
- package/dist/api/guards.d.ts.map +1 -1
- package/dist/api/guards.js +12 -5
- package/dist/api/guards.js.map +1 -1
- package/dist/api/permissions.d.ts +2 -2
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +51 -3
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/reference-options.d.ts.map +1 -1
- package/dist/api/reference-options.js +10 -17
- package/dist/api/reference-options.js.map +1 -1
- package/dist/api/resolve-references.d.ts.map +1 -1
- package/dist/api/resolve-references.js +3 -1
- package/dist/api/resolve-references.js.map +1 -1
- package/dist/api/schema.d.ts +4 -4
- package/dist/api/schema.d.ts.map +1 -1
- package/dist/api/schema.js +16 -15
- package/dist/api/schema.js.map +1 -1
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +6 -5
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/assets/pipeline.d.ts +11 -2
- package/dist/assets/pipeline.d.ts.map +1 -1
- package/dist/assets/pipeline.js +114 -2
- package/dist/assets/pipeline.js.map +1 -1
- package/dist/assets/transform-directives.d.ts +18 -0
- package/dist/assets/transform-directives.d.ts.map +1 -1
- package/dist/assets/transform-directives.js +18 -0
- package/dist/assets/transform-directives.js.map +1 -1
- package/dist/assets/transform.d.ts.map +1 -1
- package/dist/assets/transform.js +20 -16
- package/dist/assets/transform.js.map +1 -1
- package/dist/auth/types.d.ts +29 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +1 -1
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/protected-branch.d.ts +75 -0
- package/dist/authorization/protected-branch.d.ts.map +1 -1
- package/dist/authorization/protected-branch.js +39 -0
- package/dist/authorization/protected-branch.js.map +1 -1
- package/dist/branch-health.d.ts +13 -0
- package/dist/branch-health.d.ts.map +1 -1
- package/dist/branch-health.js +23 -0
- package/dist/branch-health.js.map +1 -1
- package/dist/branch-registry.d.ts.map +1 -1
- package/dist/branch-registry.js +5 -1
- package/dist/branch-registry.js.map +1 -1
- package/dist/branch-schema-cache.d.ts.map +1 -1
- package/dist/branch-schema-cache.js +9 -0
- package/dist/branch-schema-cache.js.map +1 -1
- package/dist/build/generate-ai-content.js +1 -1
- package/dist/build/generate-ai-content.js.map +1 -1
- package/dist/cli/cli.js +2215 -1280
- package/dist/cli/generate-ai-content.js +1158 -585
- package/dist/cli/init.d.ts +8 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +459 -152
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/project-detect.d.ts +89 -0
- package/dist/cli/project-detect.d.ts.map +1 -0
- package/dist/cli/project-detect.js +240 -0
- package/dist/cli/project-detect.js.map +1 -0
- package/dist/cli/template-files/Dockerfile.cms.template +30 -7
- package/dist/cli/template-files/canopycms.config.ts.template +7 -0
- package/dist/cli/template-files/cdk-app.ts.template +82 -0
- package/dist/cli/template-files/cdk.json.template +9 -0
- package/dist/cli/template-files/cms-stack.ts.template +130 -0
- package/dist/cli/template-files/deploy-cms.yml.template +125 -13
- package/dist/cli/template-files/dockerignore.template +2 -1
- package/dist/cli/templates.d.ts +26 -2
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +36 -4
- package/dist/cli/templates.js.map +1 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/config/schemas/config.d.ts +2 -3
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +21 -1
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/schemas/field.d.ts +15 -15
- package/dist/config/types.d.ts +2 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.d.ts +18 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +36 -12
- package/dist/config/validation.js.map +1 -1
- package/dist/content-id-index.d.ts +97 -5
- package/dist/content-id-index.d.ts.map +1 -1
- package/dist/content-id-index.js +170 -18
- package/dist/content-id-index.js.map +1 -1
- package/dist/content-reader.js +1 -1
- package/dist/content-reader.js.map +1 -1
- package/dist/content-store.d.ts +92 -7
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +445 -259
- package/dist/content-store.js.map +1 -1
- package/dist/dev-content-watcher.d.ts.map +1 -1
- package/dist/dev-content-watcher.js +4 -1
- package/dist/dev-content-watcher.js.map +1 -1
- package/dist/editor/BranchManager.d.ts +15 -0
- package/dist/editor/BranchManager.d.ts.map +1 -1
- package/dist/editor/BranchManager.js +61 -15
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/editor/CanopyEditor.d.ts.map +1 -1
- package/dist/editor/CanopyEditor.js +3 -3
- package/dist/editor/CanopyEditor.js.map +1 -1
- package/dist/editor/CanopyEditorPage.d.ts +9 -1
- package/dist/editor/CanopyEditorPage.d.ts.map +1 -1
- package/dist/editor/CanopyEditorPage.js +9 -2
- package/dist/editor/CanopyEditorPage.js.map +1 -1
- package/dist/editor/Editor.d.ts +9 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +156 -60
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +12 -0
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.js +14 -9
- package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
- package/dist/editor/components/EditorHeader.d.ts +6 -0
- package/dist/editor/components/EditorHeader.d.ts.map +1 -1
- package/dist/editor/components/EditorHeader.js +76 -23
- package/dist/editor/components/EditorHeader.js.map +1 -1
- package/dist/editor/components/EntryCreateModal.d.ts +9 -1
- package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
- package/dist/editor/components/EntryCreateModal.js +25 -7
- package/dist/editor/components/EntryCreateModal.js.map +1 -1
- package/dist/editor/context/SWRProvider.d.ts +31 -0
- package/dist/editor/context/SWRProvider.d.ts.map +1 -0
- package/dist/editor/context/SWRProvider.js +12 -0
- package/dist/editor/context/SWRProvider.js.map +1 -0
- package/dist/editor/context/index.d.ts +3 -0
- package/dist/editor/context/index.d.ts.map +1 -1
- package/dist/editor/context/index.js +3 -0
- package/dist/editor/context/index.js.map +1 -1
- package/dist/editor/editor-utils.d.ts.map +1 -1
- package/dist/editor/editor-utils.js +8 -2
- package/dist/editor/editor-utils.js.map +1 -1
- package/dist/editor/fields/DateTimeField.d.ts +46 -0
- package/dist/editor/fields/DateTimeField.d.ts.map +1 -0
- package/dist/editor/fields/DateTimeField.js +66 -0
- package/dist/editor/fields/DateTimeField.js.map +1 -0
- package/dist/editor/fields/ImageField.d.ts.map +1 -1
- package/dist/editor/fields/ImageField.js +27 -3
- package/dist/editor/fields/ImageField.js.map +1 -1
- package/dist/editor/fields/NumberField.d.ts +34 -0
- package/dist/editor/fields/NumberField.d.ts.map +1 -0
- package/dist/editor/fields/NumberField.js +53 -0
- package/dist/editor/fields/NumberField.js.map +1 -0
- package/dist/editor/fields/NumberListField.d.ts +25 -0
- package/dist/editor/fields/NumberListField.d.ts.map +1 -0
- package/dist/editor/fields/NumberListField.js +53 -0
- package/dist/editor/fields/NumberListField.js.map +1 -0
- package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
- package/dist/editor/fields/ReferenceField.js +52 -31
- package/dist/editor/fields/ReferenceField.js.map +1 -1
- package/dist/editor/hooks/__test__/test-utils.d.ts +38 -3
- package/dist/editor/hooks/__test__/test-utils.d.ts.map +1 -1
- package/dist/editor/hooks/__test__/test-utils.js +50 -4
- package/dist/editor/hooks/__test__/test-utils.js.map +1 -1
- package/dist/editor/hooks/index.d.ts +4 -1
- package/dist/editor/hooks/index.d.ts.map +1 -1
- package/dist/editor/hooks/index.js +4 -1
- package/dist/editor/hooks/index.js.map +1 -1
- package/dist/editor/hooks/useBranchManager.d.ts +21 -1
- package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
- package/dist/editor/hooks/useBranchManager.js +183 -58
- package/dist/editor/hooks/useBranchManager.js.map +1 -1
- package/dist/editor/hooks/useBranchesData.d.ts +57 -0
- package/dist/editor/hooks/useBranchesData.d.ts.map +1 -0
- package/dist/editor/hooks/useBranchesData.js +69 -0
- package/dist/editor/hooks/useBranchesData.js.map +1 -0
- package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
- package/dist/editor/hooks/useCommentSystem.js +24 -22
- package/dist/editor/hooks/useCommentSystem.js.map +1 -1
- package/dist/editor/hooks/useCommentsData.d.ts +29 -0
- package/dist/editor/hooks/useCommentsData.d.ts.map +1 -0
- package/dist/editor/hooks/useCommentsData.js +40 -0
- package/dist/editor/hooks/useCommentsData.js.map +1 -0
- package/dist/editor/hooks/useDraftManager.d.ts +8 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +290 -36
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntriesData.d.ts +35 -0
- package/dist/editor/hooks/useEntriesData.d.ts.map +1 -0
- package/dist/editor/hooks/useEntriesData.js +96 -0
- package/dist/editor/hooks/useEntriesData.js.map +1 -0
- package/dist/editor/hooks/useEntryManager.d.ts +29 -15
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +284 -119
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/usePermissionManager.d.ts +2 -2
- package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
- package/dist/editor/hooks/usePermissionManager.js +11 -9
- package/dist/editor/hooks/usePermissionManager.js.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.js +24 -1
- package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
- package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -1
- package/dist/editor/media/MediaLibraryBody.js +12 -2
- package/dist/editor/media/MediaLibraryBody.js.map +1 -1
- package/dist/editor/permission-manager/GroupSelector.d.ts.map +1 -1
- package/dist/editor/permission-manager/GroupSelector.js +7 -2
- package/dist/editor/permission-manager/GroupSelector.js.map +1 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +3 -3
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +1 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +1 -0
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +1 -1
- package/dist/editor/permission-manager/types.d.ts +6 -4
- package/dist/editor/permission-manager/types.d.ts.map +1 -1
- package/dist/editor/test-setup.js +8 -0
- package/dist/editor/test-setup.js.map +1 -1
- package/dist/editor/theme.d.ts +8 -8
- package/dist/git-manager.d.ts +175 -14
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +354 -39
- package/dist/git-manager.js.map +1 -1
- package/dist/github-service.d.ts.map +1 -1
- package/dist/github-service.js +13 -7
- package/dist/github-service.js.map +1 -1
- package/dist/http/handler.d.ts.map +1 -1
- package/dist/http/handler.js +78 -29
- package/dist/http/handler.js.map +1 -1
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +40 -3
- package/dist/http/router.js.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.js +7 -8
- package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
- package/dist/operating-mode/deployment-name-fixtures.d.ts +29 -0
- package/dist/operating-mode/deployment-name-fixtures.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name-fixtures.js +55 -0
- package/dist/operating-mode/deployment-name-fixtures.js.map +1 -0
- package/dist/operating-mode/deployment-name.d.ts +37 -0
- package/dist/operating-mode/deployment-name.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name.js +86 -0
- package/dist/operating-mode/deployment-name.js.map +1 -0
- package/dist/operating-mode/index.d.ts +6 -1
- package/dist/operating-mode/index.d.ts.map +1 -1
- package/dist/operating-mode/index.js +10 -1
- package/dist/operating-mode/index.js.map +1 -1
- package/dist/operating-mode/mode-env.d.ts +58 -0
- package/dist/operating-mode/mode-env.d.ts.map +1 -0
- package/dist/operating-mode/mode-env.js +97 -0
- package/dist/operating-mode/mode-env.js.map +1 -0
- package/dist/operating-mode/types.d.ts +13 -3
- package/dist/operating-mode/types.d.ts.map +1 -1
- package/dist/paths/branch-name.d.ts +38 -0
- package/dist/paths/branch-name.d.ts.map +1 -1
- package/dist/paths/branch-name.js +46 -0
- package/dist/paths/branch-name.js.map +1 -1
- package/dist/paths/index.d.ts +1 -1
- package/dist/paths/index.d.ts.map +1 -1
- package/dist/paths/index.js +1 -1
- package/dist/paths/index.js.map +1 -1
- package/dist/reference-resolver.d.ts +6 -2
- package/dist/reference-resolver.d.ts.map +1 -1
- package/dist/reference-resolver.js +8 -1
- package/dist/reference-resolver.js.map +1 -1
- package/dist/resolve-canopy-user.d.ts +34 -0
- package/dist/resolve-canopy-user.d.ts.map +1 -0
- package/dist/resolve-canopy-user.js +55 -0
- package/dist/resolve-canopy-user.js.map +1 -0
- package/dist/schema/meta-loader.d.ts.map +1 -1
- package/dist/schema/meta-loader.js +10 -2
- package/dist/schema/meta-loader.js.map +1 -1
- package/dist/schema/schema-store.d.ts +64 -4
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +113 -30
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -0
- package/dist/server.js.map +1 -1
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +40 -6
- package/dist/services.js.map +1 -1
- package/dist/settings-workspace.d.ts +27 -2
- package/dist/settings-workspace.d.ts.map +1 -1
- package/dist/settings-workspace.js +142 -58
- package/dist/settings-workspace.js.map +1 -1
- package/dist/types.d.ts +73 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/content-write-lock.d.ts +127 -0
- package/dist/utils/content-write-lock.d.ts.map +1 -0
- package/dist/utils/content-write-lock.js +170 -0
- package/dist/utils/content-write-lock.js.map +1 -0
- package/dist/utils/debug.d.ts +11 -0
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +12 -1
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/error.d.ts +1 -1
- package/dist/utils/error.js +1 -1
- package/dist/utils/git.d.ts +54 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +91 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/logger.d.ts +71 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +85 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/sanitize-href.d.ts +28 -3
- package/dist/utils/sanitize-href.d.ts.map +1 -1
- package/dist/utils/sanitize-href.js +64 -6
- package/dist/utils/sanitize-href.js.map +1 -1
- package/dist/validation/entry-link-validator.d.ts +1 -1
- package/dist/validation/entry-link-validator.js +3 -3
- package/dist/validation/entry-link-validator.js.map +1 -1
- package/dist/validation/entry-type-reference-validator.d.ts +33 -0
- package/dist/validation/entry-type-reference-validator.d.ts.map +1 -0
- package/dist/validation/entry-type-reference-validator.js +110 -0
- package/dist/validation/entry-type-reference-validator.js.map +1 -0
- package/dist/validation/entry-validator.js +1 -1
- package/dist/validation/entry-validator.js.map +1 -1
- package/dist/worker/cms-worker.d.ts +245 -3
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +1084 -253
- package/dist/worker/cms-worker.js.map +1 -1
- package/dist/worker/log.d.ts +61 -0
- package/dist/worker/log.d.ts.map +1 -0
- package/dist/worker/log.js +74 -0
- package/dist/worker/log.js.map +1 -0
- package/package.json +4 -2
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection of adopter-project facts that `init-deploy aws` bakes into the
|
|
3
|
+
* generated deployment artifacts.
|
|
4
|
+
*
|
|
5
|
+
* Everything here is best-effort by design: `init-deploy aws` must never fail
|
|
6
|
+
* because a project has no git remote, no lockfile, or no git binary at all.
|
|
7
|
+
* Each detector falls back to the value the templates used before detection
|
|
8
|
+
* existed, so an npm project in a `main`-default repo gets byte-identical
|
|
9
|
+
* output to what shipped previously.
|
|
10
|
+
*/
|
|
11
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'yarn-berry';
|
|
12
|
+
/**
|
|
13
|
+
* The package-manager-specific command and file strings the deployment
|
|
14
|
+
* templates need.
|
|
15
|
+
*
|
|
16
|
+
* These reach two very different places -- a GitHub Actions step and a
|
|
17
|
+
* Dockerfile layer -- so they are kept together: a `Dockerfile.cms` that
|
|
18
|
+
* installs with npm while the workflow installs with pnpm is exactly the
|
|
19
|
+
* half-fix that moves a failure rather than removing it.
|
|
20
|
+
*/
|
|
21
|
+
export interface PackageManagerCommands {
|
|
22
|
+
/** Lockfile that identifies this manager, for the workflow's `paths:` filter. */
|
|
23
|
+
lockfile: string;
|
|
24
|
+
/** Install step for CI (runs after actions/setup-node). */
|
|
25
|
+
ciInstall: string;
|
|
26
|
+
/** Dockerfile COPY line bringing the manifest + lockfile into the build. */
|
|
27
|
+
dockerCopy: string;
|
|
28
|
+
/** Dockerfile install line. */
|
|
29
|
+
dockerInstall: string;
|
|
30
|
+
/** How this manager runs the app's build script. */
|
|
31
|
+
build: string;
|
|
32
|
+
/** How this manager adds dev dependencies, for the next-steps note. */
|
|
33
|
+
addDev: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function commandsFor(manager: PackageManager): PackageManagerCommands;
|
|
36
|
+
/**
|
|
37
|
+
* Identify the adopter's package manager.
|
|
38
|
+
*
|
|
39
|
+
* `packageManager` (the corepack field) wins when present -- it is the
|
|
40
|
+
* declared intent. Otherwise the lockfile decides. With neither, we return
|
|
41
|
+
* 'npm', which is what every template hardcoded before this existed.
|
|
42
|
+
*
|
|
43
|
+
* Yarn is split into classic vs Berry because the two need different install
|
|
44
|
+
* flags and a different Docker build context, and `yarn.lock`'s *name* cannot
|
|
45
|
+
* tell them apart -- only its first lines can.
|
|
46
|
+
*/
|
|
47
|
+
export declare function detectPackageManager(projectDir: string): Promise<PackageManager>;
|
|
48
|
+
/**
|
|
49
|
+
* The branch the deploy workflow should trigger on.
|
|
50
|
+
*
|
|
51
|
+
* Only `origin/HEAD` counts. The obvious-looking fallback -- "use the branch
|
|
52
|
+
* that's checked out" -- would be worse than the hardcoded `main` it replaces:
|
|
53
|
+
* an adopter scaffolding from a setup branch would get
|
|
54
|
+
* `branches: [add-cms]` baked into the workflow, so the deploy would go quiet
|
|
55
|
+
* the moment that branch merged. That silent-trigger failure is the exact LOW
|
|
56
|
+
* this detection exists to fix, so we do not reintroduce it in a
|
|
57
|
+
* harder-to-predict form.
|
|
58
|
+
*/
|
|
59
|
+
export declare function detectDefaultBranch(projectDir: string): Promise<string>;
|
|
60
|
+
export interface GitHubRepo {
|
|
61
|
+
owner: string;
|
|
62
|
+
repo: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Owner/repo from the `origin` remote, for the generated stack's worker
|
|
66
|
+
* config. Supports both SSH (`git@github.com:owner/repo.git`) and HTTPS
|
|
67
|
+
* (`https://github.com/owner/repo`) forms.
|
|
68
|
+
*/
|
|
69
|
+
export declare function detectGitHubRepo(projectDir: string): Promise<GitHubRepo | null>;
|
|
70
|
+
type PackageJson = Record<string, unknown>;
|
|
71
|
+
/** Read the adopter's package.json, or null when absent/unparseable. */
|
|
72
|
+
export declare function readPackageJson(projectDir: string): Promise<PackageJson | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Dependencies the generated CDK app needs at deploy time.
|
|
75
|
+
*
|
|
76
|
+
* `cdk.json` runs `node --import tsx infrastructure/bin/app.ts`, which imports
|
|
77
|
+
* `canopycms-cdk` / `aws-cdk-lib` / `constructs`; CI resolves `cdk` itself
|
|
78
|
+
* through `npx`, but pinning it is what makes a deploy reproducible.
|
|
79
|
+
*/
|
|
80
|
+
export declare const CDK_DEPENDENCIES: readonly ["canopycms-cdk", "aws-cdk-lib", "constructs", "tsx", "aws-cdk"];
|
|
81
|
+
/**
|
|
82
|
+
* Which of {@link CDK_DEPENDENCIES} are missing from the adopter's manifest.
|
|
83
|
+
*
|
|
84
|
+
* Returns them all when there is no package.json to read: a project with no
|
|
85
|
+
* manifest certainly has none of them installed.
|
|
86
|
+
*/
|
|
87
|
+
export declare function missingCdkDependencies(projectDir: string): Promise<string[]>;
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=project-detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-detect.d.ts","sourceRoot":"","sources":["../../src/cli/project-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAA;AAEnE;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAqCD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,CAE3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWtF;AAsED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ7E;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrF;AAmBD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE1C,wEAAwE;AACxE,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQrF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,2EAMnB,CAAA;AAEV;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUlF"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection of adopter-project facts that `init-deploy aws` bakes into the
|
|
3
|
+
* generated deployment artifacts.
|
|
4
|
+
*
|
|
5
|
+
* Everything here is best-effort by design: `init-deploy aws` must never fail
|
|
6
|
+
* because a project has no git remote, no lockfile, or no git binary at all.
|
|
7
|
+
* Each detector falls back to the value the templates used before detection
|
|
8
|
+
* existed, so an npm project in a `main`-default repo gets byte-identical
|
|
9
|
+
* output to what shipped previously.
|
|
10
|
+
*/
|
|
11
|
+
import fs from 'node:fs/promises';
|
|
12
|
+
import path from 'node:path';
|
|
13
|
+
import { simpleGit } from 'simple-git';
|
|
14
|
+
import { filePathExists } from '../utils/fs.js';
|
|
15
|
+
const COMMANDS = {
|
|
16
|
+
npm: {
|
|
17
|
+
lockfile: 'package-lock.json',
|
|
18
|
+
ciInstall: 'npm ci',
|
|
19
|
+
dockerCopy: 'COPY package*.json ./',
|
|
20
|
+
dockerInstall: 'RUN npm ci',
|
|
21
|
+
build: 'npm run build',
|
|
22
|
+
addDev: 'npm install --save-dev',
|
|
23
|
+
},
|
|
24
|
+
pnpm: {
|
|
25
|
+
lockfile: 'pnpm-lock.yaml',
|
|
26
|
+
ciInstall: 'corepack enable && pnpm install --frozen-lockfile',
|
|
27
|
+
dockerCopy: 'COPY package.json pnpm-lock.yaml ./',
|
|
28
|
+
dockerInstall: 'RUN corepack enable && pnpm install --frozen-lockfile',
|
|
29
|
+
build: 'pnpm run build',
|
|
30
|
+
addDev: 'pnpm add -D',
|
|
31
|
+
},
|
|
32
|
+
yarn: {
|
|
33
|
+
lockfile: 'yarn.lock',
|
|
34
|
+
ciInstall: 'corepack enable && yarn install --frozen-lockfile',
|
|
35
|
+
dockerCopy: 'COPY package.json yarn.lock ./',
|
|
36
|
+
dockerInstall: 'RUN corepack enable && yarn install --frozen-lockfile',
|
|
37
|
+
build: 'yarn build',
|
|
38
|
+
addDev: 'yarn add -D',
|
|
39
|
+
},
|
|
40
|
+
'yarn-berry': {
|
|
41
|
+
lockfile: 'yarn.lock',
|
|
42
|
+
ciInstall: 'corepack enable && yarn install --immutable',
|
|
43
|
+
dockerCopy: 'COPY package.json yarn.lock .yarnrc.yml ./',
|
|
44
|
+
dockerInstall: 'RUN corepack enable && yarn install --immutable',
|
|
45
|
+
build: 'yarn build',
|
|
46
|
+
addDev: 'yarn add -D',
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
export function commandsFor(manager) {
|
|
50
|
+
return COMMANDS[manager];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Identify the adopter's package manager.
|
|
54
|
+
*
|
|
55
|
+
* `packageManager` (the corepack field) wins when present -- it is the
|
|
56
|
+
* declared intent. Otherwise the lockfile decides. With neither, we return
|
|
57
|
+
* 'npm', which is what every template hardcoded before this existed.
|
|
58
|
+
*
|
|
59
|
+
* Yarn is split into classic vs Berry because the two need different install
|
|
60
|
+
* flags and a different Docker build context, and `yarn.lock`'s *name* cannot
|
|
61
|
+
* tell them apart -- only its first lines can.
|
|
62
|
+
*/
|
|
63
|
+
export async function detectPackageManager(projectDir) {
|
|
64
|
+
for (const dir of await workspaceSearchPath(projectDir)) {
|
|
65
|
+
const declared = await readDeclaredPackageManager(dir);
|
|
66
|
+
if (declared)
|
|
67
|
+
return declared;
|
|
68
|
+
if (await filePathExists(path.join(dir, 'pnpm-lock.yaml')))
|
|
69
|
+
return 'pnpm';
|
|
70
|
+
if (await filePathExists(path.join(dir, 'yarn.lock'))) {
|
|
71
|
+
return (await isYarnBerryLockfile(dir)) ? 'yarn-berry' : 'yarn';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return 'npm';
|
|
75
|
+
}
|
|
76
|
+
/** Hard stop on the upward walk, so a pathological tree cannot climb forever. */
|
|
77
|
+
const MAX_WORKSPACE_DEPTH = 8;
|
|
78
|
+
/**
|
|
79
|
+
* Directories to consult for package-manager evidence, nearest first.
|
|
80
|
+
*
|
|
81
|
+
* Normally just `projectDir`. The exception is a monorepo: in a pnpm/npm/yarn
|
|
82
|
+
* workspace the lockfile and `packageManager` field live at the repo root,
|
|
83
|
+
* while the Next.js app -- the directory an adopter naturally runs
|
|
84
|
+
* `init-deploy aws` in, because that is where `canopycms init` told them to
|
|
85
|
+
* run -- is `apps/site` and has neither. Looking only at `projectDir` there
|
|
86
|
+
* returns 'npm' for a pnpm repo and writes `npm ci` into both the workflow and
|
|
87
|
+
* Dockerfile.cms: silently wrong, and the exact failure this detection exists
|
|
88
|
+
* to prevent.
|
|
89
|
+
*
|
|
90
|
+
* The walk starts only when `projectDir` has a package.json but no evidence of
|
|
91
|
+
* its own -- the signal of a workspace member -- and stops at the directory
|
|
92
|
+
* holding `.git`. Both bounds matter: without them a project with no lockfile
|
|
93
|
+
* anywhere would keep climbing into unrelated directories and adopt a
|
|
94
|
+
* stranger's package manager.
|
|
95
|
+
*/
|
|
96
|
+
async function workspaceSearchPath(projectDir) {
|
|
97
|
+
const start = path.resolve(projectDir);
|
|
98
|
+
const dirs = [start];
|
|
99
|
+
// No manifest here means this is not a workspace member; treat the directory
|
|
100
|
+
// at face value rather than inheriting from above.
|
|
101
|
+
if (!(await filePathExists(path.join(start, 'package.json'))))
|
|
102
|
+
return dirs;
|
|
103
|
+
let dir = start;
|
|
104
|
+
for (let depth = 0; depth < MAX_WORKSPACE_DEPTH; depth++) {
|
|
105
|
+
if (await filePathExists(path.join(dir, '.git')))
|
|
106
|
+
break;
|
|
107
|
+
const parent = path.dirname(dir);
|
|
108
|
+
if (parent === dir)
|
|
109
|
+
break;
|
|
110
|
+
dir = parent;
|
|
111
|
+
dirs.push(dir);
|
|
112
|
+
}
|
|
113
|
+
return dirs;
|
|
114
|
+
}
|
|
115
|
+
async function readDeclaredPackageManager(projectDir) {
|
|
116
|
+
const pkg = await readPackageJson(projectDir);
|
|
117
|
+
const declared = pkg?.['packageManager'];
|
|
118
|
+
if (typeof declared !== 'string')
|
|
119
|
+
return null;
|
|
120
|
+
if (declared.startsWith('pnpm@'))
|
|
121
|
+
return 'pnpm';
|
|
122
|
+
if (declared.startsWith('npm@'))
|
|
123
|
+
return 'npm';
|
|
124
|
+
if (declared.startsWith('yarn@')) {
|
|
125
|
+
// Berry is 2.x and up. `yarn@1.x` is classic; anything else we treat as
|
|
126
|
+
// Berry, then confirm against the lockfile when there is one.
|
|
127
|
+
const major = Number.parseInt(declared.slice('yarn@'.length), 10);
|
|
128
|
+
if (Number.isFinite(major) && major >= 2)
|
|
129
|
+
return 'yarn-berry';
|
|
130
|
+
if (Number.isFinite(major))
|
|
131
|
+
return 'yarn';
|
|
132
|
+
return (await isYarnBerryLockfile(projectDir)) ? 'yarn-berry' : 'yarn';
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
/** Berry lockfiles carry a `__metadata:` block; classic ones start with a v1 banner. */
|
|
137
|
+
async function isYarnBerryLockfile(projectDir) {
|
|
138
|
+
try {
|
|
139
|
+
const content = await fs.readFile(path.join(projectDir, 'yarn.lock'), 'utf-8');
|
|
140
|
+
return content.includes('__metadata:');
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* The branch the deploy workflow should trigger on.
|
|
148
|
+
*
|
|
149
|
+
* Only `origin/HEAD` counts. The obvious-looking fallback -- "use the branch
|
|
150
|
+
* that's checked out" -- would be worse than the hardcoded `main` it replaces:
|
|
151
|
+
* an adopter scaffolding from a setup branch would get
|
|
152
|
+
* `branches: [add-cms]` baked into the workflow, so the deploy would go quiet
|
|
153
|
+
* the moment that branch merged. That silent-trigger failure is the exact LOW
|
|
154
|
+
* this detection exists to fix, so we do not reintroduce it in a
|
|
155
|
+
* harder-to-predict form.
|
|
156
|
+
*/
|
|
157
|
+
export async function detectDefaultBranch(projectDir) {
|
|
158
|
+
const head = await gitRaw(projectDir, ['symbolic-ref', '--short', 'refs/remotes/origin/HEAD']);
|
|
159
|
+
if (!head)
|
|
160
|
+
return 'main';
|
|
161
|
+
// "origin/main" -> "main"
|
|
162
|
+
const slash = head.indexOf('/');
|
|
163
|
+
const branch = slash === -1 ? head : head.slice(slash + 1);
|
|
164
|
+
return branch || 'main';
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Owner/repo from the `origin` remote, for the generated stack's worker
|
|
168
|
+
* config. Supports both SSH (`git@github.com:owner/repo.git`) and HTTPS
|
|
169
|
+
* (`https://github.com/owner/repo`) forms.
|
|
170
|
+
*/
|
|
171
|
+
export async function detectGitHubRepo(projectDir) {
|
|
172
|
+
const url = await gitRaw(projectDir, ['remote', 'get-url', 'origin']);
|
|
173
|
+
if (!url)
|
|
174
|
+
return null;
|
|
175
|
+
const match = /github\.com[:/]+([^/]+)\/(.+?)(?:\.git)?\/?$/.exec(url);
|
|
176
|
+
if (!match)
|
|
177
|
+
return null;
|
|
178
|
+
return { owner: match[1], repo: match[2] };
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Run a git command, returning trimmed stdout or null.
|
|
182
|
+
*
|
|
183
|
+
* Swallows every failure mode on purpose: not a repository, no such ref, no
|
|
184
|
+
* remote, and git not installed at all all surface here as `null` so the
|
|
185
|
+
* caller can fall back to a placeholder.
|
|
186
|
+
*/
|
|
187
|
+
async function gitRaw(projectDir, args) {
|
|
188
|
+
try {
|
|
189
|
+
const output = await simpleGit({ baseDir: projectDir }).raw(args);
|
|
190
|
+
const trimmed = output.trim();
|
|
191
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/** Read the adopter's package.json, or null when absent/unparseable. */
|
|
198
|
+
export async function readPackageJson(projectDir) {
|
|
199
|
+
try {
|
|
200
|
+
const raw = await fs.readFile(path.join(projectDir, 'package.json'), 'utf-8');
|
|
201
|
+
const parsed = JSON.parse(raw);
|
|
202
|
+
return typeof parsed === 'object' && parsed !== null ? parsed : null;
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Dependencies the generated CDK app needs at deploy time.
|
|
210
|
+
*
|
|
211
|
+
* `cdk.json` runs `node --import tsx infrastructure/bin/app.ts`, which imports
|
|
212
|
+
* `canopycms-cdk` / `aws-cdk-lib` / `constructs`; CI resolves `cdk` itself
|
|
213
|
+
* through `npx`, but pinning it is what makes a deploy reproducible.
|
|
214
|
+
*/
|
|
215
|
+
export const CDK_DEPENDENCIES = [
|
|
216
|
+
'canopycms-cdk',
|
|
217
|
+
'aws-cdk-lib',
|
|
218
|
+
'constructs',
|
|
219
|
+
'tsx',
|
|
220
|
+
'aws-cdk',
|
|
221
|
+
];
|
|
222
|
+
/**
|
|
223
|
+
* Which of {@link CDK_DEPENDENCIES} are missing from the adopter's manifest.
|
|
224
|
+
*
|
|
225
|
+
* Returns them all when there is no package.json to read: a project with no
|
|
226
|
+
* manifest certainly has none of them installed.
|
|
227
|
+
*/
|
|
228
|
+
export async function missingCdkDependencies(projectDir) {
|
|
229
|
+
const pkg = await readPackageJson(projectDir);
|
|
230
|
+
const declared = new Set();
|
|
231
|
+
for (const field of ['dependencies', 'devDependencies', 'peerDependencies']) {
|
|
232
|
+
const section = pkg?.[field];
|
|
233
|
+
if (typeof section === 'object' && section !== null) {
|
|
234
|
+
for (const name of Object.keys(section))
|
|
235
|
+
declared.add(name);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return CDK_DEPENDENCIES.filter((name) => !declared.has(name));
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=project-detect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-detect.js","sourceRoot":"","sources":["../../src/cli/project-detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
FROM public.ecr.aws/docker/library/node:20-slim AS builder
|
|
2
2
|
WORKDIR /app
|
|
3
|
-
|
|
3
|
+
{{DOCKER_COPY}}
|
|
4
4
|
# If your app uses `file:` dependencies (e.g. vendored tarballs under vendor/),
|
|
5
|
-
# COPY that directory here, before
|
|
6
|
-
|
|
5
|
+
# COPY that directory here, before the install step -- otherwise it fails.
|
|
6
|
+
#
|
|
7
|
+
# This assumes a single-package repository. In a workspace monorepo
|
|
8
|
+
# (pnpm-workspace.yaml, npm/yarn `workspaces`) the manifest and lockfile above
|
|
9
|
+
# are not enough on their own -- copy the workspace manifests and install with
|
|
10
|
+
# the workspace filtered to this app.
|
|
11
|
+
{{DOCKER_INSTALL}}
|
|
7
12
|
COPY . .
|
|
8
13
|
# Guard against adopter apps with no public/ directory: Next's standalone
|
|
9
14
|
# output still expects one, and the runner stage below copies it.
|
|
@@ -11,11 +16,20 @@ RUN mkdir -p public
|
|
|
11
16
|
# Build-time content reads (generateStaticParams / prerendering) run in dev
|
|
12
17
|
# mode -- never set CANOPY_MODE=prod for `next build`: prod-mode build reads
|
|
13
18
|
# would try to open a branch workspace (EFS remote.git) that cannot exist in
|
|
14
|
-
# the image builder.
|
|
19
|
+
# the image builder.
|
|
20
|
+
#
|
|
21
|
+
# CANOPY_MODE is read at RUN time by resolveOperatingMode
|
|
22
|
+
# (canopycms/src/operating-mode/mode-env.ts) and wins over the `mode` literal
|
|
23
|
+
# in canopycms.config.ts, which is why leaving it unset here is the whole
|
|
24
|
+
# trick: the same image builds in dev mode and then runs in prod mode, because
|
|
25
|
+
# CanopyCmsService sets CANOPY_MODE=prod on the Lambda. Do not "fix" the config
|
|
26
|
+
# file to say prod -- that would break this build.
|
|
27
|
+
#
|
|
28
|
+
# Dev-mode reads require the project to be a git
|
|
15
29
|
# repository, and .git is excluded from the build context by .dockerignore --
|
|
16
30
|
# so synthesize a single-commit repo from the copied files. node_modules
|
|
17
|
-
# (created by
|
|
18
|
-
# repo without its own .gitignore would otherwise commit it into the
|
|
31
|
+
# (created by the install step above) is excluded via .git/info/exclude - an
|
|
32
|
+
# adopter repo without its own .gitignore would otherwise commit it into the
|
|
19
33
|
# snapshot (slow build, bloated builder layer).
|
|
20
34
|
RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* \
|
|
21
35
|
&& git init -q -b main \
|
|
@@ -28,7 +42,16 @@ ENV CANOPY_BUILD=cms
|
|
|
28
42
|
# publishable key is public material, so it's safe to bake into image layers.
|
|
29
43
|
ARG NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
|
|
30
44
|
ENV NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=$NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
|
|
31
|
-
|
|
45
|
+
# The browser needs the operating mode too: the editor page is a client
|
|
46
|
+
# component that imports canopycms.config.ts, so its copy of `mode` is whatever
|
|
47
|
+
# was inlined at build time -- a runtime Lambda variable can never reach it.
|
|
48
|
+
# Left as dev by default (the default target of a plain `docker build`); the
|
|
49
|
+
# generated CDK stack passes `prod` as a build arg. Distinct from CANOPY_MODE
|
|
50
|
+
# above on purpose: this one is read only in the browser, so setting it here
|
|
51
|
+
# does NOT put the build's own server-side content reads into prod mode.
|
|
52
|
+
ARG NEXT_PUBLIC_CANOPY_MODE=dev
|
|
53
|
+
ENV NEXT_PUBLIC_CANOPY_MODE=$NEXT_PUBLIC_CANOPY_MODE
|
|
54
|
+
RUN {{DOCKER_BUILD}}
|
|
32
55
|
|
|
33
56
|
FROM public.ecr.aws/docker/library/node:20-slim AS runner
|
|
34
57
|
# Git is required by CanopyCMS for branch operations
|
|
@@ -2,6 +2,13 @@ import { defineCanopyConfig } from 'canopycms'
|
|
|
2
2
|
|
|
3
3
|
export default defineCanopyConfig({
|
|
4
4
|
defaultBranchAccess: 'allow',
|
|
5
|
+
// Leave this as 'dev'. This file is loaded by `next dev`, by `next build`
|
|
6
|
+
// inside the deployment image, and by the deployed server -- and the first
|
|
7
|
+
// two must be 'dev' (a prod-mode build read would look for a branch
|
|
8
|
+
// workspace that only exists on the deployed filesystem). A deployment
|
|
9
|
+
// supplies its own mode at run time through the CANOPY_MODE environment
|
|
10
|
+
// variable, which wins over this value; `canopycms init-deploy aws` wires
|
|
11
|
+
// that up for you. See docs/deploying-to-aws.md, "Operating mode".
|
|
5
12
|
mode: '{{MODE}}',
|
|
6
13
|
{{DEPLOYED_AS}} gitBotAuthorName: 'CanopyCMS Bot',
|
|
7
14
|
gitBotAuthorEmail: 'canopycms-bot@example.com',
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDK app entry point -- this is what `cdk.json`'s `app` command runs, and
|
|
3
|
+
* therefore what `cdk deploy` and `cdk synth` build their stacks from.
|
|
4
|
+
*
|
|
5
|
+
* Configuration arrives as environment variables rather than literals so the
|
|
6
|
+
* same file works from a laptop and from CI. `.github/workflows/deploy-cms.yml`
|
|
7
|
+
* passes each of them through from repository secrets and variables -- if you
|
|
8
|
+
* add a `required()` call here, add the matching line there too, or the deploy
|
|
9
|
+
* will fail at synth.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { App } from 'aws-cdk-lib'
|
|
13
|
+
import { CmsStack } from '../lib/cms-stack'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Read a variable that the stack cannot be built without.
|
|
17
|
+
*
|
|
18
|
+
* Failing here is deliberate: every one of these has a silent-failure mode
|
|
19
|
+
* that is far more expensive to diagnose after a successful deploy than a
|
|
20
|
+
* refused synth is now. An unset CLERK_JWT_KEY, for instance, makes Clerk fall
|
|
21
|
+
* back to fetching JWKS over the network, and the CMS Lambda has no internet --
|
|
22
|
+
* so sign-in hangs rather than erroring.
|
|
23
|
+
*
|
|
24
|
+
* Note the empty-string check: GitHub Actions sets an env var to `''` when the
|
|
25
|
+
* repository secret or variable behind it does not exist, so `??` would let a
|
|
26
|
+
* missing secret through as a valid empty value.
|
|
27
|
+
*/
|
|
28
|
+
function required(name: string): string {
|
|
29
|
+
const value = process.env[name]
|
|
30
|
+
if (!value) {
|
|
31
|
+
throw new Error(
|
|
32
|
+
`${name} must be set at synth time. In CI, set it as a repository secret ` +
|
|
33
|
+
`or variable and pass it through the Deploy step's env: block in ` +
|
|
34
|
+
`.github/workflows/deploy-cms.yml.`,
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
return value
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const app = new App()
|
|
41
|
+
|
|
42
|
+
new CmsStack(app, '{{STACK_NAME}}', {
|
|
43
|
+
// An explicit account/region is required, not cosmetic: CanopyCmsDistribution
|
|
44
|
+
// resolves your hosted zone with HostedZone.fromLookup, and a context lookup
|
|
45
|
+
// in an environment-agnostic stack throws at synth even with valid
|
|
46
|
+
// credentials. The CDK CLI populates both variables from your resolved
|
|
47
|
+
// profile; leaving them unset keeps a credential-free `cdk synth` working for
|
|
48
|
+
// the no-domain case below.
|
|
49
|
+
env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
|
|
50
|
+
|
|
51
|
+
// The repository the EC2 worker pushes branches and opens PRs against.
|
|
52
|
+
githubOwner: '{{GITHUB_OWNER}}',
|
|
53
|
+
githubRepo: '{{GITHUB_REPO}}',
|
|
54
|
+
|
|
55
|
+
// Secrets Manager ARNs. These must be the FULL ARN including the random
|
|
56
|
+
// six-character suffix -- they are written verbatim into the worker's IAM
|
|
57
|
+
// policy, so a name-based ARN silently never matches and the worker gets
|
|
58
|
+
// AccessDenied at boot.
|
|
59
|
+
githubTokenSecretArn: required('GITHUB_TOKEN_SECRET_ARN'),
|
|
60
|
+
clerkSecretKeySecretArn: required('CLERK_SECRET_KEY_SECRET_ARN'),
|
|
61
|
+
|
|
62
|
+
// Clerk's public JWKS PEM, for networkless session verification.
|
|
63
|
+
clerkJwtKey: required('CLERK_JWT_KEY'),
|
|
64
|
+
|
|
65
|
+
// Public material, inlined into the client bundle at image-build time. An
|
|
66
|
+
// empty value deploys successfully and ships an editor that cannot sign in,
|
|
67
|
+
// so it is worth checking after the first deploy.
|
|
68
|
+
clerkPublishableKey: process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY || '',
|
|
69
|
+
|
|
70
|
+
bootstrapAdminIds: process.env.CANOPY_BOOTSTRAP_ADMIN_IDS || '',
|
|
71
|
+
|
|
72
|
+
// Namespaces this deployment's settings branch. Two stacks pointed at the
|
|
73
|
+
// same GitHub repo MUST use different values. Changing it after the settings
|
|
74
|
+
// workspace is populated is refused at boot -- see docs/deploying-to-aws.md.
|
|
75
|
+
deploymentName: process.env.CANOPYCMS_DEPLOYMENT_NAME || 'prod',
|
|
76
|
+
|
|
77
|
+
// Optional. Set both to put CloudFront + Route53 in front of the Lambda's
|
|
78
|
+
// Function URL; leave them unset to use the Function URL directly, or to
|
|
79
|
+
// point your own existing distribution at it.
|
|
80
|
+
domainName: process.env.CMS_DOMAIN_NAME || undefined,
|
|
81
|
+
hostedZoneDomain: process.env.CMS_HOSTED_ZONE_DOMAIN || undefined,
|
|
82
|
+
})
|