create-prenta 1.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +964 -0
  2. package/LICENSE +21 -0
  3. package/assets/prisma/migrations/0001_init/migration.sql +941 -0
  4. package/assets/prisma/migrations/0002_media_usage_field_path/migration.sql +11 -0
  5. package/assets/prisma/migrations/0003_ai_crawler_hits/migration.sql +21 -0
  6. package/assets/prisma/migrations/0004_drop_search_vector/migration.sql +4 -0
  7. package/assets/prisma/migrations/0005_script_tag_delivery_controls/migration.sql +8 -0
  8. package/assets/prisma/migrations/0006_totp_last_step/migration.sql +4 -0
  9. package/assets/prisma/migrations/0007_workflow_fk_drop_dead_enums/migration.sql +27 -0
  10. package/assets/prisma/migrations/0008_form_delivery_attempts/migration.sql +29 -0
  11. package/assets/prisma/migrations/0009_webhook_secret_rotation/migration.sql +6 -0
  12. package/assets/prisma/migrations/0010_media_is_decorative/migration.sql +3 -0
  13. package/assets/prisma/migrations/0011_media_content_hash/migration.sql +4 -0
  14. package/assets/prisma/migrations/0012_rename_to_prenta/migration.sql +89 -0
  15. package/assets/prisma/migrations/migration_lock.toml +3 -0
  16. package/assets/prisma/schema.prisma +989 -0
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +182 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/options.d.ts +160 -0
  22. package/dist/options.d.ts.map +1 -0
  23. package/dist/options.js +206 -0
  24. package/dist/options.js.map +1 -0
  25. package/dist/scaffold.d.ts +45 -0
  26. package/dist/scaffold.d.ts.map +1 -0
  27. package/dist/scaffold.js +2163 -0
  28. package/dist/scaffold.js.map +1 -0
  29. package/dist/templates/admin-page.ts.template.d.ts +24 -0
  30. package/dist/templates/admin-page.ts.template.d.ts.map +1 -0
  31. package/dist/templates/admin-page.ts.template.js +145 -0
  32. package/dist/templates/admin-page.ts.template.js.map +1 -0
  33. package/dist/templates/astro-site.d.ts +36 -0
  34. package/dist/templates/astro-site.d.ts.map +1 -0
  35. package/dist/templates/astro-site.js +918 -0
  36. package/dist/templates/astro-site.js.map +1 -0
  37. package/dist/templates/login-page.ts.template.d.ts +14 -0
  38. package/dist/templates/login-page.ts.template.d.ts.map +1 -0
  39. package/dist/templates/login-page.ts.template.js +143 -0
  40. package/dist/templates/login-page.ts.template.js.map +1 -0
  41. package/dist/templates/marketing-custom.d.ts +56 -0
  42. package/dist/templates/marketing-custom.d.ts.map +1 -0
  43. package/dist/templates/marketing-custom.js +814 -0
  44. package/dist/templates/marketing-custom.js.map +1 -0
  45. package/dist/templates/prenta.config.ts.template.d.ts +3 -0
  46. package/dist/templates/prenta.config.ts.template.d.ts.map +1 -0
  47. package/dist/templates/prenta.config.ts.template.js +253 -0
  48. package/dist/templates/prenta.config.ts.template.js.map +1 -0
  49. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketing-custom.js","sourceRoot":"","sources":["../../src/templates/marketing-custom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ProjectOptions } from '../scaffold.js';
2
+ export declare function generatePrentaConfig(options: ProjectOptions): string;
3
+ //# sourceMappingURL=prenta.config.ts.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prenta.config.ts.template.d.ts","sourceRoot":"","sources":["../../src/templates/prenta.config.ts.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA2EpD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAgMpE"}
@@ -0,0 +1,253 @@
1
+ const PLUGIN_IMPORTS = {
2
+ seo: { importName: 'seoPlugin', package: '@prenta/plugin-seo' },
3
+ blocks: { importName: 'blocksPlugin', package: '@prenta/plugin-blocks' },
4
+ forms: { importName: 'formsPlugin', package: '@prenta/plugin-forms' },
5
+ email: { importName: 'emailPlugin', package: '@prenta/plugin-email' },
6
+ media: { importName: 'mediaPlugin', package: '@prenta/plugin-media' },
7
+ redirects: { importName: 'redirectsPlugin', package: '@prenta/plugin-redirects' },
8
+ navigation: { importName: 'navigationPlugin', package: '@prenta/plugin-navigation' },
9
+ commerce: { importName: 'commercePlugin', package: '@prenta/plugin-commerce' },
10
+ ai: { importName: 'aiPlugin', package: '@prenta/plugin-ai' },
11
+ consent: { importName: 'consentPlugin', package: '@prenta/plugin-consent' },
12
+ };
13
+ function buildSeoBlock(options) {
14
+ const name = options.projectName;
15
+ const siteUrlNote = options.framework === 'astro-split'
16
+ ? ` // Public apex (Astro). Do NOT set this to the Next CMS host origin — View live
17
+ // and SEO canonicals use it. Admin → Settings → General can override without redeploy.`
18
+ : ` // Site-wide SEO defaults. Admins can override most fields in Admin → Settings
19
+ // without redeploying. \`siteUrl\` must match NEXT_PUBLIC_SITE_URL in production
20
+ // (no trailing slash). See DEPLOYMENT.md and the Prenta docs "Prototype → Production"
21
+ // guide for the full launch checklist.`;
22
+ return `${siteUrlNote}
23
+ seo: {
24
+ siteUrl: process.env.NEXT_PUBLIC_SITE_URL,
25
+ siteName: '${name}',
26
+ defaultMetaDescription: 'Welcome to ${name}.',
27
+ // Upload a 1200×630 image in Media and set defaultSocialImageAssetId in Admin → SEO,
28
+ // or place a file at public/og-default.png and use an absolute URL in production.
29
+ defaultOgImage: '/og-default.png',
30
+ organization: {
31
+ name: '${name}',
32
+ },
33
+ robots: {
34
+ noIndexNonProduction: true,
35
+ },
36
+ },
37
+ `;
38
+ }
39
+ function buildPluginConfig(plugin) {
40
+ switch (plugin) {
41
+ case 'email':
42
+ return ` emailPlugin({
43
+ provider: 'resend',
44
+ from: 'noreply@example.com',
45
+ })`;
46
+ case 'media':
47
+ return ` mediaPlugin({
48
+ maxFileSize: 10 * 1024 * 1024,
49
+ allowedTypes: ['image/*', 'application/pdf', 'video/mp4'],
50
+ })`;
51
+ case 'commerce':
52
+ return ` commercePlugin({
53
+ currency: 'USD',
54
+ stripe: { webhookEndpoint: '/api/cms/stripe/webhook' },
55
+ })`;
56
+ case 'ai':
57
+ return ` aiPlugin({
58
+ provider: 'openai',
59
+ features: ['scoring', 'suggestions', 'alt-text'],
60
+ })`;
61
+ case 'consent':
62
+ return ` consentPlugin({
63
+ privacyUrl: '/privacy-policy',
64
+ termsUrl: '/terms',
65
+ })`;
66
+ default:
67
+ return ` ${PLUGIN_IMPORTS[plugin]?.importName ?? plugin + 'Plugin'}()`;
68
+ }
69
+ }
70
+ export function generatePrentaConfig(options) {
71
+ const marketingCustom = options.template === 'marketing-custom';
72
+ const imports = [
73
+ `import { defineConfig } from '@prenta/core/config';`,
74
+ `import { blogPostCollection } from '@prenta/core';`,
75
+ ];
76
+ for (const plugin of options.plugins) {
77
+ const info = PLUGIN_IMPORTS[plugin];
78
+ if (info) {
79
+ imports.push(`import { ${info.importName} } from '${info.package}';`);
80
+ }
81
+ }
82
+ // The marketing-custom template declares its section-type schema in a
83
+ // separate module so the same array can be shared with tooling/tests.
84
+ // Workspace scaffolds (astro-split) host the schema in the shared section
85
+ // kit; imported RELATIVELY (not by package name) because this file is also
86
+ // loaded by Next's config loader, which only compiles relative TS imports.
87
+ const workspaceKit = options.framework === 'astro-split';
88
+ if (marketingCustom) {
89
+ imports.push(workspaceKit
90
+ ? `import { marketingSectionTypes } from '../../packages/sections/src/types';`
91
+ : `import { marketingSectionTypes } from './src/sections/types';`);
92
+ }
93
+ const pluginEntries = options.plugins.map(buildPluginConfig);
94
+ // Active `sections.types` for marketing-custom; a commented example otherwise
95
+ // so default scaffolds document the capability without an unrenderable type.
96
+ const sectionsBlock = marketingCustom
97
+ ? workspaceKit
98
+ ? ` // Custom section types for the Page/Post editor. Schema lives in the shared
99
+ // section kit (packages/sections/src/types.ts); the matching renderers are
100
+ // registered in packages/sections/src/register.tsx (imported by the admin
101
+ // page here and by apps/site's PageSections). See SECTIONS.md.
102
+ sections: {
103
+ types: marketingSectionTypes,
104
+ },
105
+ `
106
+ : ` // Custom section types for the Page/Post editor. Schema lives in
107
+ // src/sections/types.ts; the matching public renderers are registered in
108
+ // src/sections/register.tsx (imported by app/(site)/layout.tsx). See SECTIONS.md.
109
+ sections: {
110
+ types: marketingSectionTypes,
111
+ },
112
+ `
113
+ : ` // Custom section types for the Page/Post editor. Declare them here and they
114
+ // appear in the Add Section gallery with a field-driven inspector — no
115
+ // separate registry to bundle. Register the matching public renderer with
116
+ // \`registerSectionRenderer\` from '@prenta/sections-react'.
117
+ //
118
+ // sections: {
119
+ // types: [
120
+ // {
121
+ // id: 'pricing',
122
+ // name: 'Pricing Table',
123
+ // scope: ['page'],
124
+ // fields: [
125
+ // { key: 'heading', label: 'Heading', type: 'text', required: true },
126
+ // {
127
+ // key: 'plans',
128
+ // label: 'Plans',
129
+ // type: 'repeater',
130
+ // rowLabel: 'Plan',
131
+ // fields: [
132
+ // { key: 'name', label: 'Plan name', type: 'text', required: true },
133
+ // { key: 'price', label: 'Price', type: 'text' },
134
+ // ],
135
+ // },
136
+ // ],
137
+ // defaultContent: { heading: 'Plans', plans: [] },
138
+ // },
139
+ // ],
140
+ // },
141
+ `;
142
+ // Canonical page-content model (ADR 0001): a page/post's renderable content
143
+ // is the ordered `PageSection[]` array stored at `data.sections`. The
144
+ // section-based Page/Post editors read/write this `json` field, and the
145
+ // public site renders it with `<Sections>` from `@prenta/sections-react`.
146
+ // Posts additionally keep a rich-text `body` field for the article-body
147
+ // section's field-source mode.
148
+ const config = `${imports.join('\n')}
149
+
150
+ export default defineConfig({
151
+ // This file is imported by the admin (client) bundle, so it must stay free of
152
+ // platform adapters — they pull in \`node:*\` and break the client build. These
153
+ // are client-safe shorthands; Prenta auto-wires the matching platform adapter
154
+ // (storage, etc.) server-side when the API handler boots. To register a custom
155
+ // adapter, call \`setStorageAdapter()\` in your API route — never here.
156
+ platform: {
157
+ database: { provider: 'prisma' },
158
+ storage: { provider: '${options.platform === 'vercel' ? 'vercel-blob' : options.platform === 'aws' ? 's3' : 'local'}' },
159
+ },
160
+
161
+ auth: {
162
+ providers: [],
163
+ credentials: { enabled: true },
164
+ },
165
+
166
+ collections: {
167
+ pages: {
168
+ slug: 'pages',
169
+ labels: { singular: 'Page', plural: 'Pages' },
170
+ type: 'page',
171
+ urlPrefix: '',
172
+ seo: { sitemapPriority: 0.8, sitemapChangeFreq: 'monthly' },
173
+ fields: {
174
+ title: { type: 'text', label: 'Title', required: true },
175
+ slug: { type: 'slug', label: 'URL Slug', from: 'title' },
176
+ // Full route this page renders at (e.g. '/', '/about', '/services/seo').
177
+ // Distinct from \`slug\`: \`path\` lets a page model nested/custom routes;
178
+ // the renderer falls back to \`/\${slug}\` when it's blank.
179
+ path: { type: 'text', label: 'Path' },
180
+ // Ordered list of page-editor sections (flat PageSection[] JSON). The
181
+ // section-based Page Editor reads/writes this; the public site renders
182
+ // it with <Sections>. Declared as \`json\` so the field-access layer
183
+ // doesn't strip it on write.
184
+ sections: { type: 'json', label: 'Sections' },
185
+ featuredImage: { type: 'media', label: 'Featured Image', accept: ['image/*'] },
186
+ // Organizational tags (slugs from the page-tags collection) + tree
187
+ // parent. Must be declared so Pages list bulk-tag / nest writes persist.
188
+ tags: { type: 'json', label: 'Tags' },
189
+ primaryTag: { type: 'text', label: 'Primary Tag' },
190
+ parentPageId: { type: 'text', label: 'Parent Page' },
191
+ metaTitle: { type: 'text', label: 'Meta Title' },
192
+ metaDescription: { type: 'text', label: 'Meta Description' },
193
+ ogImage: { type: 'media', label: 'OG Image', accept: ['image/*'] },
194
+ },
195
+ },
196
+ // Hidden collection backing the Pages tag system. Tag documents store
197
+ // name (title) + slug + color; pages reference them by slug in data.tags.
198
+ 'page-tags': {
199
+ slug: 'page-tags',
200
+ labels: { singular: 'Page Tag', plural: 'Page Tags' },
201
+ fields: {
202
+ title: { type: 'text', label: 'Name', required: true },
203
+ slug: { type: 'slug', label: 'Slug', from: 'title' },
204
+ color: { type: 'text', label: 'Color' },
205
+ description: { type: 'text', label: 'Description' },
206
+ sortOrder: { type: 'number', label: 'Sort Order' },
207
+ active: { type: 'boolean', label: 'Active' },
208
+ },
209
+ admin: { hidden: true },
210
+ },
211
+ // Canonical blog-post schema (sections, body, excerpt, category,
212
+ // publishDate, SEO fields, related posts) — guaranteed compatible with
213
+ // the admin Post Editor. Override or extend via the factory's options:
214
+ // blogPostCollection({ extraFields: { … }, urlPrefix: 'news' }).
215
+ posts: blogPostCollection(),
216
+ },
217
+
218
+ globals: {
219
+ 'site-settings': {
220
+ slug: 'site-settings',
221
+ label: 'Site Settings',
222
+ access: { read: () => true },
223
+ fields: {
224
+ siteName: { type: 'text', label: 'Site Name' },
225
+ description: { type: 'text', label: 'Description' },
226
+ phone: { type: 'text', label: 'Phone' },
227
+ email: { type: 'email', label: 'Email' },
228
+ },
229
+ },
230
+ },
231
+
232
+ ${sectionsBlock}${buildSeoBlock(options)}
233
+ plugins: [
234
+ ${pluginEntries.join(',\n')}${pluginEntries.length > 0 ? ',' : ''}
235
+ ],
236
+
237
+ admin: {
238
+ path: '${options.adminPath}',${options.loginPath !== options.adminPath
239
+ ? `
240
+ // Split login: auth screens (login, setup wizard, password reset) live on
241
+ // their own mount; signed-out visits to \`path\` get a 404 lookalike, and
242
+ // emailed reset/invite links point here.
243
+ loginPath: '${options.loginPath}',`
244
+ : ''}
245
+ branding: {
246
+ name: '${options.projectName}',
247
+ },
248
+ },
249
+ });
250
+ `;
251
+ return config;
252
+ }
253
+ //# sourceMappingURL=prenta.config.ts.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prenta.config.ts.template.js","sourceRoot":"","sources":["../../src/templates/prenta.config.ts.template.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "create-prenta",
3
+ "version": "1.3.0",
4
+ "description": "Scaffold a new Prenta CMS project",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/actuate-media/prenta.git",
8
+ "directory": "create-prenta"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "type": "module",
14
+ "bin": {
15
+ "create-prenta": "dist/index.js"
16
+ },
17
+ "exports": {
18
+ ".": "./dist/index.js",
19
+ "./scaffold": {
20
+ "types": "./dist/scaffold.d.ts",
21
+ "import": "./dist/scaffold.js",
22
+ "default": "./dist/scaffold.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "assets",
28
+ "CHANGELOG.md"
29
+ ],
30
+ "dependencies": {
31
+ "chalk": "^5.4.0",
32
+ "commander": "^13.0.0",
33
+ "ora": "^8.1.0",
34
+ "prompts": "^2.4.2"
35
+ },
36
+ "devDependencies": {
37
+ "@types/prompts": "^2.4.9",
38
+ "tsx": "^4.0.0",
39
+ "typescript": "^5.7.0",
40
+ "vitest": "^4.1.0"
41
+ },
42
+ "keywords": [
43
+ "prenta",
44
+ "cms",
45
+ "scaffolding",
46
+ "create"
47
+ ],
48
+ "license": "MIT",
49
+ "scripts": {
50
+ "dev": "tsc --watch",
51
+ "build": "tsc",
52
+ "type-check": "tsc --noEmit",
53
+ "sync:prisma": "tsx scripts/sync-prisma-assets.ts",
54
+ "sync:astro-example": "tsx scripts/sync-astro-example.ts",
55
+ "test": "vitest run",
56
+ "test:watch": "vitest"
57
+ }
58
+ }