gazetta 0.0.1

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 (108) hide show
  1. package/admin-dist/assets/index-CWxPBgs-.css +1 -0
  2. package/admin-dist/assets/index-o6Ikobnh.js +1938 -0
  3. package/admin-dist/index.html +14 -0
  4. package/dist/admin-api/index.d.ts +13 -0
  5. package/dist/admin-api/index.d.ts.map +1 -0
  6. package/dist/admin-api/index.js +27 -0
  7. package/dist/admin-api/index.js.map +1 -0
  8. package/dist/admin-api/middleware/auth.d.ts +2 -0
  9. package/dist/admin-api/middleware/auth.d.ts.map +1 -0
  10. package/dist/admin-api/middleware/auth.js +14 -0
  11. package/dist/admin-api/middleware/auth.js.map +1 -0
  12. package/dist/admin-api/routes/components.d.ts +4 -0
  13. package/dist/admin-api/routes/components.d.ts.map +1 -0
  14. package/dist/admin-api/routes/components.js +49 -0
  15. package/dist/admin-api/routes/components.js.map +1 -0
  16. package/dist/admin-api/routes/fragments.d.ts +4 -0
  17. package/dist/admin-api/routes/fragments.d.ts.map +1 -0
  18. package/dist/admin-api/routes/fragments.js +71 -0
  19. package/dist/admin-api/routes/fragments.js.map +1 -0
  20. package/dist/admin-api/routes/pages.d.ts +4 -0
  21. package/dist/admin-api/routes/pages.d.ts.map +1 -0
  22. package/dist/admin-api/routes/pages.js +83 -0
  23. package/dist/admin-api/routes/pages.js.map +1 -0
  24. package/dist/admin-api/routes/preview.d.ts +4 -0
  25. package/dist/admin-api/routes/preview.d.ts.map +1 -0
  26. package/dist/admin-api/routes/preview.js +59 -0
  27. package/dist/admin-api/routes/preview.js.map +1 -0
  28. package/dist/admin-api/routes/publish.d.ts +4 -0
  29. package/dist/admin-api/routes/publish.d.ts.map +1 -0
  30. package/dist/admin-api/routes/publish.js +119 -0
  31. package/dist/admin-api/routes/publish.js.map +1 -0
  32. package/dist/admin-api/routes/site.d.ts +4 -0
  33. package/dist/admin-api/routes/site.d.ts.map +1 -0
  34. package/dist/admin-api/routes/site.js +11 -0
  35. package/dist/admin-api/routes/site.js.map +1 -0
  36. package/dist/admin-api/routes/templates.d.ts +4 -0
  37. package/dist/admin-api/routes/templates.d.ts.map +1 -0
  38. package/dist/admin-api/routes/templates.js +29 -0
  39. package/dist/admin-api/routes/templates.js.map +1 -0
  40. package/dist/app.d.ts +4 -0
  41. package/dist/app.d.ts.map +1 -0
  42. package/dist/app.js +17 -0
  43. package/dist/app.js.map +1 -0
  44. package/dist/cli/index.d.ts +3 -0
  45. package/dist/cli/index.d.ts.map +1 -0
  46. package/dist/cli/index.js +404 -0
  47. package/dist/cli/index.js.map +1 -0
  48. package/dist/editor/mount.d.ts +3 -0
  49. package/dist/editor/mount.d.ts.map +1 -0
  50. package/dist/editor/mount.js +74 -0
  51. package/dist/editor/mount.js.map +1 -0
  52. package/dist/index.d.ts +18 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +19 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/manifest.d.ts +6 -0
  57. package/dist/manifest.d.ts.map +1 -0
  58. package/dist/manifest.js +64 -0
  59. package/dist/manifest.js.map +1 -0
  60. package/dist/providers/azure-blob.d.ts +9 -0
  61. package/dist/providers/azure-blob.d.ts.map +1 -0
  62. package/dist/providers/azure-blob.js +91 -0
  63. package/dist/providers/azure-blob.js.map +1 -0
  64. package/dist/providers/filesystem.d.ts +3 -0
  65. package/dist/providers/filesystem.d.ts.map +1 -0
  66. package/dist/providers/filesystem.js +71 -0
  67. package/dist/providers/filesystem.js.map +1 -0
  68. package/dist/providers/s3.d.ts +13 -0
  69. package/dist/providers/s3.d.ts.map +1 -0
  70. package/dist/providers/s3.js +101 -0
  71. package/dist/providers/s3.js.map +1 -0
  72. package/dist/publish-rendered.d.ts +43 -0
  73. package/dist/publish-rendered.d.ts.map +1 -0
  74. package/dist/publish-rendered.js +161 -0
  75. package/dist/publish-rendered.js.map +1 -0
  76. package/dist/publish.d.ts +26 -0
  77. package/dist/publish.d.ts.map +1 -0
  78. package/dist/publish.js +115 -0
  79. package/dist/publish.js.map +1 -0
  80. package/dist/renderer.d.ts +4 -0
  81. package/dist/renderer.d.ts.map +1 -0
  82. package/dist/renderer.js +47 -0
  83. package/dist/renderer.js.map +1 -0
  84. package/dist/resolver.d.ts +12 -0
  85. package/dist/resolver.d.ts.map +1 -0
  86. package/dist/resolver.js +67 -0
  87. package/dist/resolver.js.map +1 -0
  88. package/dist/scope.d.ts +13 -0
  89. package/dist/scope.d.ts.map +1 -0
  90. package/dist/scope.js +31 -0
  91. package/dist/scope.js.map +1 -0
  92. package/dist/site-loader.d.ts +14 -0
  93. package/dist/site-loader.d.ts.map +1 -0
  94. package/dist/site-loader.js +67 -0
  95. package/dist/site-loader.js.map +1 -0
  96. package/dist/targets.d.ts +4 -0
  97. package/dist/targets.d.ts.map +1 -0
  98. package/dist/targets.js +68 -0
  99. package/dist/targets.js.map +1 -0
  100. package/dist/template-loader.d.ts +11 -0
  101. package/dist/template-loader.d.ts.map +1 -0
  102. package/dist/template-loader.js +51 -0
  103. package/dist/template-loader.js.map +1 -0
  104. package/dist/types.d.ts +99 -0
  105. package/dist/types.d.ts.map +1 -0
  106. package/dist/types.js +2 -0
  107. package/dist/types.js.map +1 -0
  108. package/package.json +83 -0
@@ -0,0 +1,99 @@
1
+ /** Output of a rendered component */
2
+ export interface RenderOutput {
3
+ html: string;
4
+ css: string;
5
+ js: string;
6
+ head?: string;
7
+ }
8
+ /** Template function signature — generic over content type */
9
+ export type TemplateFunction<T extends Record<string, unknown> = Record<string, unknown>> = (params: {
10
+ content?: T;
11
+ children?: RenderOutput[];
12
+ params?: Record<string, string>;
13
+ }) => RenderOutput | Promise<RenderOutput>;
14
+ /** Mount function for framework-agnostic custom editors */
15
+ export interface EditorMount {
16
+ mount(el: HTMLElement, props: {
17
+ content: Record<string, unknown>;
18
+ onChange: (content: Record<string, unknown>) => void;
19
+ }): void;
20
+ unmount(el: HTMLElement): void;
21
+ }
22
+ /** Template module — what a template file exports */
23
+ export interface TemplateModule {
24
+ default: TemplateFunction;
25
+ schema: unknown;
26
+ editor?: EditorMount;
27
+ }
28
+ /** Component manifest (base) */
29
+ export interface ComponentManifest {
30
+ template: string;
31
+ content?: Record<string, unknown>;
32
+ components?: string[];
33
+ }
34
+ /** Fragment manifest (shared component) */
35
+ export interface FragmentManifest extends ComponentManifest {
36
+ }
37
+ /** Page manifest (routable component) */
38
+ export interface PageManifest extends ComponentManifest {
39
+ route: string;
40
+ metadata?: Record<string, unknown>;
41
+ }
42
+ /** Target configuration in site.yaml */
43
+ export interface TargetConfig {
44
+ type: 'filesystem' | 'azure-blob' | 's3';
45
+ path?: string;
46
+ connectionString?: string;
47
+ container?: string;
48
+ endpoint?: string;
49
+ bucket?: string;
50
+ accessKeyId?: string;
51
+ secretAccessKey?: string;
52
+ region?: string;
53
+ }
54
+ /** Site manifest (site.yaml) */
55
+ export interface SiteManifest {
56
+ name: string;
57
+ version?: string;
58
+ targets?: Record<string, TargetConfig>;
59
+ }
60
+ /** Directory entry returned by StorageProvider.readDir */
61
+ export interface DirEntry {
62
+ name: string;
63
+ isDirectory: boolean;
64
+ }
65
+ /** Storage abstraction — filesystem, S3, Azure Blob, etc. */
66
+ export interface StorageProvider {
67
+ readFile(path: string): Promise<string>;
68
+ readDir(path: string): Promise<DirEntry[]>;
69
+ exists(path: string): Promise<boolean>;
70
+ writeFile(path: string, content: string): Promise<void>;
71
+ mkdir(path: string): Promise<void>;
72
+ rm(path: string): Promise<void>;
73
+ }
74
+ /** Resolved component ready for rendering */
75
+ export interface ResolvedComponent {
76
+ template: TemplateFunction;
77
+ content?: Record<string, unknown>;
78
+ children: ResolvedComponent[];
79
+ path?: string;
80
+ }
81
+ /** Published page manifest — stored in S3 as pages/<name>.json */
82
+ export interface PublishedPageManifest {
83
+ route: string;
84
+ metadata?: Record<string, unknown>;
85
+ components: string[];
86
+ }
87
+ /** Published component — stored in S3 as components/<key>.json */
88
+ export interface PublishedComponent {
89
+ html: string;
90
+ css: string;
91
+ js: string;
92
+ head?: string;
93
+ }
94
+ /** Purge strategy for cache invalidation */
95
+ export interface PurgeStrategy {
96
+ purgeAll(): Promise<void>;
97
+ purgeUrls(urls: string[]): Promise<void>;
98
+ }
99
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "gazetta",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "files": [
7
+ "dist/",
8
+ "admin-dist/"
9
+ ],
10
+ "bin": {
11
+ "gazetta": "./dist/cli/index.js"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./types": {
19
+ "types": "./dist/types.d.ts",
20
+ "import": "./dist/types.js"
21
+ },
22
+ "./editor": {
23
+ "types": "./dist/editor/mount.d.ts",
24
+ "import": "./dist/editor/mount.js"
25
+ },
26
+ "./admin-api": {
27
+ "types": "./dist/admin-api/index.d.ts",
28
+ "import": "./dist/admin-api/index.js"
29
+ }
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/gazetta-studio/gazetta-studio",
34
+ "directory": "packages/gazetta"
35
+ },
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc",
41
+ "build:admin": "vite build -c ../../apps/admin-ui/vite.config.ts --base /admin/ --outDir ../../packages/gazetta/admin-dist --emptyOutDir ../../apps/admin-ui",
42
+ "prepublishOnly": "npm run build && npm run build:admin",
43
+ "test": "vitest run"
44
+ },
45
+ "dependencies": {
46
+ "@hono/node-server": "^1.19.0",
47
+ "@rjsf/core": "^6.4.0",
48
+ "@rjsf/utils": "^6.4.0",
49
+ "@rjsf/validator-ajv8": "^6.4.0",
50
+ "hono": "^4.12.0",
51
+ "js-yaml": "^4.1.0",
52
+ "postcss": "^8.5.8",
53
+ "postcss-prefix-selector": "^2.1.1",
54
+ "react": "^19.2.0",
55
+ "react-dom": "^19.2.0",
56
+ "zod": "^4.3.6"
57
+ },
58
+ "peerDependencies": {
59
+ "@aws-sdk/client-s3": ">=3",
60
+ "@azure/storage-blob": ">=12"
61
+ },
62
+ "peerDependenciesMeta": {
63
+ "@aws-sdk/client-s3": {
64
+ "optional": true
65
+ },
66
+ "@azure/storage-blob": {
67
+ "optional": true
68
+ }
69
+ },
70
+ "devDependencies": {
71
+ "@aws-sdk/client-s3": "^3.1024.0",
72
+ "@azure/storage-blob": "^12.31.0",
73
+ "@types/js-yaml": "^4.0.0",
74
+ "@types/node": "^22.0.0",
75
+ "@types/react": "^19.2.0",
76
+ "@types/react-dom": "^19.2.0",
77
+ "@vitejs/plugin-vue": "^5.2.4",
78
+ "tsx": "^4.21.0",
79
+ "typescript": "^5.8.0",
80
+ "vite": "^6.4.1",
81
+ "vitest": "^4.1.0"
82
+ }
83
+ }