@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.
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts +14 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +12 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +17 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +16 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +96 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +3 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +2 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +11 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +2 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +6 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +4 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +13 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +59 -50
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +38 -24
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +244 -181
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +53 -74
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +44 -26
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +22 -58
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts +16 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +2 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +12 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +2 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +2 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +7 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +3 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +6 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +0 -32
- package/dist/src/codegen/hygen.d.ts +6 -4
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +35 -8
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/codegen/index.d.ts +5 -3
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +72 -5
- package/dist/src/codegen/index.js.map +1 -1
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +8 -6
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +1 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +9 -7
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +3 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +85 -14
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +1 -1
- package/dist/tsconfig.hygen.tsbuildinfo +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +13 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
- 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-
|
|
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.
|
|
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-
|
|
38
|
-
"
|
|
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
|
-
"
|
|
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
|
-
}
|