gazetta 0.0.7 → 0.1.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 (91) hide show
  1. package/admin-dist/assets/index-DKYjjDqE.js +2451 -0
  2. package/admin-dist/assets/index-yguWG9_J.css +1 -0
  3. package/admin-dist/index.html +3 -2
  4. package/dist/admin-api/index.d.ts +6 -0
  5. package/dist/admin-api/index.d.ts.map +1 -1
  6. package/dist/admin-api/index.js +8 -3
  7. package/dist/admin-api/index.js.map +1 -1
  8. package/dist/admin-api/routes/fields.d.ts +4 -0
  9. package/dist/admin-api/routes/fields.d.ts.map +1 -0
  10. package/dist/admin-api/routes/fields.js +21 -0
  11. package/dist/admin-api/routes/fields.js.map +1 -0
  12. package/dist/admin-api/routes/pages.d.ts.map +1 -1
  13. package/dist/admin-api/routes/pages.js +3 -8
  14. package/dist/admin-api/routes/pages.js.map +1 -1
  15. package/dist/admin-api/routes/preview.d.ts +1 -1
  16. package/dist/admin-api/routes/preview.d.ts.map +1 -1
  17. package/dist/admin-api/routes/preview.js +30 -9
  18. package/dist/admin-api/routes/preview.js.map +1 -1
  19. package/dist/admin-api/routes/publish.d.ts +1 -1
  20. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  21. package/dist/admin-api/routes/publish.js +44 -33
  22. package/dist/admin-api/routes/publish.js.map +1 -1
  23. package/dist/admin-api/routes/templates.d.ts +1 -1
  24. package/dist/admin-api/routes/templates.d.ts.map +1 -1
  25. package/dist/admin-api/routes/templates.js +32 -8
  26. package/dist/admin-api/routes/templates.js.map +1 -1
  27. package/dist/app.js +1 -1
  28. package/dist/app.js.map +1 -1
  29. package/dist/cli/index.js +650 -175
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/editor/mount.d.ts +15 -0
  32. package/dist/editor/mount.d.ts.map +1 -1
  33. package/dist/editor/mount.js +684 -29
  34. package/dist/editor/mount.js.map +1 -1
  35. package/dist/formats.d.ts +31 -0
  36. package/dist/formats.d.ts.map +1 -1
  37. package/dist/formats.js +14 -0
  38. package/dist/formats.js.map +1 -1
  39. package/dist/index.d.ts +10 -6
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +8 -5
  42. package/dist/index.js.map +1 -1
  43. package/dist/manifest.d.ts.map +1 -1
  44. package/dist/manifest.js +10 -10
  45. package/dist/manifest.js.map +1 -1
  46. package/dist/providers/r2.d.ts +8 -0
  47. package/dist/providers/r2.d.ts.map +1 -0
  48. package/dist/providers/r2.js +83 -0
  49. package/dist/providers/r2.js.map +1 -0
  50. package/dist/publish-rendered.d.ts +7 -3
  51. package/dist/publish-rendered.d.ts.map +1 -1
  52. package/dist/publish-rendered.js +27 -34
  53. package/dist/publish-rendered.js.map +1 -1
  54. package/dist/renderer.d.ts +2 -1
  55. package/dist/renderer.d.ts.map +1 -1
  56. package/dist/renderer.js +25 -15
  57. package/dist/renderer.js.map +1 -1
  58. package/dist/resolver.d.ts +1 -0
  59. package/dist/resolver.d.ts.map +1 -1
  60. package/dist/resolver.js +23 -3
  61. package/dist/resolver.js.map +1 -1
  62. package/dist/scope.d.ts +10 -4
  63. package/dist/scope.d.ts.map +1 -1
  64. package/dist/scope.js +19 -8
  65. package/dist/scope.js.map +1 -1
  66. package/dist/serve.d.ts +14 -0
  67. package/dist/serve.d.ts.map +1 -0
  68. package/dist/serve.js +135 -0
  69. package/dist/serve.js.map +1 -0
  70. package/dist/site-loader.d.ts +11 -1
  71. package/dist/site-loader.d.ts.map +1 -1
  72. package/dist/site-loader.js +19 -7
  73. package/dist/site-loader.js.map +1 -1
  74. package/dist/targets.d.ts +1 -0
  75. package/dist/targets.d.ts.map +1 -1
  76. package/dist/targets.js +42 -1
  77. package/dist/targets.js.map +1 -1
  78. package/dist/template-loader.d.ts +3 -2
  79. package/dist/template-loader.d.ts.map +1 -1
  80. package/dist/template-loader.js +32 -2
  81. package/dist/template-loader.js.map +1 -1
  82. package/dist/types.d.ts +35 -16
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/types.js +4 -1
  85. package/dist/types.js.map +1 -1
  86. package/dist/workers/cloudflare-r2.d.ts.map +1 -1
  87. package/dist/workers/cloudflare-r2.js +14 -1
  88. package/dist/workers/cloudflare-r2.js.map +1 -1
  89. package/package.json +16 -7
  90. package/admin-dist/assets/index-CVC2_Byr.js +0 -1941
  91. package/admin-dist/assets/index-W1ylqX_Y.css +0 -1
package/dist/targets.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { resolve } from 'node:path';
2
+ import { execSync } from 'node:child_process';
2
3
  import { createFilesystemProvider } from './providers/filesystem.js';
3
- function resolveEnvVars(value) {
4
+ export function resolveEnvVars(value) {
4
5
  if (!value)
5
6
  return value;
6
7
  return value.replace(/\$\{(\w+)\}/g, (_, name) => process.env[name] ?? '');
@@ -45,6 +46,46 @@ export async function createStorageProvider(config, siteDir) {
45
46
  throw new Error('S3 storage requires @aws-sdk/client-s3. Install it: npm install @aws-sdk/client-s3');
46
47
  }
47
48
  }
49
+ case 'r2': {
50
+ if (!config.accountId)
51
+ throw new Error('R2 storage requires "accountId"');
52
+ if (!config.bucket)
53
+ throw new Error('R2 storage requires "bucket"');
54
+ const accessKeyId = resolveEnvVars(config.accessKeyId);
55
+ const secretAccessKey = resolveEnvVars(config.secretAccessKey);
56
+ // When S3 credentials are available, use S3 provider (fast, parallel — good for CI)
57
+ if (accessKeyId && secretAccessKey) {
58
+ try {
59
+ const { createS3Provider } = await import('./providers/s3.js');
60
+ return createS3Provider({
61
+ endpoint: `https://${config.accountId}.r2.cloudflarestorage.com`,
62
+ bucket: config.bucket,
63
+ accessKeyId,
64
+ secretAccessKey,
65
+ region: config.region,
66
+ });
67
+ }
68
+ catch {
69
+ throw new Error('R2 with S3 credentials requires @aws-sdk/client-s3. Install it: npm install @aws-sdk/client-s3');
70
+ }
71
+ }
72
+ // Fall back to Cloudflare REST API using wrangler auth
73
+ let apiToken;
74
+ try {
75
+ const output = execSync('npx wrangler auth token', { encoding: 'utf-8', timeout: 10000, stdio: ['pipe', 'pipe', 'pipe'] });
76
+ // wrangler prints a banner before the token — extract the last non-empty line
77
+ apiToken = output.split('\n').map(l => l.trim()).filter(l => l && !l.includes('wrangler') && !l.includes('───')).pop() ?? '';
78
+ }
79
+ catch {
80
+ throw new Error('R2 storage: no credentials found.\n' +
81
+ ' Either set R2_ACCESS_KEY_ID and R2_SECRET_ACCESS_KEY environment variables,\n' +
82
+ ' or run "npx wrangler login" to authenticate with Cloudflare.');
83
+ }
84
+ if (!apiToken)
85
+ throw new Error('R2 storage: wrangler returned empty token. Run "npx wrangler login" to authenticate.');
86
+ const { createR2RestProvider } = await import('./providers/r2.js');
87
+ return createR2RestProvider({ accountId: config.accountId, bucket: config.bucket, apiToken });
88
+ }
48
89
  default:
49
90
  throw new Error(`Unknown storage type: ${config.type}`);
50
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import type { TemplateFunction, TemplateModule, StorageProvider } from './types.js';
1
+ import type { TemplateFunction, StorageProvider } from './types.js';
2
2
  interface LoadedTemplate {
3
3
  render: TemplateFunction;
4
4
  schema: unknown;
5
- editor?: TemplateModule['editor'];
6
5
  }
7
6
  export declare function loadTemplate(storage: StorageProvider, templatesDir: string, templateName: string): Promise<LoadedTemplate>;
7
+ /** Check if a custom editor file exists for a template */
8
+ export declare function hasEditorFile(storage: StorageProvider, editorsDir: string, templateName: string): Promise<boolean>;
8
9
  export declare function invalidateTemplate(templateName: string): void;
9
10
  export declare function invalidateAllTemplates(): void;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../src/template-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEnF,UAAU,cAAc;IACtB,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CAClC;AAcD,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA4ChI;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../src/template-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAA;AAEnF,UAAU,cAAc;IACtB,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;CAChB;AA2BD,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA2ChI;AAID,0DAA0D;AAC1D,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWxH;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -1,5 +1,9 @@
1
1
  import { join } from 'node:path';
2
+ import { pathToFileURL } from 'node:url';
3
+ import { createJiti } from 'jiti';
2
4
  const cache = new Map();
5
+ /** Tracks which templates have been imported — reloads use jiti to bypass Node's module cache */
6
+ const importedPaths = new Set();
3
7
  const TEMPLATE_FILES = ['index.ts', 'index.tsx'];
4
8
  async function findTemplateFile(storage, templatesDir, templateName) {
5
9
  for (const file of TEMPLATE_FILES) {
@@ -9,6 +13,16 @@ async function findTemplateFile(storage, templatesDir, templateName) {
9
13
  }
10
14
  return null;
11
15
  }
16
+ async function importTemplate(templatePath) {
17
+ if (!importedPaths.has(templatePath)) {
18
+ // First load — use native import() (fast, resolves deps from project node_modules)
19
+ importedPaths.add(templatePath);
20
+ return await import(pathToFileURL(templatePath).href);
21
+ }
22
+ // Reload — use jiti with moduleCache disabled (bypasses Node/tsx module cache)
23
+ const freshJiti = createJiti(pathToFileURL(templatePath).href, { jsx: true, moduleCache: false });
24
+ return await freshJiti.import(templatePath);
25
+ }
12
26
  export async function loadTemplate(storage, templatesDir, templateName) {
13
27
  const cached = cache.get(templateName);
14
28
  if (cached)
@@ -20,7 +34,7 @@ export async function loadTemplate(storage, templatesDir, templateName) {
20
34
  }
21
35
  let mod;
22
36
  try {
23
- mod = await import(`${templatePath}?t=${Date.now()}`);
37
+ mod = await importTemplate(templatePath);
24
38
  }
25
39
  catch (err) {
26
40
  throw new Error(`Failed to import template "${templateName}" from ${templatePath}: ${err.message}`);
@@ -37,11 +51,27 @@ export async function loadTemplate(storage, templatesDir, templateName) {
37
51
  const loaded = {
38
52
  render,
39
53
  schema: mod.schema,
40
- editor: mod.editor,
41
54
  };
42
55
  cache.set(templateName, loaded);
43
56
  return loaded;
44
57
  }
58
+ const EDITOR_FILES = ['editor.ts', 'editor.tsx'];
59
+ /** Check if a custom editor file exists for a template */
60
+ export async function hasEditorFile(storage, editorsDir, templateName) {
61
+ for (const file of EDITOR_FILES) {
62
+ // Try flat: admin/editors/hero.ts
63
+ if (await storage.exists(join(editorsDir, `${templateName}.ts`)))
64
+ return true;
65
+ if (await storage.exists(join(editorsDir, `${templateName}.tsx`)))
66
+ return true;
67
+ }
68
+ // Try directory: admin/editors/hero/index.ts
69
+ for (const file of ['index.ts', 'index.tsx']) {
70
+ if (await storage.exists(join(editorsDir, templateName, file)))
71
+ return true;
72
+ }
73
+ return false;
74
+ }
45
75
  export function invalidateTemplate(templateName) {
46
76
  cache.delete(templateName);
47
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../src/template-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAShC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;AAE/C,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;AAEhD,KAAK,UAAU,gBAAgB,CAAC,OAAwB,EAAE,YAAoB,EAAE,YAAoB;IAClG,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QACnD,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;IAC7C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAwB,EAAE,YAAoB,EAAE,YAAoB;IACrG,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;IAChF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,kDAAkD,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/G,gCAAgC,YAAY,EAAE,CAC/C,CAAA;IACH,CAAC;IAED,IAAI,GAA4B,CAAA;IAChC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,YAAY,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8BAA8B,YAAY,UAAU,YAAY,KAAM,GAAa,CAAC,OAAO,EAAE,CAC9F,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAA2B,CAAA;IAC9C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,QAAQ,YAAY,uCAAuC;YACpF,OAAO,OAAO,MAAM,kEAAkE,CACvF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,QAAQ,YAAY,6BAA6B;YAC1E,yDAAyD,CAC1D,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAmB;QAC7B,MAAM;QACN,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAkC;KAC/C,CAAA;IAED,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../src/template-loader.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -15,7 +15,21 @@ export type TemplateFunction<T extends Record<string, unknown> = Record<string,
15
15
  export interface EditorMount {
16
16
  mount(el: HTMLElement, props: {
17
17
  content: Record<string, unknown>;
18
+ schema: Record<string, unknown>;
19
+ theme: 'dark' | 'light';
18
20
  onChange: (content: Record<string, unknown>) => void;
21
+ /** Base URL for loading custom field modules (dev mode: /@fs/ path) */
22
+ fieldsBaseUrl?: string;
23
+ }): void;
24
+ unmount(el: HTMLElement): void;
25
+ }
26
+ /** Mount function for framework-agnostic custom field widgets */
27
+ export interface FieldMount {
28
+ mount(el: HTMLElement, props: {
29
+ value: unknown;
30
+ schema: Record<string, unknown>;
31
+ theme: 'dark' | 'light';
32
+ onChange: (value: unknown) => void;
19
33
  }): void;
20
34
  unmount(el: HTMLElement): void;
21
35
  }
@@ -23,7 +37,6 @@ export interface EditorMount {
23
37
  export interface TemplateModule {
24
38
  default: TemplateFunction;
25
39
  schema: unknown;
26
- editor?: EditorMount;
27
40
  }
28
41
  /** Component manifest (base) */
29
42
  export interface ComponentManifest {
@@ -34,22 +47,31 @@ export interface ComponentManifest {
34
47
  /** Fragment manifest (shared component) */
35
48
  export interface FragmentManifest extends ComponentManifest {
36
49
  }
50
+ /** CDN cache purge configuration */
51
+ export interface PurgeConfig {
52
+ type: 'cloudflare';
53
+ /** API token with cache purge permission — use ${ENV_VAR} syntax */
54
+ apiToken?: string;
55
+ /** Zone ID — auto-detected from siteUrl when not set */
56
+ zoneId?: string;
57
+ }
37
58
  /** Cache configuration */
38
59
  export interface CacheConfig {
39
60
  /** Browser cache TTL in seconds (max-age). Default: 0 */
40
61
  browser?: number;
41
62
  /** Edge/CDN cache TTL in seconds (s-maxage). Default: 86400 */
42
63
  edge?: number;
64
+ /** CDN cache purge configuration */
65
+ purge?: PurgeConfig;
43
66
  }
44
67
  /** Page manifest (routable component) */
45
68
  export interface PageManifest extends ComponentManifest {
46
69
  route: string;
47
- metadata?: Record<string, unknown>;
48
70
  cache?: CacheConfig;
49
71
  }
50
72
  /** Storage configuration */
51
73
  export interface StorageConfig {
52
- type: 'filesystem' | 'azure-blob' | 's3';
74
+ type: 'filesystem' | 'azure-blob' | 's3' | 'r2';
53
75
  path?: string;
54
76
  connectionString?: string;
55
77
  container?: string;
@@ -58,6 +80,7 @@ export interface StorageConfig {
58
80
  accessKeyId?: string;
59
81
  secretAccessKey?: string;
60
82
  region?: string;
83
+ accountId?: string;
61
84
  }
62
85
  /** Worker/runtime configuration */
63
86
  export interface WorkerConfig {
@@ -68,14 +91,21 @@ export interface WorkerConfig {
68
91
  export interface TargetConfig {
69
92
  storage: StorageConfig;
70
93
  worker?: WorkerConfig;
94
+ /** Publish mode — 'esi' for Workers/gazetta serve, 'static' for static hosting. Default: esi if worker configured, static otherwise. */
95
+ publishMode?: 'esi' | 'static';
71
96
  /** Base URL of the site (e.g. https://gazetta.studio) */
72
97
  siteUrl?: string;
73
98
  cache?: CacheConfig;
74
99
  }
100
+ /** Determine publish mode for a target — centralised logic used by CLI and admin API */
101
+ export declare function getPublishMode(target: TargetConfig): 'esi' | 'static';
75
102
  /** Site manifest (site.yaml) */
76
103
  export interface SiteManifest {
77
104
  name: string;
78
105
  version?: string;
106
+ locale?: string;
107
+ baseUrl?: string;
108
+ systemPages?: string[];
79
109
  targets?: Record<string, TargetConfig>;
80
110
  }
81
111
  /** Directory entry returned by StorageProvider.readDir */
@@ -98,19 +128,8 @@ export interface ResolvedComponent {
98
128
  content?: Record<string, unknown>;
99
129
  children: ResolvedComponent[];
100
130
  path?: string;
101
- }
102
- /** Published page manifest — stored in S3 as pages/<name>.json */
103
- export interface PublishedPageManifest {
104
- route: string;
105
- metadata?: Record<string, unknown>;
106
- components: string[];
107
- }
108
- /** Published component — stored in S3 as components/<key>.json */
109
- export interface PublishedComponent {
110
- html: string;
111
- css: string;
112
- js: string;
113
- head?: string;
131
+ /** Component's position in the page tree (e.g., "hero", "@header/logo", "features/fast") */
132
+ treePath?: string;
114
133
  }
115
134
  /** Purge strategy for cache invalidation */
116
135
  export interface PurgeStrategy {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;IACnG,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAE1C,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/H,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAAA;CAC/B;AAED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;CAAG;AAE9D,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACrD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACvC;AAED,0DAA0D;AAC1D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,5 @@
1
- export {};
1
+ /** Determine publish mode for a target — centralised logic used by CLI and admin API */
2
+ export function getPublishMode(target) {
3
+ return target.publishMode ?? (target.worker ? 'esi' : 'static');
4
+ }
2
5
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA+GA,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-r2.d.ts","sourceRoot":"","sources":["../../src/workers/cloudflare-r2.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,WAAW,yBAAyB;IACxC,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;CACzE;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,yBAAyB;cAG7B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;0CAsE1D"}
1
+ {"version":3,"file":"cloudflare-r2.d.ts","sourceRoot":"","sources":["../../src/workers/cloudflare-r2.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,WAAW,yBAAyB;IACxC,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;CACzE;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,yBAAyB;cAG7B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;0CAqF1D"}
@@ -45,8 +45,21 @@ export function createWorker(options) {
45
45
  const bucket = c.env[bindingName];
46
46
  const requestPath = new URL(c.req.url).pathname;
47
47
  const pageHtml = await findPage(bucket, requestPath);
48
- if (!pageHtml)
48
+ if (!pageHtml) {
49
+ const notFoundHtml = await findPage(bucket, '/404');
50
+ if (notFoundHtml) {
51
+ const { html: raw404 } = parseCacheComment(notFoundHtml);
52
+ const fragPaths = findEsiPaths(raw404);
53
+ const fragEntries = await Promise.all(fragPaths.map(async (p) => {
54
+ const obj = await bucket.get(p.slice(1));
55
+ if (!obj)
56
+ return [p, { head: '', body: '' }];
57
+ return [p, splitFragment(await obj.text())];
58
+ }));
59
+ return c.html(assembleEsi(raw404, new Map(fragEntries)), 404);
60
+ }
49
61
  return c.html('<h1>404 — Page not found</h1>', 404);
62
+ }
50
63
  const { html: rawHtml, browser, edge } = parseCacheComment(pageHtml);
51
64
  // Read all fragments in parallel
52
65
  const fragmentPaths = findEsiPaths(rawHtml);
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-r2.js","sourceRoot":"","sources":["../../src/workers/cloudflare-r2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-r2.js","sourceRoot":"","sources":["../../src/workers/cloudflare-r2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gazetta",
3
- "version": "0.0.7",
3
+ "version": "0.1.0",
4
4
  "description": "Stateless CMS for composable websites",
5
5
  "keywords": [
6
6
  "cms",
@@ -19,7 +19,7 @@
19
19
  "admin-dist/"
20
20
  ],
21
21
  "bin": {
22
- "gazetta": "./dist/cli/index.js"
22
+ "gazetta": "dist/cli/index.js"
23
23
  },
24
24
  "exports": {
25
25
  ".": {
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "repository": {
47
47
  "type": "git",
48
- "url": "https://github.com/gazetta-studio/gazetta-studio",
48
+ "url": "git+https://github.com/gazetta-studio/gazetta-studio.git",
49
49
  "directory": "packages/gazetta"
50
50
  },
51
51
  "publishConfig": {
@@ -53,27 +53,36 @@
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsc",
56
- "build:admin": "vite build -c ../../apps/admin-ui/vite.config.ts --base /admin/ --outDir ../../packages/gazetta/admin-dist --emptyOutDir ../../apps/admin-ui",
56
+ "build:admin": "vite build -c ../../apps/admin/vite.config.ts --base /admin/ --outDir ../../packages/gazetta/admin-dist --emptyOutDir ../../apps/admin",
57
57
  "prepublishOnly": "npm run build && npm run build:admin",
58
58
  "test": "vitest run"
59
59
  },
60
60
  "dependencies": {
61
+ "@clack/prompts": "^1.2.0",
62
+ "@floating-ui/dom": "^1.7.6",
63
+ "@hello-pangea/dnd": "^18.0.1",
61
64
  "@hono/node-server": "^1.19.0",
62
65
  "@rjsf/core": "^6.4.0",
63
66
  "@rjsf/utils": "^6.4.0",
64
67
  "@rjsf/validator-ajv8": "^6.4.0",
68
+ "@tiptap/extension-link": "^3.22.3",
69
+ "@tiptap/extension-placeholder": "^3.22.3",
70
+ "@tiptap/pm": "^3.22.3",
71
+ "@tiptap/react": "^3.22.3",
72
+ "@tiptap/starter-kit": "^3.22.3",
65
73
  "hono": "^4.12.0",
74
+ "jiti": "^2.6.1",
66
75
  "js-yaml": "^4.1.0",
67
76
  "marked": "^18.0.0",
68
77
  "postcss": "^8.5.8",
69
78
  "postcss-prefix-selector": "^2.1.1",
70
- "react": "^19.2.0",
71
- "react-dom": "^19.2.0",
72
79
  "zod": "^4.3.6"
73
80
  },
74
81
  "peerDependencies": {
75
82
  "@aws-sdk/client-s3": ">=3",
76
- "@azure/storage-blob": ">=12"
83
+ "@azure/storage-blob": ">=12",
84
+ "react": "^18.0.0 || ^19.0.0",
85
+ "react-dom": "^18.0.0 || ^19.0.0"
77
86
  },
78
87
  "peerDependenciesMeta": {
79
88
  "@aws-sdk/client-s3": {