create-prenta-astro 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,181 @@
1
+ # create-actuate-astro
2
+
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5eea995: Product rename: ActuateCMS is now **Prenta**. Every package moves from the
8
+ `@actuate-media/*` scope to `@prenta/*` with simplified names (`@prenta/core`,
9
+ `@prenta/admin`, `create-prenta`), and version numbers continue from where the
10
+ old scope left off.
11
+
12
+ This is a clean break — no backwards-compat aliases:
13
+ - **npm packages**: `@actuate-media/cms-core` → `@prenta/core`,
14
+ `@actuate-media/cms-admin` → `@prenta/admin`, all other packages keep their
15
+ suffix under `@prenta/*`. `create-actuate-cms` → `create-prenta`
16
+ (`npm create prenta`), `create-actuate-astro` → `create-prenta-astro`.
17
+ CLI bins: `actuate`/`actuate-cms` → `prenta`/`prenta-cms`; `actuate-mcp` →
18
+ `prenta-mcp`.
19
+ - **Database**: migration `0012_rename_to_prenta` renames all 36 `actuate_*`
20
+ tables to `prenta_*` in place (plus prefixed constraints, indexes, and
21
+ sequences). Run `prisma migrate deploy` when upgrading.
22
+ - **Runtime identifiers**: `getActuateConfig` → `getPrentaConfig`,
23
+ `handleActuateAPI` → `handlePrentaAPI`, `ActuateClient` → `PrentaClient`,
24
+ `ActuateDB` → `PrentaDB`, config file `actuate.config.ts` →
25
+ `prenta.config.ts`, CSS scopes `.actuate-admin`/`.actuate-canvas` →
26
+ `.prenta-admin`/`.prenta-canvas`, preview protocol `actuate-preview:*` →
27
+ `prenta-preview:*`, webhook headers `X-Actuate-*` → `X-Prenta-*`, session
28
+ cookie `actuate_session` → `prenta_session`, env vars `ACTUATE_*` →
29
+ `PRENTA_*`, purge route `/api/actuate/purge` → `/api/prenta/purge`.
30
+ - **Sessions and webhooks**: all sessions reset on upgrade (cookie + JWT issuer
31
+ changed); webhook consumers must re-verify signatures against the new
32
+ `X-Prenta-*` headers.
33
+
34
+ The old `@actuate-media/*` packages are deprecated on npm and will receive no
35
+ further releases.
36
+
37
+ ### Patch Changes
38
+
39
+ - Updated dependencies [5eea995]
40
+ - create-prenta@1.3.0
41
+
42
+ ## 0.2.6
43
+
44
+ ### Patch Changes
45
+
46
+ - 6ff80a6: Add `@actuate-media/sections-react/testing` (`assertSectionRenderParity`, canvas render options) and wire an Astro-split starter `test:parity` gate so canvas and public orchestrators can't drift into a WYSIWYG lie.
47
+ - Updated dependencies [6ff80a6]
48
+ - create-actuate-cms@1.2.4
49
+
50
+ ## 0.2.5
51
+
52
+ ### Patch Changes
53
+
54
+ - 73854fc: Add `siteIdentityJsonLd*` / `jsonLdHasOrganization` so any page can emit resolvable WebSite + Organization JSON-LD (fixes dangling `#organization` @ids). Add `assertServingOriginConfigured` ops guard (Launch Gate E) and wire it into the Astro starter middleware + CMS API route boot; BaseLayout falls back to site-identity JSON-LD when page meta lacks Organization.
55
+ - Updated dependencies [73854fc]
56
+ - create-actuate-cms@1.2.3
57
+
58
+ ## 0.2.4
59
+
60
+ ### Patch Changes
61
+
62
+ - 576f076: Fix `blogPostCollection` archivePath footgun: deriving with a new slug/urlPrefix rebases `seo.archivePath` onto the urlPrefix unless set explicitly; `defineConfig` warns on duplicate archive paths. Astro starter/example: hybrid prerender defaults (`404.astro` prerendered; CMS catch-all / home / blog index explicit `prerender = false`).
63
+ - Updated dependencies [576f076]
64
+ - create-actuate-cms@1.2.2
65
+
66
+ ## 0.2.3
67
+
68
+ ### Patch Changes
69
+
70
+ - dfffe08: Add `publicPageCacheControl()` on `@actuate-media/cms-core/astro/cache` (ADR 0011 cache-static defaults: 1h s-maxage / 24h SWR; preview → `private, no-store`) and wire the Astro starter + example site to use it instead of hardcoded Cache-Control strings. Purge remains path/URL-based per ADR 0011.
71
+ - Updated dependencies [dfffe08]
72
+ - create-actuate-cms@1.2.1
73
+
74
+ ## 0.2.2
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies [cf97a40]
79
+ - create-actuate-cms@1.2.0
80
+
81
+ ## 0.2.1
82
+
83
+ ### Patch Changes
84
+
85
+ - Updated dependencies [7230d21]
86
+ - create-actuate-cms@1.1.0
87
+
88
+ ## 0.2.0
89
+
90
+ ### Minor Changes
91
+
92
+ - 90f9801: Astro-first scaffolding: `astro-split` is now the default framework and emits a pnpm workspace instead of a nested `site/` folder.
93
+
94
+ **create-actuate-cms (breaking)**
95
+ - Default framework flipped from `next` to `astro-split`. `npm create actuate-cms` now scaffolds a pnpm workspace — Next CMS host in `apps/cms`, Astro public site in `apps/site` — instead of a Next monolith. Pass `--framework next` for the classic monolith (unchanged output).
96
+ - The `astro-split` layout changed from a root Next app with a nested `site/` Astro app to a proper workspace (`pnpm-workspace.yaml`, delegating root scripts, `packageManager: pnpm`). Re-running the scaffolder over an old layout is not supported.
97
+ - `astro-split` + `marketing-custom` (the default template) now compose: the section kit lands in `packages/sections` and all three layers are wired from it — `apps/cms/actuate.config.ts` imports the schema, the admin page imports `sectionRenderers` (via `transpilePackages`), and the Astro site registers the same renderer map. `verify:sections` runs from the root, both apps, and CI.
98
+ - Same-apex routing is now the default: `apps/site/vercel.json` ships rewrites for `/api/cms/*` and the admin/login paths to the CMS host (`CMS_HOST_ORIGIN` placeholder) instead of an opt-in `vercel.preview-proxy.example.json`.
99
+ - The Astro site template ships cache-static delivery: `Cache-Control: public, s-maxage=3600, stale-while-revalidate=86400` on published pages, a `/api/actuate/purge` webhook endpoint built on `createPublishPurgeReceiver` (Cloudflare / Vercel adapters selected by env), and an optional Upstash layer-2 cache that the purge endpoint drains.
100
+ - `ASTRO.md` documents the workspace flow, production routing, and the purge webhook setup (Settings → Webhooks).
101
+
102
+ **create-actuate-astro**
103
+ - `--split` now scaffolds the pnpm workspace (`apps/cms` + `apps/site` + `packages/sections` with the designed-sections standard template). Site-only mode (the default) is unchanged.
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [90f9801]
108
+ - create-actuate-cms@1.0.0
109
+
110
+ ## 0.1.8
111
+
112
+ ### Patch Changes
113
+
114
+ - Updated dependencies [56c1309]
115
+ - create-actuate-cms@0.33.2
116
+
117
+ ## 0.1.7
118
+
119
+ ### Patch Changes
120
+
121
+ - Updated dependencies [f4766d4]
122
+ - create-actuate-cms@0.33.1
123
+
124
+ ## 0.1.6
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies [c72bd83]
129
+ - create-actuate-cms@0.33.0
130
+
131
+ ## 0.1.5
132
+
133
+ ### Patch Changes
134
+
135
+ - Updated dependencies [f676bcc]
136
+ - create-actuate-cms@0.32.2
137
+
138
+ ## 0.1.4
139
+
140
+ ### Patch Changes
141
+
142
+ - Updated dependencies [3d1a79f]
143
+ - create-actuate-cms@0.32.1
144
+
145
+ ## 0.1.3
146
+
147
+ ### Patch Changes
148
+
149
+ - Updated dependencies [58f3ca1]
150
+ - create-actuate-cms@0.32.0
151
+
152
+ ## 0.1.2
153
+
154
+ ### Patch Changes
155
+
156
+ - Updated dependencies [cc6ad93]
157
+ - create-actuate-cms@0.31.0
158
+
159
+ ## 0.1.1
160
+
161
+ ### Patch Changes
162
+
163
+ - Updated dependencies [b6945e3]
164
+ - create-actuate-cms@0.30.1
165
+
166
+ ## 0.1.0
167
+
168
+ ### Minor Changes
169
+
170
+ - c6b006c: Astro discoverability and best practices: `create-actuate-astro` + `--framework astro-site`, Live Content Collections loader (`@actuate-media/cms-core/astro/content`), islands/preview docs, and fleet first-cutover runbook.
171
+
172
+ ### Patch Changes
173
+
174
+ - Updated dependencies [c6b006c]
175
+ - create-actuate-cms@0.30.0
176
+
177
+ ## 0.1.0
178
+
179
+ ### Minor Changes
180
+
181
+ - Initial release: `npm create actuate-astro` scaffolds an Actuate Astro public site against an existing CMS host (`astro-site`). Pass `--split` for a full CMS host + `site/` scaffold.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Actuate Media
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Thin discoverability wrapper: `npm create prenta-astro` scaffolds an Astro
4
+ * public site for an existing Prenta CMS host (`--framework astro-site`).
5
+ *
6
+ * Pass `--split` (or `--framework astro-split`) for the full pnpm workspace
7
+ * (apps/cms + apps/site + packages/sections) via create-prenta.
8
+ */
9
+ import { readFile } from 'node:fs/promises';
10
+ import { fileURLToPath } from 'node:url';
11
+ import path from 'node:path';
12
+ import { Command } from 'commander';
13
+ import chalk from 'chalk';
14
+ import prompts from 'prompts';
15
+ import { scaffoldProject } from 'create-prenta/scaffold';
16
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
17
+ async function readPackageVersion() {
18
+ try {
19
+ const pkgPath = path.resolve(__dirname, '..', 'package.json');
20
+ const raw = await readFile(pkgPath, 'utf-8');
21
+ return JSON.parse(raw).version;
22
+ }
23
+ catch {
24
+ return '0.0.0';
25
+ }
26
+ }
27
+ function baseOptions(projectName, framework) {
28
+ return {
29
+ projectName,
30
+ adminPath: '/admin',
31
+ loginPath: '/securelogin',
32
+ plugins: ['seo', 'forms', 'redirects', 'media', 'email'],
33
+ platform: 'vercel',
34
+ database: 'prisma-postgres',
35
+ authProviders: ['credentials'],
36
+ // The split workspace gets the designed-sections standard (shared section
37
+ // kit in packages/sections); a site-only scaffold has no CMS host to
38
+ // author custom sections on, so template is irrelevant there.
39
+ template: framework === 'astro-split' ? 'marketing-custom' : 'default',
40
+ framework,
41
+ };
42
+ }
43
+ async function run() {
44
+ const version = await readPackageVersion();
45
+ const program = new Command();
46
+ program
47
+ .name('create-prenta-astro')
48
+ .description('Scaffold an Prenta Astro public site (existing CMS by default; --split for the full apps/cms + apps/site workspace)')
49
+ .version(version)
50
+ .argument('[project-name]', 'Directory name for the new Astro site')
51
+ .option('-y, --yes', 'Skip prompts; use defaults')
52
+ .option('--split', 'Scaffold the full pnpm workspace: apps/cms + apps/site (same as create-prenta --framework astro-split)')
53
+ .option('--framework <name>', 'astro-site (default) or astro-split', 'astro-site')
54
+ .action(async (nameArg, opts) => {
55
+ console.log();
56
+ console.log(chalk.bold(' Prenta Astro'));
57
+ console.log(chalk.dim(' Public site for an Prenta CMS host'));
58
+ console.log();
59
+ const split = opts.split === true;
60
+ const frameworkFlag = String(opts.framework ?? 'astro-site');
61
+ const framework = split || frameworkFlag === 'astro-split' ? 'astro-split' : 'astro-site';
62
+ const nonInteractive = opts.yes === true || !process.stdin.isTTY;
63
+ let projectName = nameArg?.trim();
64
+ if (!projectName) {
65
+ if (nonInteractive) {
66
+ projectName = framework === 'astro-split' ? 'my-prenta-app' : 'my-astro-site';
67
+ }
68
+ else {
69
+ const answers = await prompts({
70
+ type: 'text',
71
+ name: 'projectName',
72
+ message: 'Project name',
73
+ initial: framework === 'astro-split' ? 'my-prenta-app' : 'my-astro-site',
74
+ validate: (v) => /^[a-z0-9_-]+$/i.test(v) ||
75
+ 'Only alphanumeric characters, hyphens, and underscores',
76
+ }, {
77
+ onCancel: () => {
78
+ console.log(chalk.red('\nSetup cancelled.'));
79
+ process.exit(1);
80
+ },
81
+ });
82
+ projectName = answers.projectName;
83
+ }
84
+ }
85
+ if (!projectName || !/^[a-z0-9_-]+$/i.test(projectName)) {
86
+ console.error(chalk.red(`Invalid project name "${projectName ?? ''}".`));
87
+ process.exit(1);
88
+ }
89
+ if (framework === 'astro-site') {
90
+ console.log(chalk.dim(' Mode: Astro site only (point PRENTA_CMS_URL at your CMS host)'));
91
+ }
92
+ else {
93
+ console.log(chalk.dim(' Mode: pnpm workspace — apps/cms (Next CMS) + apps/site (Astro)'));
94
+ }
95
+ console.log();
96
+ await scaffoldProject(baseOptions(projectName, framework));
97
+ });
98
+ program.parse();
99
+ }
100
+ run().catch((err) => {
101
+ console.error(chalk.red('Fatal error:'), err);
102
+ process.exit(1);
103
+ });
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "create-prenta-astro",
3
+ "version": "0.3.0",
4
+ "description": "Scaffold an Prenta Astro public site against an existing CMS host",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/actuate-media/prenta.git",
8
+ "directory": "create-prenta-astro"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "type": "module",
14
+ "bin": {
15
+ "create-prenta-astro": "dist/index.js"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "CHANGELOG.md"
20
+ ],
21
+ "dependencies": {
22
+ "chalk": "^5.4.0",
23
+ "commander": "^13.0.0",
24
+ "prompts": "^2.4.2",
25
+ "create-prenta": "1.3.0"
26
+ },
27
+ "devDependencies": {
28
+ "@types/prompts": "^2.4.9",
29
+ "typescript": "^5.7.0",
30
+ "vitest": "^4.1.0"
31
+ },
32
+ "keywords": [
33
+ "prenta",
34
+ "astro",
35
+ "cms",
36
+ "scaffolding",
37
+ "create"
38
+ ],
39
+ "license": "MIT",
40
+ "engines": {
41
+ "node": ">=22.12.0"
42
+ },
43
+ "scripts": {
44
+ "build": "tsc",
45
+ "type-check": "tsc --noEmit",
46
+ "test": "vitest run"
47
+ }
48
+ }