@powerhousedao/codegen 5.1.0 → 5.2.0-dev.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/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +3 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +70 -4
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +9 -0
- package/dist/src/codegen/__tests__/config.d.ts +1 -0
- package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/config.js +1 -0
- package/dist/src/codegen/__tests__/config.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +115 -88
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +6 -3
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +10 -7
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +159 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js +2 -1
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
- package/dist/src/codegen/generate.d.ts +42 -6
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +212 -95
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/graphql.d.ts +20 -17
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +105 -78
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.d.ts +1 -8
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +9 -69
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/create-lib/create-project.d.ts +8 -27
- package/dist/src/create-lib/create-project.d.ts.map +1 -1
- package/dist/src/create-lib/create-project.js +79 -151
- package/dist/src/create-lib/create-project.js.map +1 -1
- package/dist/src/create-lib/utils.d.ts +1 -0
- package/dist/src/create-lib/utils.d.ts.map +1 -1
- package/dist/src/create-lib/utils.js +6 -0
- package/dist/src/create-lib/utils.js.map +1 -1
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts +2 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.js +28 -0
- package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +1 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +2 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js +34 -0
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +1 -0
- package/dist/src/file-builders/boilerplate/package.json.d.ts +6 -0
- package/dist/src/file-builders/boilerplate/package.json.d.ts.map +1 -0
- package/dist/src/file-builders/boilerplate/package.json.js +18 -0
- package/dist/src/file-builders/boilerplate/package.json.js.map +1 -0
- package/dist/src/file-builders/document-editor.d.ts +8 -0
- package/dist/src/file-builders/document-editor.d.ts.map +1 -0
- package/dist/src/file-builders/document-editor.js +57 -0
- package/dist/src/file-builders/document-editor.js.map +1 -0
- package/dist/src/file-builders/document-model/document-model.d.ts +8 -0
- package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/document-model.js +234 -0
- package/dist/src/file-builders/document-model/document-model.js.map +1 -0
- package/dist/src/file-builders/document-model/gen-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/gen-dir.js +201 -0
- package/dist/src/file-builders/document-model/gen-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/root-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/root-dir.js +51 -0
- package/dist/src/file-builders/document-model/root-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/src-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/src-dir.js +118 -0
- package/dist/src/file-builders/document-model/src-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/tests-dir.d.ts +3 -0
- package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/tests-dir.js +127 -0
- package/dist/src/file-builders/document-model/tests-dir.js.map +1 -0
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts +31 -0
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
- package/dist/src/file-builders/document-model/upgrades-dir.js +135 -0
- package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -0
- package/dist/src/file-builders/drive-editor.d.ts +9 -0
- package/dist/src/file-builders/drive-editor.d.ts.map +1 -0
- package/dist/src/file-builders/drive-editor.js +164 -0
- package/dist/src/file-builders/drive-editor.js.map +1 -0
- package/dist/src/file-builders/editor-common.d.ts +13 -0
- package/dist/src/file-builders/editor-common.d.ts.map +1 -0
- package/dist/src/file-builders/editor-common.js +26 -0
- package/dist/src/file-builders/editor-common.js.map +1 -0
- package/dist/src/file-builders/index-files.d.ts +18 -0
- package/dist/src/file-builders/index-files.d.ts.map +1 -0
- package/dist/src/file-builders/index-files.js +25 -0
- package/dist/src/file-builders/index-files.js.map +1 -0
- package/dist/src/file-builders/index.d.ts +10 -0
- package/dist/src/file-builders/index.d.ts.map +1 -0
- package/dist/src/file-builders/index.js +9 -0
- package/dist/src/file-builders/index.js.map +1 -0
- package/dist/src/file-builders/module-files.d.ts +32 -0
- package/dist/src/file-builders/module-files.d.ts.map +1 -0
- package/dist/src/file-builders/module-files.js +132 -0
- package/dist/src/file-builders/module-files.js.map +1 -0
- package/dist/src/file-builders/subgraphs.d.ts +6 -0
- package/dist/src/file-builders/subgraphs.d.ts.map +1 -0
- package/dist/src/file-builders/subgraphs.js +53 -0
- package/dist/src/file-builders/subgraphs.js.map +1 -0
- package/dist/src/file-builders/types.d.ts +66 -0
- package/dist/src/file-builders/types.d.ts.map +1 -0
- package/dist/src/file-builders/types.js +2 -0
- package/dist/src/file-builders/types.js.map +1 -0
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/name-builders/get-action-names.d.ts +6 -0
- package/dist/src/name-builders/get-action-names.d.ts.map +1 -0
- package/dist/src/name-builders/get-action-names.js +16 -0
- package/dist/src/name-builders/get-action-names.js.map +1 -0
- package/dist/src/name-builders/get-variable-names.d.ts +48 -0
- package/dist/src/name-builders/get-variable-names.d.ts.map +1 -0
- package/dist/src/name-builders/get-variable-names.js +147 -0
- package/dist/src/name-builders/get-variable-names.js.map +1 -0
- package/dist/src/name-builders/index.d.ts +3 -0
- package/dist/src/name-builders/index.d.ts.map +1 -0
- package/dist/src/name-builders/index.js +3 -0
- package/dist/src/name-builders/index.js.map +1 -0
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/AGENTS.md.js +408 -0
- package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.js +408 -0
- package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -0
- package/dist/src/templates/boilerplate/LICENSE.d.ts +2 -0
- package/dist/src/templates/boilerplate/LICENSE.d.ts.map +1 -0
- package/{LICENSE → dist/src/templates/boilerplate/LICENSE.js} +4 -1
- package/dist/src/templates/boilerplate/LICENSE.js.map +1 -0
- package/dist/src/templates/boilerplate/README.md.d.ts +2 -0
- package/dist/src/templates/boilerplate/README.md.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/README.md.js +194 -0
- package/dist/src/templates/boilerplate/README.md.js.map +1 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.js +18 -0
- package/dist/src/templates/boilerplate/claude/settings.local.json.js.map +1 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.js +12 -0
- package/dist/src/templates/boilerplate/cursor/mcp.json.js.map +1 -0
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts +2 -0
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/document-models/document-models.js +7 -0
- package/dist/src/templates/boilerplate/document-models/document-models.js.map +1 -0
- package/dist/src/templates/boilerplate/document-models/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/document-models/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/document-models/index.js +2 -0
- package/dist/src/templates/boilerplate/document-models/index.js.map +1 -0
- package/dist/src/templates/boilerplate/editors/editors.d.ts +2 -0
- package/dist/src/templates/boilerplate/editors/editors.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/editors/editors.js +7 -0
- package/dist/src/templates/boilerplate/editors/editors.js.map +1 -0
- package/dist/src/templates/boilerplate/editors/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/editors/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/editors/index.js +2 -0
- package/dist/src/templates/boilerplate/editors/index.js.map +1 -0
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts +2 -0
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/eslint.config.js.js +140 -0
- package/dist/src/templates/boilerplate/eslint.config.js.js.map +1 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.js +12 -0
- package/dist/src/templates/boilerplate/gemini/settings.json.js.map +1 -0
- package/dist/src/templates/boilerplate/gitignore.d.ts +2 -0
- package/dist/src/templates/boilerplate/gitignore.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/gitignore.js +11 -0
- package/dist/src/templates/boilerplate/gitignore.js.map +1 -0
- package/dist/src/templates/boilerplate/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.html.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.js +33 -0
- package/dist/src/templates/boilerplate/index.html.js.map +1 -0
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts +2 -0
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/index.html.legacy.js +36 -0
- package/dist/src/templates/boilerplate/index.html.legacy.js.map +1 -0
- package/dist/src/templates/boilerplate/index.js +9 -0
- package/dist/src/templates/boilerplate/index.js.map +1 -0
- package/dist/src/templates/boilerplate/mcp.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/mcp.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/mcp.json.js +12 -0
- package/dist/src/templates/boilerplate/mcp.json.js.map +1 -0
- package/dist/src/templates/boilerplate/npmrc.d.ts +2 -0
- package/dist/src/templates/boilerplate/npmrc.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/npmrc.js +2 -0
- package/dist/src/templates/boilerplate/npmrc.js.map +1 -0
- package/dist/src/templates/boilerplate/package.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/package.json.js +115 -0
- package/dist/src/templates/boilerplate/package.json.js.map +1 -0
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts +55 -0
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/package.json.legacy.js +55 -0
- package/dist/src/templates/boilerplate/package.json.legacy.js.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts +6 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.js +46 -0
- package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js +19 -0
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js.map +1 -0
- package/dist/src/templates/boilerplate/processors/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/processors/index.js +2 -0
- package/dist/src/templates/boilerplate/processors/index.js.map +1 -0
- package/dist/src/templates/boilerplate/style.css.d.ts +2 -0
- package/dist/src/templates/boilerplate/style.css.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/style.css.js +17 -0
- package/dist/src/templates/boilerplate/style.css.js.map +1 -0
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts +2 -0
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/subgraphs/index.js +2 -0
- package/dist/src/templates/boilerplate/subgraphs/index.js.map +1 -0
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts +2 -0
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/tsconfig.json.js +46 -0
- package/dist/src/templates/boilerplate/tsconfig.json.js.map +1 -0
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts +2 -0
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/vite.config.ts.js +21 -0
- package/dist/src/templates/boilerplate/vite.config.ts.js.map +1 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts +2 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts.map +1 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.js +21 -0
- package/dist/src/templates/boilerplate/vitest.config.ts.js.map +1 -0
- package/dist/src/templates/document-editor/editor.d.ts +5 -0
- package/dist/src/templates/document-editor/editor.d.ts.map +1 -0
- package/dist/src/templates/document-editor/editor.js +78 -0
- package/dist/src/templates/document-editor/editor.js.map +1 -0
- package/dist/src/templates/document-editor/module.d.ts +7 -0
- package/dist/src/templates/document-editor/module.d.ts.map +1 -0
- package/dist/src/templates/document-editor/module.js +16 -0
- package/dist/src/templates/document-editor/module.js.map +1 -0
- package/dist/src/templates/document-model/actions.d.ts +3 -0
- package/dist/src/templates/document-model/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/actions.js +28 -0
- package/dist/src/templates/document-model/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/actions.d.ts +3 -0
- package/dist/src/templates/document-model/gen/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/actions.js +40 -0
- package/dist/src/templates/document-model/gen/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/creators.d.ts +3 -0
- package/dist/src/templates/document-model/gen/creators.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/creators.js +16 -0
- package/dist/src/templates/document-model/gen/creators.js.map +1 -0
- package/dist/src/templates/document-model/gen/document-schema.d.ts +3 -0
- package/dist/src/templates/document-model/gen/document-schema.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/document-schema.js +56 -0
- package/dist/src/templates/document-model/gen/document-schema.js.map +1 -0
- package/dist/src/templates/document-model/gen/document-type.d.ts +3 -0
- package/dist/src/templates/document-model/gen/document-type.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/document-type.js +5 -0
- package/dist/src/templates/document-model/gen/document-type.js.map +1 -0
- package/dist/src/templates/document-model/gen/index.d.ts +3 -0
- package/dist/src/templates/document-model/gen/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/index.js +29 -0
- package/dist/src/templates/document-model/gen/index.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/actions.d.ts +8 -0
- package/dist/src/templates/document-model/gen/modules/actions.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/actions.js +39 -0
- package/dist/src/templates/document-model/gen/modules/actions.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/creators.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/creators.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/creators.js +97 -0
- package/dist/src/templates/document-model/gen/modules/creators.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/error.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/error.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/error.js +73 -0
- package/dist/src/templates/document-model/gen/modules/error.js.map +1 -0
- package/dist/src/templates/document-model/gen/modules/operations.d.ts +3 -0
- package/dist/src/templates/document-model/gen/modules/operations.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/modules/operations.js +61 -0
- package/dist/src/templates/document-model/gen/modules/operations.js.map +1 -0
- package/dist/src/templates/document-model/gen/ph-factories.d.ts +3 -0
- package/dist/src/templates/document-model/gen/ph-factories.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/ph-factories.js +93 -0
- package/dist/src/templates/document-model/gen/ph-factories.js.map +1 -0
- package/dist/src/templates/document-model/gen/reducer.d.ts +3 -0
- package/dist/src/templates/document-model/gen/reducer.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/reducer.js +106 -0
- package/dist/src/templates/document-model/gen/reducer.js.map +1 -0
- package/dist/src/templates/document-model/gen/schema/index.d.ts +2 -0
- package/dist/src/templates/document-model/gen/schema/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/schema/index.js +6 -0
- package/dist/src/templates/document-model/gen/schema/index.js.map +1 -0
- package/dist/src/templates/document-model/gen/types.d.ts +3 -0
- package/dist/src/templates/document-model/gen/types.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/types.js +38 -0
- package/dist/src/templates/document-model/gen/types.js.map +1 -0
- package/dist/src/templates/document-model/gen/utils.d.ts +3 -0
- package/dist/src/templates/document-model/gen/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/gen/utils.js +77 -0
- package/dist/src/templates/document-model/gen/utils.js.map +1 -0
- package/dist/src/templates/document-model/hooks.d.ts +3 -0
- package/dist/src/templates/document-model/hooks.d.ts.map +1 -0
- package/dist/src/templates/document-model/hooks.js +52 -0
- package/dist/src/templates/document-model/hooks.js.map +1 -0
- package/dist/src/templates/document-model/index.d.ts +2 -0
- package/dist/src/templates/document-model/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/index.js +9 -0
- package/dist/src/templates/document-model/index.js.map +1 -0
- package/dist/src/templates/document-model/module.d.ts +9 -0
- package/dist/src/templates/document-model/module.d.ts.map +1 -0
- package/dist/src/templates/document-model/module.js +26 -0
- package/dist/src/templates/document-model/module.js.map +1 -0
- package/dist/src/templates/document-model/src/index.d.ts +2 -0
- package/dist/src/templates/document-model/src/index.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/index.js +5 -0
- package/dist/src/templates/document-model/src/index.js.map +1 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts +3 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.js +121 -0
- package/dist/src/templates/document-model/src/tests/document-model.test.js.map +1 -0
- package/dist/src/templates/document-model/src/tests/module.test.d.ts +6 -0
- package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/tests/module.test.js +87 -0
- package/dist/src/templates/document-model/src/tests/module.test.js.map +1 -0
- package/dist/src/templates/document-model/src/utils.d.ts +2 -0
- package/dist/src/templates/document-model/src/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/src/utils.js +5 -0
- package/dist/src/templates/document-model/src/utils.js.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js +22 -0
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
- package/dist/src/templates/document-model/utils.d.ts +3 -0
- package/dist/src/templates/document-model/utils.d.ts.map +1 -0
- package/dist/src/templates/document-model/utils.js +11 -0
- package/dist/src/templates/document-model/utils.js.map +1 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.js +58 -0
- package/dist/src/templates/drive-editor/components/CreateDocument.js.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveContents.js +24 -0
- package/dist/src/templates/drive-editor/components/DriveContents.js.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.js +32 -0
- package/dist/src/templates/drive-editor/components/DriveExplorer.js.map +1 -0
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/EmptyState.js +19 -0
- package/dist/src/templates/drive-editor/components/EmptyState.js.map +1 -0
- package/dist/src/templates/drive-editor/components/Files.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/Files.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/Files.js +30 -0
- package/dist/src/templates/drive-editor/components/Files.js.map +1 -0
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/FolderTree.js +108 -0
- package/dist/src/templates/drive-editor/components/FolderTree.js.map +1 -0
- package/dist/src/templates/drive-editor/components/Folders.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/Folders.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/Folders.js +28 -0
- package/dist/src/templates/drive-editor/components/Folders.js.map +1 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts +2 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js +14 -0
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js.map +1 -0
- package/dist/src/templates/drive-editor/config.d.ts +5 -0
- package/dist/src/templates/drive-editor/config.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/config.js +11 -0
- package/dist/src/templates/drive-editor/config.js.map +1 -0
- package/dist/src/templates/drive-editor/editor.d.ts +2 -0
- package/dist/src/templates/drive-editor/editor.d.ts.map +1 -0
- package/dist/src/templates/drive-editor/editor.js +18 -0
- package/dist/src/templates/drive-editor/editor.js.map +1 -0
- package/dist/src/templates/index.d.ts +65 -0
- package/dist/src/templates/index.d.ts.map +1 -0
- package/dist/src/templates/index.js +65 -0
- package/dist/src/templates/index.js.map +1 -0
- package/dist/src/utils/constants.d.ts +13 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/constants.js +29 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/dependencies.d.ts +12 -0
- package/dist/src/utils/dependencies.d.ts.map +1 -0
- package/dist/src/utils/dependencies.js +34 -0
- package/dist/src/utils/dependencies.js.map +1 -0
- package/dist/src/utils/document-type-metadata.d.ts +15 -0
- package/dist/src/utils/document-type-metadata.d.ts.map +1 -0
- package/dist/src/utils/document-type-metadata.js +67 -0
- package/dist/src/utils/document-type-metadata.js.map +1 -0
- package/dist/src/utils/format-with-prettier.d.ts +5 -0
- package/dist/src/utils/format-with-prettier.d.ts.map +1 -0
- package/dist/src/utils/format-with-prettier.js +20 -0
- package/dist/src/utils/format-with-prettier.js.map +1 -0
- package/dist/src/utils/index.d.ts +10 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +10 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/mock.d.ts +2 -3
- package/dist/src/utils/mock.d.ts.map +1 -1
- package/dist/src/utils/mock.js +4 -4
- package/dist/src/utils/mock.js.map +1 -1
- package/dist/src/utils/source-files.d.ts +18 -0
- package/dist/src/utils/source-files.d.ts.map +1 -0
- package/dist/src/utils/source-files.js +39 -0
- package/dist/src/utils/source-files.js.map +1 -0
- package/dist/src/utils/spawn-async.d.ts +5 -0
- package/dist/src/utils/spawn-async.d.ts.map +1 -0
- package/dist/src/utils/spawn-async.js +29 -0
- package/dist/src/utils/spawn-async.js.map +1 -0
- package/dist/src/utils/syntax-builders.d.ts +8 -0
- package/dist/src/utils/syntax-builders.d.ts.map +1 -0
- package/dist/src/utils/syntax-builders.js +72 -0
- package/dist/src/utils/syntax-builders.js.map +1 -0
- package/dist/src/utils/syntax-getters.d.ts +9 -0
- package/dist/src/utils/syntax-getters.d.ts.map +1 -0
- package/dist/src/utils/syntax-getters.js +20 -0
- package/dist/src/utils/syntax-getters.js.map +1 -0
- package/dist/src/utils/ts-morph-project.d.ts +15 -0
- package/dist/src/utils/ts-morph-project.d.ts.map +1 -0
- package/dist/src/utils/ts-morph-project.js +28 -0
- package/dist/src/utils/ts-morph-project.js.map +1 -0
- package/dist/src/utils/unsafe-utils.d.ts +8 -0
- package/dist/src/utils/unsafe-utils.d.ts.map +1 -0
- package/dist/src/utils/unsafe-utils.js +23 -0
- package/dist/src/utils/unsafe-utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +4 -1
- package/dist/vitest.config.js.map +1 -1
- package/package.json +44 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/edit-name.esm.t +0 -78
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
- package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
- package/dist/src/ts-morph-utils.d.ts +0 -48
- package/dist/src/ts-morph-utils.d.ts.map +0 -1
- package/dist/src/ts-morph-utils.js +0 -207
- package/dist/src/ts-morph-utils.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from "./src/codegen/index.js";
|
|
2
2
|
export * from "./src/create-lib/index.js";
|
|
3
|
+
export type * from "./src/file-builders/types.js";
|
|
3
4
|
export * from "./src/ts-morph-generator/index.js";
|
|
4
|
-
export * from "./src/utils/
|
|
5
|
+
export * from "./src/utils/cli.js";
|
|
6
|
+
export * from "./src/utils/mock.js";
|
|
7
|
+
export * from "./src/utils/validation.js";
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,8BAA8B,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from "./src/codegen/index.js";
|
|
2
2
|
export * from "./src/create-lib/index.js";
|
|
3
3
|
export * from "./src/ts-morph-generator/index.js";
|
|
4
|
-
export * from "./src/utils/
|
|
4
|
+
export * from "./src/utils/cli.js";
|
|
5
|
+
export * from "./src/utils/mock.js";
|
|
6
|
+
export * from "./src/utils/validation.js";
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t
CHANGED
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
} from './actions.js';
|
|
21
21
|
|
|
22
22
|
<% actions.filter(a => a.hasInput).forEach(action => { _%>
|
|
23
|
-
export const <%= h.changeCase.camel(action.name) %> = (input
|
|
23
|
+
export const <%= h.changeCase.camel(action.name) %> = (input<% if(action.isEmptyInput) { %>: <%= h.changeCase.pascal(action.name) %>Input = {}<% } else { %>: <%= h.changeCase.pascal(action.name) %>Input<% } %><%if(action.hasAttachment){ %>, attachments: AttachmentInput[] <% } %>) =>
|
|
24
24
|
createAction<<%= h.changeCase.pascal(action.name) %>Action>(
|
|
25
25
|
'<%= h.changeCase.constantCase(action.name) %>',
|
|
26
26
|
{...input},
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t
CHANGED
|
@@ -5,7 +5,7 @@ force: true
|
|
|
5
5
|
<% if (errors.length > 0) { _%>
|
|
6
6
|
export type ErrorCode =
|
|
7
7
|
<% errors.forEach((error, errorIndex) => { _%>
|
|
8
|
-
|
|
|
8
|
+
| "<%= h.changeCase.pascal(error.name) %>"<% if (errorIndex === errors.length - 1) { %>;<% } %>
|
|
9
9
|
<% }); _%>
|
|
10
10
|
|
|
11
11
|
export interface ReducerError {
|
|
@@ -14,8 +14,8 @@ export interface ReducerError {
|
|
|
14
14
|
|
|
15
15
|
<% errors.forEach(error => { _%>
|
|
16
16
|
export class <%= h.changeCase.pascal(error.name) %> extends Error implements ReducerError {
|
|
17
|
-
errorCode =
|
|
18
|
-
constructor(message =
|
|
17
|
+
errorCode = "<%= h.changeCase.pascal(error.name) %>" as ErrorCode;
|
|
18
|
+
constructor(message = "<%= h.changeCase.pascal(error.name) %>") {
|
|
19
19
|
super(message);
|
|
20
20
|
}
|
|
21
21
|
}
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js
CHANGED
|
@@ -15,6 +15,9 @@ module.exports = {
|
|
|
15
15
|
? filteredModules[0].operations.map((a) => ({
|
|
16
16
|
name: a.name,
|
|
17
17
|
hasInput: a.schema !== null,
|
|
18
|
+
isEmptyInput:
|
|
19
|
+
a.schema?.includes("_empty") &&
|
|
20
|
+
!a.schema.replace(/_empty:\s*Boolean/, "").match(/\w+:\s*\w+/),
|
|
18
21
|
hasAttachment: a.schema?.includes(": Attachment"),
|
|
19
22
|
scope: a.scope || "global",
|
|
20
23
|
state: a.scope === "global" ? "" : a.scope, // the state this action affects
|
|
@@ -2,13 +2,79 @@
|
|
|
2
2
|
to: "<%= editorDir %>/editor.tsx"
|
|
3
3
|
unless_exists: true
|
|
4
4
|
---
|
|
5
|
-
import {
|
|
5
|
+
import { DocumentToolbar } from "@powerhousedao/design-system/connect";
|
|
6
|
+
import { setName } from "document-model";
|
|
7
|
+
import { type FormEvent, useState } from "react";
|
|
8
|
+
<% if(!documentType){ %>import { useSelectedDocument } from "@powerhousedao/reactor-browser";<% } else { %>import { <%= useSelectedHookName %> } from "<%= documentModelDir %>";<% } %>
|
|
6
9
|
|
|
7
|
-
/** Implement your editor behavior here */
|
|
8
10
|
export default function Editor() {
|
|
11
|
+
const [document, dispatch] = <%= useSelectedHookName %>();
|
|
12
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
13
|
+
|
|
14
|
+
if (!document) return null;
|
|
15
|
+
|
|
16
|
+
const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
const form = event.currentTarget;
|
|
19
|
+
const nameInput = form.elements.namedItem("name") as HTMLInputElement;
|
|
20
|
+
const name = nameInput.value.trim();
|
|
21
|
+
if (!name) return;
|
|
22
|
+
dispatch(setName(name));
|
|
23
|
+
setIsEditing(false);
|
|
24
|
+
};
|
|
25
|
+
|
|
9
26
|
return (
|
|
10
|
-
<div className="
|
|
11
|
-
|
|
27
|
+
<div className="min-h-screen bg-gray-50">
|
|
28
|
+
<DocumentToolbar />
|
|
29
|
+
<div className="ph-default-styles">
|
|
30
|
+
<div className="flex justify-center px-4 py-8">
|
|
31
|
+
<div className="w-full max-w-md rounded-xl bg-white p-6 shadow-sm">
|
|
32
|
+
<div className="mb-4 text-xs font-medium uppercase tracking-wide text-gray-400">
|
|
33
|
+
<%= pascalCaseDocumentType %>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
{isEditing ? (
|
|
37
|
+
<form onSubmit={handleSubmit} className="space-y-4">
|
|
38
|
+
<input
|
|
39
|
+
type="text"
|
|
40
|
+
name="name"
|
|
41
|
+
defaultValue={document.header.name}
|
|
42
|
+
autoFocus
|
|
43
|
+
className="w-full rounded-lg border border-gray-200 px-4 py-3 text-lg font-semibold text-gray-900 outline-none transition-colors focus:border-blue-500 focus:ring-2 focus:ring-blue-100"
|
|
44
|
+
placeholder="Enter name..."
|
|
45
|
+
/>
|
|
46
|
+
<div className="flex gap-2">
|
|
47
|
+
<button
|
|
48
|
+
type="submit"
|
|
49
|
+
className="flex-1 rounded-lg bg-blue-600 px-4 py-2.5 text-sm font-medium text-white transition-colors hover:bg-blue-700"
|
|
50
|
+
>
|
|
51
|
+
Save
|
|
52
|
+
</button>
|
|
53
|
+
<button
|
|
54
|
+
type="button"
|
|
55
|
+
onClick={() => setIsEditing(false)}
|
|
56
|
+
className="flex-1 rounded-lg border border-gray-200 px-4 py-2.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50"
|
|
57
|
+
>
|
|
58
|
+
Cancel
|
|
59
|
+
</button>
|
|
60
|
+
</div>
|
|
61
|
+
</form>
|
|
62
|
+
) : (
|
|
63
|
+
<div className="flex items-center justify-between gap-4">
|
|
64
|
+
<h2 className="truncate text-xl font-semibold text-gray-900">
|
|
65
|
+
{document.header.name || "Untitled"}
|
|
66
|
+
</h2>
|
|
67
|
+
<button
|
|
68
|
+
onClick={() => setIsEditing(true)}
|
|
69
|
+
className="shrink-0 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200"
|
|
70
|
+
>
|
|
71
|
+
Edit
|
|
72
|
+
</button>
|
|
73
|
+
</div>
|
|
74
|
+
)}
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
12
78
|
</div>
|
|
13
79
|
);
|
|
14
80
|
}
|
|
@@ -54,9 +54,7 @@ module.exports = {
|
|
|
54
54
|
const useInSelectedFolderHookName = documentType
|
|
55
55
|
? `use${phDocumentTypeName}sInSelectedFolder`
|
|
56
56
|
: "useDocumentsInSelectedFolder";
|
|
57
|
-
const editNameComponentName =
|
|
58
|
-
? `Edit${pascalCaseDocumentType}Name`
|
|
59
|
-
: "EditDocumentName";
|
|
57
|
+
const editNameComponentName = "EditName"
|
|
60
58
|
|
|
61
59
|
return {
|
|
62
60
|
rootDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,SAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,SAA0C,CAAC;AACxE,eAAO,MAAM,YAAY,SAAuC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { generateSchemas, hygenGenerateDocumentModel, hygenGenerateProcessor, loadDocumentModel, } from "@powerhousedao/codegen";
|
|
2
1
|
import { readFileSync, rmSync } from "node:fs";
|
|
3
2
|
import path from "node:path";
|
|
4
3
|
import { afterAll, beforeAll, beforeEach, describe, expect, it, } from "vitest";
|
|
4
|
+
import { generateDocumentModel } from "../generate.js";
|
|
5
|
+
import { hygenGenerateProcessor } from "../hygen.js";
|
|
6
|
+
import { loadDocumentModel } from "../utils.js";
|
|
7
|
+
import { USE_TS_MORPH } from "./config.js";
|
|
5
8
|
import { DOCUMENT_MODELS_TEST_PROJECT, GENERATE_DOC_MODEL_TEST_OUTPUT_DIR, TEST_PACKAGE_NAME, } from "./constants.js";
|
|
6
9
|
import { runGeneratedTests } from "./fixtures/run-generated-tests.js";
|
|
7
10
|
import { compile } from "./fixtures/typecheck.js";
|
|
@@ -14,9 +17,9 @@ describe("document model", () => {
|
|
|
14
17
|
const documentModelsSrcPath = path.join(testDir, "data", "document-models");
|
|
15
18
|
let documentModelsDirName = path.join(testOutDirPath, "document-models");
|
|
16
19
|
let processorsDirName = path.join(testOutDirPath, "processors");
|
|
17
|
-
async function setupTest(context) {
|
|
20
|
+
async function setupTest(context, dataDir = testDataDir) {
|
|
18
21
|
testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
|
|
19
|
-
await copyAllFiles(
|
|
22
|
+
await copyAllFiles(dataDir, testOutDirPath);
|
|
20
23
|
documentModelsDirName = path.join(testOutDirPath, "document-models");
|
|
21
24
|
processorsDirName = path.join(testOutDirPath, "processors");
|
|
22
25
|
}
|
|
@@ -30,73 +33,46 @@ describe("document model", () => {
|
|
|
30
33
|
purgeDirAfterTest(outDirName);
|
|
31
34
|
});
|
|
32
35
|
const generate = async () => {
|
|
33
|
-
await
|
|
36
|
+
const billingStatementDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "billing-statement", "billing-statement.json"));
|
|
37
|
+
await generateDocumentModel({
|
|
38
|
+
dir: documentModelsDirName,
|
|
39
|
+
specifiedPackageName: TEST_PACKAGE_NAME,
|
|
40
|
+
documentModelState: billingStatementDocumentModel,
|
|
41
|
+
useTsMorph: USE_TS_MORPH,
|
|
42
|
+
useVersioning: false,
|
|
34
43
|
skipFormat: true,
|
|
35
|
-
outDir: documentModelsDirName,
|
|
36
44
|
});
|
|
37
|
-
const billingStatementDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "billing-statement", "billing-statement.json"));
|
|
38
|
-
await hygenGenerateDocumentModel(billingStatementDocumentModel, documentModelsDirName, TEST_PACKAGE_NAME, { skipFormat: true });
|
|
39
45
|
const testDocDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "test-doc", "test-doc.json"));
|
|
40
|
-
await
|
|
46
|
+
await generateDocumentModel({
|
|
47
|
+
useTsMorph: USE_TS_MORPH,
|
|
48
|
+
useVersioning: false,
|
|
49
|
+
dir: documentModelsDirName,
|
|
50
|
+
specifiedPackageName: TEST_PACKAGE_NAME,
|
|
51
|
+
documentModelState: testDocDocumentModel,
|
|
52
|
+
skipFormat: true,
|
|
53
|
+
});
|
|
41
54
|
};
|
|
42
55
|
it("should generate a document model", {
|
|
43
56
|
timeout: 100000,
|
|
44
|
-
}, async () => {
|
|
57
|
+
}, async (context) => {
|
|
58
|
+
await setupTest(context);
|
|
45
59
|
await generate();
|
|
46
60
|
await compile(testOutDirPath);
|
|
47
61
|
await runGeneratedTests(testOutDirPath);
|
|
48
62
|
});
|
|
49
|
-
it("should generate
|
|
63
|
+
it("should generate a document model when previous document models exist", {
|
|
50
64
|
timeout: 100000,
|
|
51
|
-
}, async () => {
|
|
65
|
+
}, async (context) => {
|
|
66
|
+
const dataDirOverride = getTestDataDir(testDir, "document-models-test-project-with-existing-document-models");
|
|
67
|
+
await setupTest(context, dataDirOverride);
|
|
52
68
|
await generate();
|
|
53
|
-
await hygenGenerateProcessor("test-analytics-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
54
|
-
skipFormat: true,
|
|
55
|
-
});
|
|
56
|
-
await compile(testOutDirPath);
|
|
57
|
-
});
|
|
58
|
-
it("should generate multiple analytics processors with composable factories", {
|
|
59
|
-
timeout: 100000,
|
|
60
|
-
}, async () => {
|
|
61
|
-
await generate();
|
|
62
|
-
await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
63
|
-
skipFormat: true,
|
|
64
|
-
});
|
|
65
|
-
await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
66
|
-
skipFormat: true,
|
|
67
|
-
});
|
|
68
|
-
await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
69
|
-
skipFormat: true,
|
|
70
|
-
});
|
|
71
|
-
await compile(testOutDirPath);
|
|
72
|
-
});
|
|
73
|
-
it("should generate a relational db processor and factory", {
|
|
74
|
-
timeout: 100000,
|
|
75
|
-
}, async () => {
|
|
76
|
-
await generate();
|
|
77
|
-
await hygenGenerateProcessor("test-relational-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
78
|
-
skipFormat: true,
|
|
79
|
-
});
|
|
80
|
-
await compile(testOutDirPath);
|
|
81
|
-
});
|
|
82
|
-
it("should generate multiple relational db processors with composable factories", {
|
|
83
|
-
timeout: 100000,
|
|
84
|
-
}, async () => {
|
|
85
|
-
await generate();
|
|
86
|
-
await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
87
|
-
skipFormat: true,
|
|
88
|
-
});
|
|
89
|
-
await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
90
|
-
skipFormat: true,
|
|
91
|
-
});
|
|
92
|
-
await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
93
|
-
skipFormat: true,
|
|
94
|
-
});
|
|
95
69
|
await compile(testOutDirPath);
|
|
70
|
+
await runGeneratedTests(testOutDirPath);
|
|
96
71
|
});
|
|
97
72
|
it("should create the document-models.ts file if it does not exist", {
|
|
98
73
|
timeout: 100000,
|
|
99
|
-
}, async () => {
|
|
74
|
+
}, async (context) => {
|
|
75
|
+
await setupTest(context);
|
|
100
76
|
const documentModelsFilePath = path.join(documentModelsDirName, "document-models.ts");
|
|
101
77
|
rmSync(documentModelsFilePath, { force: true });
|
|
102
78
|
await generate();
|
|
@@ -112,7 +88,8 @@ describe("document model", () => {
|
|
|
112
88
|
});
|
|
113
89
|
it("should generate multiple document models and export both in document-models.ts", {
|
|
114
90
|
timeout: 100000,
|
|
115
|
-
}, async () => {
|
|
91
|
+
}, async (context) => {
|
|
92
|
+
await setupTest(context);
|
|
116
93
|
await generate();
|
|
117
94
|
await compile(testOutDirPath);
|
|
118
95
|
const documentModelsFilePath = path.join(documentModelsDirName, "document-models.ts");
|
|
@@ -125,14 +102,22 @@ describe("document model", () => {
|
|
|
125
102
|
expect(documentModelsContent).toContain("TestDoc");
|
|
126
103
|
expect(documentModelsContent).toContain("]");
|
|
127
104
|
});
|
|
128
|
-
it("should generate an updated version of test-doc", { timeout: 100000 }, async () => {
|
|
105
|
+
it("should generate an updated version of test-doc", { timeout: 100000 }, async (context) => {
|
|
106
|
+
await setupTest(context);
|
|
129
107
|
await generate();
|
|
130
108
|
await compile(testOutDirPath);
|
|
131
109
|
const testDocDocumentModelV2 = await loadDocumentModel(path.join(documentModelsSrcPath, "..", "test-doc-versions", "test-doc-v2", "test-doc.json"));
|
|
132
110
|
// TODO: this is a hack to get the test to pass, we should be able to update the reducer file once is generated
|
|
133
111
|
// remove .out/document-model/test-doc/src/reducers/base-operations.ts file
|
|
134
112
|
rmSync(path.join(documentModelsDirName, "test-doc", "src", "reducers", "base-operations.ts"), { force: true });
|
|
135
|
-
await
|
|
113
|
+
await generateDocumentModel({
|
|
114
|
+
useTsMorph: USE_TS_MORPH,
|
|
115
|
+
useVersioning: false,
|
|
116
|
+
dir: documentModelsDirName,
|
|
117
|
+
specifiedPackageName: TEST_PACKAGE_NAME,
|
|
118
|
+
documentModelState: testDocDocumentModelV2,
|
|
119
|
+
skipFormat: true,
|
|
120
|
+
});
|
|
136
121
|
// expect .out/document-model/test-doc/src/reducers/base-operations.ts to contain setTestIdOperation, setTestNameOperation, setTestDescriptionOperation and setTestValueOperation
|
|
137
122
|
const baseOperationsPath = path.join(documentModelsDirName, "test-doc", "src", "reducers", "base-operations.ts");
|
|
138
123
|
const baseOperationsContent = readFileSync(baseOperationsPath, "utf-8");
|
|
@@ -141,7 +126,60 @@ describe("document model", () => {
|
|
|
141
126
|
expect(baseOperationsContent).toContain("setTestDescriptionOperation");
|
|
142
127
|
expect(baseOperationsContent).toContain("setTestValueOperation");
|
|
143
128
|
});
|
|
144
|
-
it("should generate
|
|
129
|
+
it("should generate an analytics processor and factory", {
|
|
130
|
+
timeout: 100000,
|
|
131
|
+
}, async (context) => {
|
|
132
|
+
await setupTest(context);
|
|
133
|
+
await generate();
|
|
134
|
+
await hygenGenerateProcessor("test-analytics-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
135
|
+
skipFormat: true,
|
|
136
|
+
});
|
|
137
|
+
await compile(testOutDirPath);
|
|
138
|
+
});
|
|
139
|
+
it("should generate multiple analytics processors with composable factories", {
|
|
140
|
+
timeout: 100000,
|
|
141
|
+
}, async (context) => {
|
|
142
|
+
await setupTest(context);
|
|
143
|
+
await generate();
|
|
144
|
+
await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
145
|
+
skipFormat: true,
|
|
146
|
+
});
|
|
147
|
+
await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
148
|
+
skipFormat: true,
|
|
149
|
+
});
|
|
150
|
+
await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "analytics", {
|
|
151
|
+
skipFormat: true,
|
|
152
|
+
});
|
|
153
|
+
await compile(testOutDirPath);
|
|
154
|
+
});
|
|
155
|
+
it("should generate a relational db processor and factory", {
|
|
156
|
+
timeout: 100000,
|
|
157
|
+
}, async (context) => {
|
|
158
|
+
await setupTest(context);
|
|
159
|
+
await generate();
|
|
160
|
+
await hygenGenerateProcessor("test-relational-processor", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
161
|
+
skipFormat: true,
|
|
162
|
+
});
|
|
163
|
+
await compile(testOutDirPath);
|
|
164
|
+
});
|
|
165
|
+
it("should generate multiple relational db processors with composable factories", {
|
|
166
|
+
timeout: 100000,
|
|
167
|
+
}, async (context) => {
|
|
168
|
+
await setupTest(context);
|
|
169
|
+
await generate();
|
|
170
|
+
await hygenGenerateProcessor("test1", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
171
|
+
skipFormat: true,
|
|
172
|
+
});
|
|
173
|
+
await hygenGenerateProcessor("test2", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
174
|
+
skipFormat: true,
|
|
175
|
+
});
|
|
176
|
+
await hygenGenerateProcessor("test3", ["billing-statement"], path.join(testOutDirPath, processorsDirName), "relationalDb", {
|
|
177
|
+
skipFormat: true,
|
|
178
|
+
});
|
|
179
|
+
await compile(testOutDirPath);
|
|
180
|
+
});
|
|
181
|
+
it("should generate error classes and types from billing statement errors", { timeout: 100000 }, async (context) => {
|
|
182
|
+
await setupTest(context);
|
|
145
183
|
await generate();
|
|
146
184
|
await compile(testOutDirPath);
|
|
147
185
|
// Check general module errors
|
|
@@ -149,58 +187,47 @@ describe("document model", () => {
|
|
|
149
187
|
const generalErrorContent = readFileSync(generalErrorPath, "utf-8");
|
|
150
188
|
// Check that InvalidStatusTransition error is generated
|
|
151
189
|
expect(generalErrorContent).toContain("export type ErrorCode =");
|
|
152
|
-
expect(generalErrorContent).toContain("
|
|
190
|
+
expect(generalErrorContent).toContain(`"InvalidStatusTransition"`);
|
|
153
191
|
expect(generalErrorContent).toContain("export class InvalidStatusTransition extends Error implements ReducerError");
|
|
154
|
-
expect(generalErrorContent).toContain(
|
|
192
|
+
expect(generalErrorContent).toContain(`errorCode = "InvalidStatusTransition" as ErrorCode`);
|
|
155
193
|
// Check line_items module errors
|
|
156
194
|
const lineItemsErrorPath = path.join(documentModelsDirName, "billing-statement", "gen", "line-items", "error.ts");
|
|
157
195
|
const lineItemsErrorContent = readFileSync(lineItemsErrorPath, "utf-8");
|
|
158
196
|
// Check that both DuplicateLineItem and InvalidStatusTransition errors are generated (but deduplicated)
|
|
159
197
|
expect(lineItemsErrorContent).toContain("export type ErrorCode =");
|
|
160
|
-
expect(lineItemsErrorContent).toContain("
|
|
161
|
-
expect(lineItemsErrorContent).toContain("
|
|
198
|
+
expect(lineItemsErrorContent).toContain(`"DuplicateLineItem"`);
|
|
199
|
+
expect(lineItemsErrorContent).toContain(`"InvalidStatusTransition"`);
|
|
162
200
|
expect(lineItemsErrorContent).toContain("export class DuplicateLineItem extends Error implements ReducerError");
|
|
163
201
|
expect(lineItemsErrorContent).toContain("export class InvalidStatusTransition extends Error implements ReducerError");
|
|
164
202
|
// Verify that InvalidStatusTransition only appears once in the ErrorCode type (deduplication test)
|
|
165
|
-
const errorCodeMatches = lineItemsErrorContent.match(/
|
|
203
|
+
const errorCodeMatches = lineItemsErrorContent.match(/"InvalidStatusTransition"/g);
|
|
166
204
|
expect(errorCodeMatches?.length).toBe(3); // Once in type definition, once in each class
|
|
167
205
|
});
|
|
168
|
-
it("should
|
|
169
|
-
await
|
|
170
|
-
await compile(testOutDirPath);
|
|
171
|
-
// Check that the general module reducer imports InvalidStatusTransition
|
|
172
|
-
const generalReducerPath = path.join(documentModelsDirName, "billing-statement", "src", "reducers", "general.ts");
|
|
173
|
-
const generalReducerContent = readFileSync(generalReducerPath, "utf-8");
|
|
174
|
-
// Should have import for both InvalidStatusTransition and StatusAlreadySet errors in single import
|
|
175
|
-
expect(generalReducerContent).toContain('import { InvalidStatusTransition, StatusAlreadySet } from "../../gen/general/error.js";');
|
|
176
|
-
// Should contain the reducer code with both error usages
|
|
177
|
-
expect(generalReducerContent).toContain("throw new InvalidStatusTransition");
|
|
178
|
-
expect(generalReducerContent).toContain("throw new StatusAlreadySet");
|
|
179
|
-
// Check that the line-items module reducer imports DuplicateLineItem
|
|
180
|
-
const lineItemsReducerPath = path.join(documentModelsDirName, "billing-statement", "src", "reducers", "line-items.ts");
|
|
181
|
-
const lineItemsReducerContent = readFileSync(lineItemsReducerPath, "utf-8");
|
|
182
|
-
// Should have import for DuplicateLineItem error
|
|
183
|
-
expect(lineItemsReducerContent).toContain('import { DuplicateLineItem } from "../../gen/line-items/error.js";');
|
|
184
|
-
// Should contain the reducer code with error usage
|
|
185
|
-
expect(lineItemsReducerContent).toContain("throw new DuplicateLineItem");
|
|
186
|
-
});
|
|
187
|
-
it("should generate error codes for legacy documents with empty error codes", { timeout: 100000 }, async () => {
|
|
206
|
+
it("should generate error codes for legacy documents with empty error codes", { timeout: 100000 }, async (context) => {
|
|
207
|
+
await setupTest(context);
|
|
188
208
|
await generate();
|
|
189
209
|
const testEmptyCodesDocumentModel = await loadDocumentModel(path.join(documentModelsSrcPath, "test-empty-error-codes", "test-empty-error-codes.json"));
|
|
190
|
-
await
|
|
210
|
+
await generateDocumentModel({
|
|
211
|
+
useTsMorph: USE_TS_MORPH,
|
|
212
|
+
useVersioning: false,
|
|
213
|
+
dir: documentModelsDirName,
|
|
214
|
+
specifiedPackageName: TEST_PACKAGE_NAME,
|
|
215
|
+
documentModelState: testEmptyCodesDocumentModel,
|
|
216
|
+
skipFormat: true,
|
|
217
|
+
});
|
|
191
218
|
// Check that error codes are generated from error names
|
|
192
219
|
const testOperationsErrorPath = path.join(documentModelsDirName, "test-empty-codes", "gen", "test-operations", "error.ts");
|
|
193
220
|
const testOperationsErrorContent = readFileSync(testOperationsErrorPath, "utf-8");
|
|
194
221
|
// Check that error codes are generated from names in PascalCase when empty
|
|
195
222
|
expect(testOperationsErrorContent).toContain("export type ErrorCode =");
|
|
196
|
-
expect(testOperationsErrorContent).toContain("
|
|
197
|
-
expect(testOperationsErrorContent).toContain("
|
|
223
|
+
expect(testOperationsErrorContent).toContain(`"InvalidValue"`);
|
|
224
|
+
expect(testOperationsErrorContent).toContain(`"EmptyValue"`);
|
|
198
225
|
// Check that error classes are generated
|
|
199
226
|
expect(testOperationsErrorContent).toContain("export class InvalidValue extends Error implements ReducerError");
|
|
200
227
|
expect(testOperationsErrorContent).toContain("export class EmptyValue extends Error implements ReducerError");
|
|
201
228
|
// Verify error code constants are set properly in PascalCase
|
|
202
|
-
expect(testOperationsErrorContent).toContain(
|
|
203
|
-
expect(testOperationsErrorContent).toContain(
|
|
229
|
+
expect(testOperationsErrorContent).toContain(`errorCode = "InvalidValue" as ErrorCode`);
|
|
230
|
+
expect(testOperationsErrorContent).toContain(`errorCode = "EmptyValue" as ErrorCode`);
|
|
204
231
|
});
|
|
205
232
|
});
|
|
206
233
|
//# sourceMappingURL=generate-doc-model.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-doc-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-doc-model.test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-doc-model.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-doc-model.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { generateDriveEditor } from "@powerhousedao/codegen";
|
|
|
2
2
|
import fs, { existsSync, rmSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { afterAll, beforeAll, describe, expect, it, } from "vitest";
|
|
5
|
+
import { USE_TS_MORPH } from "./config.js";
|
|
5
6
|
import { EDITORS_TEST_PROJECT, EDITORS_TEST_PROJECT_WITH_EXISTING_EDITOR, GENERATE_DRIVE_EDITOR_TEST_OUTPUT_DIR, } from "./constants.js";
|
|
6
7
|
import { compile } from "./fixtures/typecheck.js";
|
|
7
8
|
import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, purgeDirAfterTest, resetDirForTest, } from "./utils.js";
|
|
@@ -41,6 +42,7 @@ describe("generateDriveEditor", () => {
|
|
|
41
42
|
config,
|
|
42
43
|
appId: "AtlasDriveExplorer",
|
|
43
44
|
allowedDocumentTypes: "powerhouse/test-doc",
|
|
45
|
+
useTsMorph: USE_TS_MORPH,
|
|
44
46
|
});
|
|
45
47
|
const editorsDir = path.join(testOutDirPath, "editors");
|
|
46
48
|
expect(existsSync(editorsDir)).toBe(true);
|
|
@@ -67,7 +69,7 @@ describe("generateDriveEditor", () => {
|
|
|
67
69
|
expect(existsSync(editorFilePath)).toBe(true);
|
|
68
70
|
const editorContent = fs.readFileSync(editorFilePath, "utf-8");
|
|
69
71
|
expect(editorContent).toContain(`export default function Editor(props: EditorProps)`);
|
|
70
|
-
expect(editorContent).toContain(`<DriveExplorer {...props}
|
|
72
|
+
expect(editorContent).toContain(`<DriveExplorer {...props}`);
|
|
71
73
|
expect(editorContent).toContain(`useSetPHDriveEditorConfig(editorConfig)`);
|
|
72
74
|
const componentsDir = path.join(editorDir, "components");
|
|
73
75
|
expect(existsSync(componentsDir)).toBe(true);
|
|
@@ -109,7 +111,7 @@ describe("generateDriveEditor", () => {
|
|
|
109
111
|
}, async (context) => {
|
|
110
112
|
await setupTest(context, getTestDataDir(testDir, EDITORS_TEST_PROJECT_WITH_EXISTING_EDITOR));
|
|
111
113
|
const name = "TestApp";
|
|
112
|
-
await generateDriveEditor({ name, config }); // No appId provided
|
|
114
|
+
await generateDriveEditor({ name, config, useTsMorph: USE_TS_MORPH }); // No appId provided
|
|
113
115
|
const editorsDir = path.join(testOutDirPath, "editors");
|
|
114
116
|
const editorDir = path.join(editorsDir, "test-app");
|
|
115
117
|
const moduleFilePath = path.join(editorDir, "module.ts");
|
|
@@ -127,6 +129,7 @@ describe("generateDriveEditor", () => {
|
|
|
127
129
|
config,
|
|
128
130
|
appId: "AtlasDriveExplorer",
|
|
129
131
|
allowedDocumentTypes: "powerhouse/test-doc",
|
|
132
|
+
useTsMorph: USE_TS_MORPH,
|
|
130
133
|
});
|
|
131
134
|
const editorsDir = path.join(testOutDirPath, "editors");
|
|
132
135
|
const editorsFilePath = path.join(editorsDir, "editors.ts");
|
|
@@ -143,7 +146,7 @@ describe("generateDriveEditor", () => {
|
|
|
143
146
|
const editorsDir = path.join(testOutDirPath, "editors");
|
|
144
147
|
const editorsFilePath = path.join(editorsDir, "editors.ts");
|
|
145
148
|
rmSync(editorsFilePath, { force: true });
|
|
146
|
-
await generateDriveEditor({ name, config });
|
|
149
|
+
await generateDriveEditor({ name, config, useTsMorph: USE_TS_MORPH });
|
|
147
150
|
await compile(testOutDirPath);
|
|
148
151
|
const editorsContent = fs.readFileSync(editorsFilePath, "utf-8");
|
|
149
152
|
expect(editorsContent).toContain(`export const editors: EditorModule[]`);
|