canopycms 0.0.61-int.75 → 0.0.61
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/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 +252 -13
- package/dist/api/branch.js.map +1 -1
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +12 -4
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +11 -9
- 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.map +1 -1
- package/dist/api/schema.js +3 -2
- 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 +1 -10
- 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-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 +1442 -828
- package/dist/cli/generate-ai-content.js +404 -136
- package/dist/cli/init.d.ts +8 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +440 -151
- 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 +11 -6
- 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 +124 -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/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/validation.d.ts +9 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +22 -12
- package/dist/config/validation.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 +11 -0
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +2 -1
- 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 +43 -9
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/editor/CanopyEditor.d.ts.map +1 -1
- package/dist/editor/CanopyEditor.js +2 -2
- package/dist/editor/CanopyEditor.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +110 -48
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.js +9 -8
- 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.map +1 -1
- package/dist/editor/components/EntryCreateModal.js +21 -6
- 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/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/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 +68 -32
- 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.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +32 -18
- 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 +8 -15
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +259 -117
- 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/git-manager.d.ts +126 -9
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +251 -27
- 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 +8 -2
- package/dist/http/handler.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.d.ts +28 -0
- package/dist/operating-mode/deployment-name.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name.js +78 -0
- package/dist/operating-mode/deployment-name.js.map +1 -0
- package/dist/operating-mode/index.d.ts +5 -1
- package/dist/operating-mode/index.d.ts.map +1 -1
- package/dist/operating-mode/index.js +7 -1
- package/dist/operating-mode/index.js.map +1 -1
- 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/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 +11 -2
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +23 -11
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/settings-workspace.d.ts +0 -15
- package/dist/settings-workspace.d.ts.map +1 -1
- package/dist/settings-workspace.js +97 -1
- package/dist/settings-workspace.js.map +1 -1
- package/dist/types.d.ts +63 -2
- package/dist/types.d.ts.map +1 -1
- 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/git.d.ts +38 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +69 -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/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/worker/cms-worker.d.ts +232 -3
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +856 -87
- 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 +3 -1
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA4B5C,MAAM,QAAQ,GAAmD;IAC/D,GAAG,EAAE;QACH,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,YAAY;QAC3B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,wBAAwB;KACjC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,gBAAgB;QAC1B,SAAS,EAAE,mDAAmD;QAC9D,UAAU,EAAE,qCAAqC;QACjD,aAAa,EAAE,uDAAuD;QACtE,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,aAAa;KACtB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,mDAAmD;QAC9D,UAAU,EAAE,gCAAgC;QAC5C,aAAa,EAAE,uDAAuD;QACtE,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;KACtB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,6CAA6C;QACxD,UAAU,EAAE,4CAA4C;QACxD,aAAa,EAAE,iDAAiD;QAChE,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;KACtB;CACF,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,OAAuB;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAAE,OAAO,MAAM,CAAA;QACzE,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAA;QACjE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAEpB,6EAA6E;IAC7E,mDAAmD;IACnD,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAE1E,IAAI,GAAG,GAAG,KAAK,CAAA;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,MAAK;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,UAAkB;IAC1D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;IAC7C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAA;IACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE7C,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAA;IAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,YAAY,CAAA;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAA;QACzC,OAAO,CAAC,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAA;IACxE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9E,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC,CAAA;IAC9F,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAA;IAExB,0BAA0B;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAC1D,OAAO,MAAM,IAAI,MAAM,CAAA;AACzB,CAAC;AAOD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,MAAM,KAAK,GAAG,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,IAAc;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAID,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAA;QAC7E,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAsB,CAAC,CAAC,CAAC,IAAI,CAAA;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,eAAe;IACf,aAAa;IACb,YAAY;IACZ,KAAK;IACL,SAAS;CACD,CAAA;AAEV;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -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.
|
|
@@ -14,8 +19,8 @@ RUN mkdir -p public
|
|
|
14
19
|
# the image builder. Dev-mode reads require the project to be a git
|
|
15
20
|
# repository, and .git is excluded from the build context by .dockerignore --
|
|
16
21
|
# 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
|
|
22
|
+
# (created by the install step above) is excluded via .git/info/exclude - an
|
|
23
|
+
# adopter repo without its own .gitignore would otherwise commit it into the
|
|
19
24
|
# snapshot (slow build, bloated builder layer).
|
|
20
25
|
RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* \
|
|
21
26
|
&& git init -q -b main \
|
|
@@ -28,7 +33,7 @@ ENV CANOPY_BUILD=cms
|
|
|
28
33
|
# publishable key is public material, so it's safe to bake into image layers.
|
|
29
34
|
ARG NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
|
|
30
35
|
ENV NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=$NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
|
|
31
|
-
RUN
|
|
36
|
+
RUN {{DOCKER_BUILD}}
|
|
32
37
|
|
|
33
38
|
FROM public.ecr.aws/docker/library/node:20-slim AS runner
|
|
34
39
|
# Git is required by CanopyCMS for branch operations
|
|
@@ -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
|
+
})
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CanopyCMS infrastructure: VPC + EFS + CMS Lambda + EC2 worker, and
|
|
3
|
+
* optionally CloudFront + Route53 in front of the Lambda's Function URL.
|
|
4
|
+
*
|
|
5
|
+
* This file is yours to edit -- `canopycms init-deploy aws` will not overwrite
|
|
6
|
+
* it without `--force`. The comments below mark the settings that have a
|
|
7
|
+
* silent-failure mode; the rest is ordinary CDK.
|
|
8
|
+
*
|
|
9
|
+
* See docs/deploying-to-aws.md for the full walkthrough, including the media
|
|
10
|
+
* (AssetSupport) and multi-deployment cases.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { Stack, StackProps } from 'aws-cdk-lib'
|
|
14
|
+
import { Construct } from 'constructs'
|
|
15
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
16
|
+
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager'
|
|
17
|
+
import { Platform } from 'aws-cdk-lib/aws-ecr-assets'
|
|
18
|
+
import { CanopyCmsService, CanopyCmsDistribution } from 'canopycms-cdk'
|
|
19
|
+
|
|
20
|
+
export interface CmsStackProps extends StackProps {
|
|
21
|
+
/** GitHub repository the EC2 worker pushes branches and opens PRs against. */
|
|
22
|
+
githubOwner: string
|
|
23
|
+
githubRepo: string
|
|
24
|
+
/** FULL Secrets Manager ARN, including the random six-character suffix. */
|
|
25
|
+
githubTokenSecretArn: string
|
|
26
|
+
/** FULL Secrets Manager ARN, including the random six-character suffix. */
|
|
27
|
+
clerkSecretKeySecretArn: string
|
|
28
|
+
/** Clerk's public JWKS PEM, for networkless session verification. */
|
|
29
|
+
clerkJwtKey: string
|
|
30
|
+
/** Clerk publishable key, baked into the client bundle at image-build time. */
|
|
31
|
+
clerkPublishableKey: string
|
|
32
|
+
/** Comma-separated Clerk user IDs granted admin on first boot. */
|
|
33
|
+
bootstrapAdminIds: string
|
|
34
|
+
/** Namespaces this deployment's settings branch (`canopycms-settings-{name}`). */
|
|
35
|
+
deploymentName: string
|
|
36
|
+
/** Optional CloudFront domain, e.g. 'cms.docs.example.org'. */
|
|
37
|
+
domainName?: string
|
|
38
|
+
/** Optional Route53 hosted zone domain, e.g. 'example.org'. */
|
|
39
|
+
hostedZoneDomain?: string
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class CmsStack extends Stack {
|
|
43
|
+
constructor(scope: Construct, id: string, props: CmsStackProps) {
|
|
44
|
+
super(scope, id, props)
|
|
45
|
+
|
|
46
|
+
// fromSecretCompleteArn, NOT fromSecretNameV2: `secretsArns` below is
|
|
47
|
+
// written verbatim into the worker's IAM policy, so a partial or
|
|
48
|
+
// name-based ARN never matches the real secret and the worker fails with
|
|
49
|
+
// AccessDenied at boot rather than at deploy.
|
|
50
|
+
const githubToken = secretsmanager.Secret.fromSecretCompleteArn(
|
|
51
|
+
this,
|
|
52
|
+
'GitHubToken',
|
|
53
|
+
props.githubTokenSecretArn,
|
|
54
|
+
)
|
|
55
|
+
const clerkSecretKey = secretsmanager.Secret.fromSecretCompleteArn(
|
|
56
|
+
this,
|
|
57
|
+
'ClerkSecret',
|
|
58
|
+
props.clerkSecretKeySecretArn,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
const cmsService = new CanopyCmsService(this, 'CmsService', {
|
|
62
|
+
// `cdk deploy` builds this image and publishes it to the CDK bootstrap
|
|
63
|
+
// assets repository -- it is the ONLY thing that ships CMS code. Do not
|
|
64
|
+
// pair it with a separate ECR push plus `aws lambda
|
|
65
|
+
// update-function-code`: that builds the image twice and leaves the
|
|
66
|
+
// function's image URI out of sync with CloudFormation, so the next
|
|
67
|
+
// `cdk deploy` touching the function silently reverts your code.
|
|
68
|
+
cmsDockerImage: lambda.DockerImageCode.fromImageAsset('.', {
|
|
69
|
+
file: 'Dockerfile.cms',
|
|
70
|
+
// The image platform and the Lambda architecture must agree, or the
|
|
71
|
+
// function fails at invoke with an exec-format error. Building on
|
|
72
|
+
// Apple Silicon defaults to arm64, so arm64 is the pairing that works
|
|
73
|
+
// both locally and on an x86 CI runner.
|
|
74
|
+
platform: Platform.LINUX_ARM64,
|
|
75
|
+
// Next.js inlines NEXT_PUBLIC_* into the CLIENT bundle during
|
|
76
|
+
// `next build`, so this has to reach the image BUILD. A Lambda
|
|
77
|
+
// environment variable would be far too late.
|
|
78
|
+
buildArgs: {
|
|
79
|
+
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: props.clerkPublishableKey,
|
|
80
|
+
},
|
|
81
|
+
}),
|
|
82
|
+
architecture: lambda.Architecture.ARM_64,
|
|
83
|
+
|
|
84
|
+
githubOwner: props.githubOwner,
|
|
85
|
+
githubRepo: props.githubRepo,
|
|
86
|
+
deploymentName: props.deploymentName,
|
|
87
|
+
|
|
88
|
+
// Secrets the EC2 worker reads. The Lambda needs none of them.
|
|
89
|
+
secretsArns: [githubToken.secretArn, clerkSecretKey.secretArn],
|
|
90
|
+
githubTokenSecretArn: githubToken.secretArn,
|
|
91
|
+
clerkSecretKeySecretArn: clerkSecretKey.secretArn,
|
|
92
|
+
|
|
93
|
+
// Lambda environment: public config only, never secrets.
|
|
94
|
+
environment: {
|
|
95
|
+
CANOPY_AUTH_MODE: 'clerk',
|
|
96
|
+
CLERK_JWT_KEY: props.clerkJwtKey,
|
|
97
|
+
CANOPY_BOOTSTRAP_ADMIN_IDS: props.bootstrapAdminIds,
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
memorySize: 2048,
|
|
101
|
+
reservedConcurrency: 10,
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
// Media support (uploads, on-demand image transforms). Uncomment to give
|
|
105
|
+
// the deployed editor an asset backend, pass `assetBucket:
|
|
106
|
+
// assetSupport.bucket` to CanopyCmsService above, and wire
|
|
107
|
+
// `assetSupport.cloudFrontBehaviors` into the distribution below. See the
|
|
108
|
+
// assets section of docs/deploying-to-aws.md.
|
|
109
|
+
//
|
|
110
|
+
// const assetSupport = new AssetSupport(this, 'Assets', {})
|
|
111
|
+
|
|
112
|
+
// CloudFront + Route53, only when a domain is configured. Skipping this
|
|
113
|
+
// leaves `cmsService.functionUrl` as the entry point, which is enough to
|
|
114
|
+
// exercise the editor and is what keeps a credential-free `cdk synth`
|
|
115
|
+
// working -- HostedZone.fromLookup below needs real AWS context.
|
|
116
|
+
if (props.domainName && props.hostedZoneDomain) {
|
|
117
|
+
new CanopyCmsDistribution(this, 'CmsDist', {
|
|
118
|
+
functionUrl: cmsService.functionUrl,
|
|
119
|
+
domainName: props.domainName,
|
|
120
|
+
hostedZoneDomain: props.hostedZoneDomain,
|
|
121
|
+
})
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|