@powerhousedao/codegen 4.1.0-dev.8 → 4.1.0-staging.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 (64) hide show
  1. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts +14 -0
  2. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts.map +1 -0
  3. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +12 -0
  4. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js.map +1 -0
  5. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +17 -0
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +16 -0
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +3 -3
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +96 -0
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +3 -0
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +2 -2
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +11 -10
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +2 -2
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +6 -10
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +4 -0
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +1 -1
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +13 -1
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +1 -1
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +59 -50
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +3 -3
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +38 -24
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +244 -181
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +53 -74
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +44 -26
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +22 -58
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts +16 -0
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts.map +1 -0
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +2 -3
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +12 -0
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js.map +1 -0
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +2 -0
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +1 -1
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +1 -1
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -0
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +1 -1
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +2 -1
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +7 -5
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +3 -2
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +6 -5
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +0 -32
  40. package/dist/src/codegen/hygen.d.ts +6 -4
  41. package/dist/src/codegen/hygen.d.ts.map +1 -1
  42. package/dist/src/codegen/hygen.js +35 -8
  43. package/dist/src/codegen/hygen.js.map +1 -1
  44. package/dist/src/codegen/index.d.ts +5 -3
  45. package/dist/src/codegen/index.d.ts.map +1 -1
  46. package/dist/src/codegen/index.js +72 -5
  47. package/dist/src/codegen/index.js.map +1 -1
  48. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +8 -6
  49. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  50. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +1 -0
  51. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  52. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +9 -7
  53. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  54. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +3 -0
  55. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +1 -1
  56. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +85 -14
  57. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +1 -1
  58. package/dist/tsconfig.hygen.tsbuildinfo +1 -1
  59. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  60. package/package.json +13 -6
  61. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
  62. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
  63. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
  64. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useTransformedNodes.esm.t +0 -35
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/codegen",
3
- "version": "4.1.0-dev.8",
3
+ "version": "4.1.0-staging.1",
4
4
  "license": "AGPL-3.0-only",
5
5
  "private": false,
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "@faker-js/faker": "^8.3.1",
24
24
  "@graphql-codegen/cli": "^5.0.0",
25
25
  "@graphql-codegen/typescript": "^4.0.1",
26
- "@powerhousedao/document-engineering": "^1.15.0",
26
+ "@powerhousedao/document-engineering": "^1.27.0",
27
27
  "@types/node": "^22.15.17",
28
28
  "arg": "^5.0.2",
29
29
  "change-case": "^4.1.2",
@@ -34,19 +34,25 @@
34
34
  "kysely-pglite": "^0.6.1",
35
35
  "prettier": "^3.4.2",
36
36
  "ts-morph": "^26.0.0",
37
- "@powerhousedao/config": "4.1.0-dev.8",
38
- "document-model": "4.1.0-dev.8"
37
+ "@powerhousedao/config": "4.1.0-staging.1",
38
+ "@powerhousedao/design-system": "4.1.0-staging.1",
39
+ "@powerhousedao/reactor-browser": "4.1.0-staging.1",
40
+ "@powerhousedao/common": "4.1.0-staging.1",
41
+ "document-model": "4.1.0-staging.1"
39
42
  },
40
43
  "devDependencies": {
41
44
  "@graphql-codegen/core": "^4.0.2",
45
+ "@types/react": "^18.3.1",
46
+ "@types/react-dom": "^18.3.1",
42
47
  "copyfiles": "^2.4.1",
43
48
  "esbuild-fix-imports-plugin": "^1.0.7",
44
49
  "graphql": "^16.11.0",
45
50
  "husky": "^8.0.3",
51
+ "react": "^18.3.1",
52
+ "react-dom": "^18.3.1",
46
53
  "vitest": "^3.1.2",
47
54
  "zod": "^3.24.3",
48
- "@powerhousedao/reactor-api": "4.1.0-dev.8",
49
- "document-drive": "4.1.0-dev.8"
55
+ "document-drive": "4.1.0-staging.1"
50
56
  },
51
57
  "scripts": {
52
58
  "build:tsc": "tsc --build",
@@ -62,6 +68,7 @@
62
68
  "publish:create-lib": "npm publish --cwd ./src/create-lib/",
63
69
  "start": "tsx src/cli.ts",
64
70
  "clean:node_modules": "rimraf node_modules",
71
+ "pretest": "rimraf ./src/codegen/__tests__/.out && rimraf ./src/codegen/__tests__/.test-project",
65
72
  "test": "vitest run"
66
73
  }
67
74
  }
@@ -1,44 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/FileItemsGrid.tsx"
3
- unless_exists: true
4
- ---
5
- import { FileItem, type UiFileNode, type BaseUiFileNode } from "@powerhousedao/design-system";
6
-
7
- interface FileItemsGridProps {
8
- files: UiFileNode[];
9
- onSelectNode: (node: BaseUiFileNode) => void;
10
- onRenameNode: (nodeId: string, name: string) => void;
11
- onDuplicateNode: (node: BaseUiFileNode) => void;
12
- onDeleteNode: (nodeId: string) => void;
13
- isAllowedToCreateDocuments: boolean;
14
- }
15
-
16
- export function FileItemsGrid({
17
- files,
18
- onSelectNode,
19
- onRenameNode,
20
- onDuplicateNode,
21
- onDeleteNode,
22
- isAllowedToCreateDocuments,
23
- }: FileItemsGridProps) {
24
- if (files.length === 0) return null;
25
-
26
- return (
27
- <div>
28
- <h3 className="text-sm font-medium text-gray-500 mb-2">Files</h3>
29
- <div className="flex flex-wrap gap-2">
30
- {files.map((file) => (
31
- <FileItem
32
- key={file.id}
33
- uiNode={file}
34
- onSelectNode={onSelectNode}
35
- onRenameNode={(name) => onRenameNode(file.id, name)}
36
- onDuplicateNode={onDuplicateNode}
37
- onDeleteNode={() => onDeleteNode(file.id)}
38
- isAllowedToCreateDocuments={isAllowedToCreateDocuments}
39
- />
40
- ))}
41
- </div>
42
- </div>
43
- );
44
- }
@@ -1,96 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/FolderItemsGrid.tsx"
3
- unless_exists: true
4
- ---
5
- import {
6
- FolderItem,
7
- type UiFolderNode,
8
- type UiNode,
9
- type BaseUiFolderNode,
10
- type BaseUiNode,
11
- } from "@powerhousedao/design-system";
12
- import { useState } from "react";
13
-
14
- interface FolderItemsGridProps {
15
- folders: UiFolderNode[];
16
- onSelectNode: (node: BaseUiFolderNode) => void;
17
- onRenameNode: (nodeId: string, name: string) => void;
18
- onDuplicateNode: (node: BaseUiFolderNode) => void;
19
- onDeleteNode: (nodeId: string) => void;
20
- onAddFile: (file: File, parentNode: BaseUiNode | null) => Promise<void>;
21
- onCopyNode: (uiNode: BaseUiNode, targetNode: BaseUiNode) => Promise<void>;
22
- onMoveNode: (uiNode: BaseUiNode, targetNode: BaseUiNode) => Promise<void>;
23
- isAllowedToCreateDocuments: boolean;
24
- onAddFolder: (name: string, parentFolder?: string) => void;
25
- parentFolderId?: string;
26
- }
27
-
28
- export function FolderItemsGrid({
29
- folders,
30
- onSelectNode,
31
- onRenameNode,
32
- onDuplicateNode,
33
- onDeleteNode,
34
- onAddFile,
35
- onCopyNode,
36
- onMoveNode,
37
- isAllowedToCreateDocuments,
38
- onAddFolder,
39
- parentFolderId,
40
- }: FolderItemsGridProps) {
41
- const [newFolderName, setNewFolderName] = useState("");
42
-
43
- const handleSubmit = (e: React.FormEvent) => {
44
- e.preventDefault();
45
- if (newFolderName.trim()) {
46
- onAddFolder(newFolderName.trim(), parentFolderId);
47
- setNewFolderName("");
48
- }
49
- };
50
-
51
- return (
52
- <div className="mb-6">
53
- <div className="flex items-center gap-4 mb-2">
54
- <h3 className="text-sm font-medium text-gray-500">Folders</h3>
55
-
56
- {/* New Folder Input */}
57
- <form onSubmit={handleSubmit} className="w-48">
58
- <div className="relative">
59
- <input
60
- type="text"
61
- value={newFolderName}
62
- onChange={(e) => setNewFolderName(e.target.value)}
63
- placeholder="Create new folder..."
64
- className="w-full px-3 py-1.5 pr-8 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
65
- />
66
- <button
67
- type="submit"
68
- className="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 focus:outline-none text-sm"
69
- >
70
- +
71
- </button>
72
- </div>
73
- </form>
74
- </div>
75
-
76
- {folders.length > 0 && (
77
- <div className="flex flex-wrap gap-2">
78
- {folders.map((folder) => (
79
- <FolderItem
80
- key={folder.id}
81
- uiNode={folder}
82
- onSelectNode={onSelectNode}
83
- onRenameNode={(name) => onRenameNode(folder.id, name)}
84
- onDuplicateNode={onDuplicateNode}
85
- onDeleteNode={() => onDeleteNode(folder.id)}
86
- onAddFile={onAddFile}
87
- onCopyNode={onCopyNode}
88
- onMoveNode={onMoveNode}
89
- isAllowedToCreateDocuments={isAllowedToCreateDocuments}
90
- />
91
- ))}
92
- </div>
93
- )}
94
- </div>
95
- );
96
- }
@@ -1,35 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/hooks/useSelectedFolderChildren.ts"
3
- unless_exists: true
4
- ---
5
- import { useMemo } from 'react';
6
- import type { UiFileNode, UiFolderNode } from '@powerhousedao/design-system';
7
-
8
- interface SelectedFolderChildren {
9
- folders: UiFolderNode[];
10
- files: UiFileNode[];
11
- }
12
-
13
- export function useSelectedFolderChildren(
14
- selectedNodeId: string | undefined,
15
- folders: UiFolderNode[],
16
- files: UiFileNode[]
17
- ): SelectedFolderChildren {
18
- return useMemo(() => {
19
- if (!selectedNodeId) {
20
- // Show root-level items when no folder is selected
21
- return {
22
- folders: folders.filter(f => !f.parentFolder),
23
- files: files.filter(f => !f.parentFolder)
24
- };
25
- }
26
-
27
- const selectedFolder = folders.find(f => f.id === selectedNodeId);
28
- if (!selectedFolder) return { folders: [], files: [] };
29
-
30
- return {
31
- folders: folders.filter(f => f.parentFolder === selectedFolder.id),
32
- files: files.filter(f => f.parentFolder === selectedFolder.id)
33
- };
34
- }, [selectedNodeId, folders, files]);
35
- }
@@ -1,35 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/hooks/useTransformedNodes.ts"
3
- unless_exists: true
4
- ---
5
- import { useMemo } from 'react';
6
- import type { Node, FileNode } from 'document-drive';
7
- import type { UiFileNode, UiFolderNode } from '@powerhousedao/design-system';
8
-
9
- export function useTransformedNodes(nodes: Node[], driveId: string) {
10
- return useMemo(() => {
11
- return nodes.map(node => {
12
- const isFolder = 'kind' in node && node.kind === 'folder';
13
-
14
- if (isFolder) {
15
- return {
16
- id: node.id,
17
- name: node.name,
18
- kind: 'FOLDER' as const,
19
- parentFolder: node.parentFolder || '',
20
- driveId,
21
- children: nodes.filter(n => n.parentFolder === node.id).map(n => n.id)
22
- };
23
- } else {
24
- return {
25
- id: node.id,
26
- name: node.name,
27
- kind: 'FILE' as const,
28
- parentFolder: node.parentFolder || '',
29
- driveId,
30
- documentType: (node as FileNode).documentType
31
- };
32
- }
33
- }).filter(Boolean) as (UiFileNode | UiFolderNode)[];
34
- }, [nodes, driveId]);
35
- }