@powerhousedao/codegen 6.0.0-dev.19 → 6.0.0-dev.191
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/templates/boilerplate/LICENSE.js → LICENSE} +1 -4
- package/dist/file-builders-BV9wDPPZ.mjs +1652 -0
- package/dist/file-builders-BV9wDPPZ.mjs.map +1 -0
- package/dist/index-CHAnPBj2.d.mts +199 -0
- package/dist/index-CHAnPBj2.d.mts.map +1 -0
- package/dist/index-CJZGVSYg.d.mts +65 -0
- package/dist/index-CJZGVSYg.d.mts.map +1 -0
- package/dist/index.d.mts +298 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +802 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/file-builders/index.d.mts +3 -0
- package/dist/src/file-builders/index.mjs +3 -0
- package/dist/src/name-builders/index.d.mts +2 -0
- package/dist/src/name-builders/index.mjs +146 -0
- package/dist/src/name-builders/index.mjs.map +1 -0
- package/dist/src/templates/index.d.mts +415 -0
- package/dist/src/templates/index.d.mts.map +1 -0
- package/dist/src/templates/index.mjs +2 -0
- package/dist/src/utils/index.d.mts +125 -0
- package/dist/src/utils/index.d.mts.map +1 -0
- package/dist/src/utils/index.mjs +380 -0
- package/dist/src/utils/index.mjs.map +1 -0
- package/dist/templates-BbNsigQX.mjs +6387 -0
- package/dist/templates-BbNsigQX.mjs.map +1 -0
- package/dist/types-e2ztuDtG.d.mts +87 -0
- package/dist/types-e2ztuDtG.d.mts.map +1 -0
- package/dist/validation-Bpg_44mW.d.mts +43 -0
- package/dist/validation-Bpg_44mW.d.mts.map +1 -0
- package/package.json +31 -58
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/src/codegen/.hygen/package.json +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +0 -17
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +0 -56
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -121
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +0 -49
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -127
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +0 -93
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -46
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +0 -11
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -14
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +0 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -31
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -77
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -37
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -36
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -71
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +0 -118
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +0 -130
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +0 -58
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +0 -32
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +0 -19
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +0 -29
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +0 -108
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +0 -28
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +0 -14
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +0 -11
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +0 -20
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +0 -25
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +0 -15
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -80
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -90
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -62
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.esm.t +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -34
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +0 -40
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +0 -47
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.esm.t +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +0 -34
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_export.esm.t +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +0 -17
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
- package/dist/src/codegen/__tests__/config.d.ts +0 -3
- package/dist/src/codegen/__tests__/config.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/config.js +0 -3
- package/dist/src/codegen/__tests__/config.js.map +0 -1
- package/dist/src/codegen/__tests__/constants.d.ts +0 -16
- package/dist/src/codegen/__tests__/constants.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/constants.js +0 -16
- package/dist/src/codegen/__tests__/constants.js.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts +0 -2
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js +0 -9
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts +0 -3
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js +0 -33
- package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts +0 -2
- package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js +0 -23
- package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts +0 -2
- package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/fixtures/typecheck.js +0 -23
- package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +0 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +0 -234
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +0 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +0 -181
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +0 -1
- package/dist/src/codegen/__tests__/generate-editor.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-editor.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +0 -119
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +0 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js +0 -192
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +0 -159
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +0 -1
- package/dist/src/codegen/__tests__/global-setup.d.ts +0 -2
- package/dist/src/codegen/__tests__/global-setup.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/global-setup.js +0 -21
- package/dist/src/codegen/__tests__/global-setup.js.map +0 -1
- package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js +0 -73
- package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +0 -1
- package/dist/src/codegen/__tests__/utils.d.ts +0 -7
- package/dist/src/codegen/__tests__/utils.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/utils.js +0 -52
- package/dist/src/codegen/__tests__/utils.js.map +0 -1
- package/dist/src/codegen/generate.d.ts +0 -79
- package/dist/src/codegen/generate.d.ts.map +0 -1
- package/dist/src/codegen/generate.js +0 -332
- package/dist/src/codegen/generate.js.map +0 -1
- package/dist/src/codegen/graphql.d.ts +0 -36
- package/dist/src/codegen/graphql.d.ts.map +0 -1
- package/dist/src/codegen/graphql.js +0 -146
- package/dist/src/codegen/graphql.js.map +0 -1
- package/dist/src/codegen/hygen.d.ts +0 -47
- package/dist/src/codegen/hygen.d.ts.map +0 -1
- package/dist/src/codegen/hygen.js +0 -230
- package/dist/src/codegen/hygen.js.map +0 -1
- package/dist/src/codegen/index.d.ts +0 -7
- package/dist/src/codegen/index.d.ts.map +0 -1
- package/dist/src/codegen/index.js +0 -7
- package/dist/src/codegen/index.js.map +0 -1
- package/dist/src/codegen/kysely.d.ts +0 -6
- package/dist/src/codegen/kysely.d.ts.map +0 -1
- package/dist/src/codegen/kysely.js +0 -51
- package/dist/src/codegen/kysely.js.map +0 -1
- package/dist/src/codegen/types.d.ts +0 -9
- package/dist/src/codegen/types.d.ts.map +0 -1
- package/dist/src/codegen/types.js +0 -2
- package/dist/src/codegen/types.js.map +0 -1
- package/dist/src/codegen/utils.d.ts +0 -7
- package/dist/src/codegen/utils.d.ts.map +0 -1
- package/dist/src/codegen/utils.js +0 -79
- package/dist/src/codegen/utils.js.map +0 -1
- package/dist/src/create-lib/checkout-project.d.ts +0 -13
- package/dist/src/create-lib/checkout-project.d.ts.map +0 -1
- package/dist/src/create-lib/checkout-project.js +0 -47
- package/dist/src/create-lib/checkout-project.js.map +0 -1
- package/dist/src/create-lib/create-project.d.ts +0 -10
- package/dist/src/create-lib/create-project.d.ts.map +0 -1
- package/dist/src/create-lib/create-project.js +0 -106
- package/dist/src/create-lib/create-project.js.map +0 -1
- package/dist/src/create-lib/feature-flags.d.ts +0 -4
- package/dist/src/create-lib/feature-flags.d.ts.map +0 -1
- package/dist/src/create-lib/feature-flags.js +0 -4
- package/dist/src/create-lib/feature-flags.js.map +0 -1
- package/dist/src/create-lib/index.d.ts +0 -3
- package/dist/src/create-lib/index.d.ts.map +0 -1
- package/dist/src/create-lib/index.js +0 -3
- package/dist/src/create-lib/index.js.map +0 -1
- package/dist/src/create-lib/utils.d.ts +0 -8
- package/dist/src/create-lib/utils.d.ts.map +0 -1
- package/dist/src/create-lib/utils.js +0 -34
- package/dist/src/create-lib/utils.js.map +0 -1
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts +0 -2
- package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts.map +0 -1
- package/dist/src/file-builders/boilerplate/build-package-json.test.js +0 -28
- package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +0 -1
- package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts +0 -2
- package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts.map +0 -1
- package/dist/src/file-builders/boilerplate/ci-templates.test.js +0 -114
- package/dist/src/file-builders/boilerplate/ci-templates.test.js.map +0 -1
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +0 -2
- package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +0 -1
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js +0 -34
- package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +0 -1
- package/dist/src/file-builders/boilerplate/package.json.d.ts +0 -6
- package/dist/src/file-builders/boilerplate/package.json.d.ts.map +0 -1
- package/dist/src/file-builders/boilerplate/package.json.js +0 -18
- package/dist/src/file-builders/boilerplate/package.json.js.map +0 -1
- package/dist/src/file-builders/clis/generate-cli-docs.d.ts +0 -17
- package/dist/src/file-builders/clis/generate-cli-docs.d.ts.map +0 -1
- package/dist/src/file-builders/clis/generate-cli-docs.js +0 -36
- package/dist/src/file-builders/clis/generate-cli-docs.js.map +0 -1
- package/dist/src/file-builders/document-editor.d.ts +0 -8
- package/dist/src/file-builders/document-editor.d.ts.map +0 -1
- package/dist/src/file-builders/document-editor.js +0 -57
- package/dist/src/file-builders/document-editor.js.map +0 -1
- package/dist/src/file-builders/document-model/document-model.d.ts +0 -8
- package/dist/src/file-builders/document-model/document-model.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/document-model.js +0 -246
- package/dist/src/file-builders/document-model/document-model.js.map +0 -1
- package/dist/src/file-builders/document-model/gen-dir.d.ts +0 -3
- package/dist/src/file-builders/document-model/gen-dir.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/gen-dir.js +0 -201
- package/dist/src/file-builders/document-model/gen-dir.js.map +0 -1
- package/dist/src/file-builders/document-model/root-dir.d.ts +0 -3
- package/dist/src/file-builders/document-model/root-dir.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/root-dir.js +0 -51
- package/dist/src/file-builders/document-model/root-dir.js.map +0 -1
- package/dist/src/file-builders/document-model/src-dir.d.ts +0 -3
- package/dist/src/file-builders/document-model/src-dir.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/src-dir.js +0 -118
- package/dist/src/file-builders/document-model/src-dir.js.map +0 -1
- package/dist/src/file-builders/document-model/tests-dir.d.ts +0 -3
- package/dist/src/file-builders/document-model/tests-dir.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/tests-dir.js +0 -127
- package/dist/src/file-builders/document-model/tests-dir.js.map +0 -1
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts +0 -31
- package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +0 -1
- package/dist/src/file-builders/document-model/upgrades-dir.js +0 -135
- package/dist/src/file-builders/document-model/upgrades-dir.js.map +0 -1
- package/dist/src/file-builders/drive-editor.d.ts +0 -9
- package/dist/src/file-builders/drive-editor.d.ts.map +0 -1
- package/dist/src/file-builders/drive-editor.js +0 -164
- package/dist/src/file-builders/drive-editor.js.map +0 -1
- package/dist/src/file-builders/editor-common.d.ts +0 -13
- package/dist/src/file-builders/editor-common.d.ts.map +0 -1
- package/dist/src/file-builders/editor-common.js +0 -26
- package/dist/src/file-builders/editor-common.js.map +0 -1
- package/dist/src/file-builders/index-files.d.ts +0 -18
- package/dist/src/file-builders/index-files.d.ts.map +0 -1
- package/dist/src/file-builders/index-files.js +0 -25
- package/dist/src/file-builders/index-files.js.map +0 -1
- package/dist/src/file-builders/index.d.ts +0 -11
- package/dist/src/file-builders/index.d.ts.map +0 -1
- package/dist/src/file-builders/index.js +0 -10
- package/dist/src/file-builders/index.js.map +0 -1
- package/dist/src/file-builders/module-files.d.ts +0 -52
- package/dist/src/file-builders/module-files.d.ts.map +0 -1
- package/dist/src/file-builders/module-files.js +0 -230
- package/dist/src/file-builders/module-files.js.map +0 -1
- package/dist/src/file-builders/subgraphs.d.ts +0 -6
- package/dist/src/file-builders/subgraphs.d.ts.map +0 -1
- package/dist/src/file-builders/subgraphs.js +0 -53
- package/dist/src/file-builders/subgraphs.js.map +0 -1
- package/dist/src/file-builders/types.d.ts +0 -84
- package/dist/src/file-builders/types.d.ts.map +0 -1
- package/dist/src/file-builders/types.js +0 -2
- package/dist/src/file-builders/types.js.map +0 -1
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -5
- package/dist/src/index.js.map +0 -1
- package/dist/src/name-builders/get-action-names.d.ts +0 -6
- package/dist/src/name-builders/get-action-names.d.ts.map +0 -1
- package/dist/src/name-builders/get-action-names.js +0 -16
- package/dist/src/name-builders/get-action-names.js.map +0 -1
- package/dist/src/name-builders/get-variable-names.d.ts +0 -48
- package/dist/src/name-builders/get-variable-names.d.ts.map +0 -1
- package/dist/src/name-builders/get-variable-names.js +0 -147
- package/dist/src/name-builders/get-variable-names.js.map +0 -1
- package/dist/src/name-builders/index.d.ts +0 -3
- package/dist/src/name-builders/index.d.ts.map +0 -1
- package/dist/src/name-builders/index.js +0 -3
- package/dist/src/name-builders/index.js.map +0 -1
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts +0 -2
- package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/AGENTS.md.js +0 -449
- package/dist/src/templates/boilerplate/AGENTS.md.js.map +0 -1
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +0 -2
- package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/CLAUDE.md.js +0 -2
- package/dist/src/templates/boilerplate/CLAUDE.md.js.map +0 -1
- package/dist/src/templates/boilerplate/LICENSE.d.ts +0 -2
- package/dist/src/templates/boilerplate/LICENSE.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/LICENSE.js.map +0 -1
- package/dist/src/templates/boilerplate/README.md.d.ts +0 -2
- package/dist/src/templates/boilerplate/README.md.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/README.md.js +0 -194
- package/dist/src/templates/boilerplate/README.md.js.map +0 -1
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/claude/settings.local.json.js +0 -18
- package/dist/src/templates/boilerplate/claude/settings.local.json.js.map +0 -1
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/cursor/mcp.json.js +0 -12
- package/dist/src/templates/boilerplate/cursor/mcp.json.js.map +0 -1
- package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts +0 -2
- package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/docker/Dockerfile.js +0 -144
- package/dist/src/templates/boilerplate/docker/Dockerfile.js.map +0 -1
- package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts +0 -2
- package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js +0 -18
- package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js.map +0 -1
- package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts +0 -2
- package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/docker/nginx.conf.js +0 -79
- package/dist/src/templates/boilerplate/docker/nginx.conf.js.map +0 -1
- package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts +0 -2
- package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js +0 -19
- package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js.map +0 -1
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts +0 -2
- package/dist/src/templates/boilerplate/document-models/document-models.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/document-models/document-models.js +0 -7
- package/dist/src/templates/boilerplate/document-models/document-models.js.map +0 -1
- package/dist/src/templates/boilerplate/document-models/index.d.ts +0 -2
- package/dist/src/templates/boilerplate/document-models/index.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/document-models/index.js +0 -2
- package/dist/src/templates/boilerplate/document-models/index.js.map +0 -1
- package/dist/src/templates/boilerplate/editors/editors.d.ts +0 -2
- package/dist/src/templates/boilerplate/editors/editors.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/editors/editors.js +0 -7
- package/dist/src/templates/boilerplate/editors/editors.js.map +0 -1
- package/dist/src/templates/boilerplate/editors/index.d.ts +0 -2
- package/dist/src/templates/boilerplate/editors/index.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/editors/index.js +0 -2
- package/dist/src/templates/boilerplate/editors/index.js.map +0 -1
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts +0 -2
- package/dist/src/templates/boilerplate/eslint.config.js.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/eslint.config.js.js +0 -140
- package/dist/src/templates/boilerplate/eslint.config.js.js.map +0 -1
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/gemini/settings.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/gemini/settings.json.js +0 -12
- package/dist/src/templates/boilerplate/gemini/settings.json.js.map +0 -1
- package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts +0 -2
- package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js +0 -376
- package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js.map +0 -1
- package/dist/src/templates/boilerplate/gitignore.d.ts +0 -2
- package/dist/src/templates/boilerplate/gitignore.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/gitignore.js +0 -11
- package/dist/src/templates/boilerplate/gitignore.js.map +0 -1
- package/dist/src/templates/boilerplate/index.d.ts +0 -2
- package/dist/src/templates/boilerplate/index.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/index.html.d.ts +0 -2
- package/dist/src/templates/boilerplate/index.html.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/index.html.js +0 -31
- package/dist/src/templates/boilerplate/index.html.js.map +0 -1
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts +0 -2
- package/dist/src/templates/boilerplate/index.html.legacy.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/index.html.legacy.js +0 -36
- package/dist/src/templates/boilerplate/index.html.legacy.js.map +0 -1
- package/dist/src/templates/boilerplate/index.js +0 -8
- package/dist/src/templates/boilerplate/index.js.map +0 -1
- package/dist/src/templates/boilerplate/mcp.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/mcp.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/mcp.json.js +0 -12
- package/dist/src/templates/boilerplate/mcp.json.js.map +0 -1
- package/dist/src/templates/boilerplate/npmrc.d.ts +0 -2
- package/dist/src/templates/boilerplate/npmrc.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/npmrc.js +0 -2
- package/dist/src/templates/boilerplate/npmrc.js.map +0 -1
- package/dist/src/templates/boilerplate/package.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/package.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/package.json.js +0 -114
- package/dist/src/templates/boilerplate/package.json.js.map +0 -1
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts +0 -55
- package/dist/src/templates/boilerplate/package.json.legacy.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/package.json.legacy.js +0 -55
- package/dist/src/templates/boilerplate/package.json.legacy.js.map +0 -1
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts +0 -6
- package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/powerhouse.config.json.js +0 -46
- package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +0 -1
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js +0 -19
- package/dist/src/templates/boilerplate/powerhouse.manifest.json.js.map +0 -1
- package/dist/src/templates/boilerplate/processors/index.d.ts +0 -2
- package/dist/src/templates/boilerplate/processors/index.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/processors/index.js +0 -2
- package/dist/src/templates/boilerplate/processors/index.js.map +0 -1
- package/dist/src/templates/boilerplate/style.css.d.ts +0 -2
- package/dist/src/templates/boilerplate/style.css.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/style.css.js +0 -17
- package/dist/src/templates/boilerplate/style.css.js.map +0 -1
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts +0 -2
- package/dist/src/templates/boilerplate/subgraphs/index.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/subgraphs/index.js +0 -2
- package/dist/src/templates/boilerplate/subgraphs/index.js.map +0 -1
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts +0 -2
- package/dist/src/templates/boilerplate/tsconfig.json.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/tsconfig.json.js +0 -46
- package/dist/src/templates/boilerplate/tsconfig.json.js.map +0 -1
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts +0 -2
- package/dist/src/templates/boilerplate/vite.config.ts.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/vite.config.ts.js +0 -21
- package/dist/src/templates/boilerplate/vite.config.ts.js.map +0 -1
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts +0 -2
- package/dist/src/templates/boilerplate/vitest.config.ts.d.ts.map +0 -1
- package/dist/src/templates/boilerplate/vitest.config.ts.js +0 -21
- package/dist/src/templates/boilerplate/vitest.config.ts.js.map +0 -1
- package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts +0 -8
- package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts.map +0 -1
- package/dist/src/templates/cli-docs/docs-from-cli-help.js +0 -86
- package/dist/src/templates/cli-docs/docs-from-cli-help.js.map +0 -1
- package/dist/src/templates/document-editor/editor.d.ts +0 -5
- package/dist/src/templates/document-editor/editor.d.ts.map +0 -1
- package/dist/src/templates/document-editor/editor.js +0 -85
- package/dist/src/templates/document-editor/editor.js.map +0 -1
- package/dist/src/templates/document-editor/module.d.ts +0 -7
- package/dist/src/templates/document-editor/module.d.ts.map +0 -1
- package/dist/src/templates/document-editor/module.js +0 -16
- package/dist/src/templates/document-editor/module.js.map +0 -1
- package/dist/src/templates/document-model/actions.d.ts +0 -3
- package/dist/src/templates/document-model/actions.d.ts.map +0 -1
- package/dist/src/templates/document-model/actions.js +0 -28
- package/dist/src/templates/document-model/actions.js.map +0 -1
- package/dist/src/templates/document-model/gen/actions.d.ts +0 -3
- package/dist/src/templates/document-model/gen/actions.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/actions.js +0 -40
- package/dist/src/templates/document-model/gen/actions.js.map +0 -1
- package/dist/src/templates/document-model/gen/creators.d.ts +0 -3
- package/dist/src/templates/document-model/gen/creators.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/creators.js +0 -16
- package/dist/src/templates/document-model/gen/creators.js.map +0 -1
- package/dist/src/templates/document-model/gen/document-schema.d.ts +0 -3
- package/dist/src/templates/document-model/gen/document-schema.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/document-schema.js +0 -56
- package/dist/src/templates/document-model/gen/document-schema.js.map +0 -1
- package/dist/src/templates/document-model/gen/document-type.d.ts +0 -3
- package/dist/src/templates/document-model/gen/document-type.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/document-type.js +0 -5
- package/dist/src/templates/document-model/gen/document-type.js.map +0 -1
- package/dist/src/templates/document-model/gen/index.d.ts +0 -3
- package/dist/src/templates/document-model/gen/index.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/index.js +0 -29
- package/dist/src/templates/document-model/gen/index.js.map +0 -1
- package/dist/src/templates/document-model/gen/modules/actions.d.ts +0 -8
- package/dist/src/templates/document-model/gen/modules/actions.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/modules/actions.js +0 -39
- package/dist/src/templates/document-model/gen/modules/actions.js.map +0 -1
- package/dist/src/templates/document-model/gen/modules/creators.d.ts +0 -3
- package/dist/src/templates/document-model/gen/modules/creators.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/modules/creators.js +0 -97
- package/dist/src/templates/document-model/gen/modules/creators.js.map +0 -1
- package/dist/src/templates/document-model/gen/modules/error.d.ts +0 -3
- package/dist/src/templates/document-model/gen/modules/error.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/modules/error.js +0 -73
- package/dist/src/templates/document-model/gen/modules/error.js.map +0 -1
- package/dist/src/templates/document-model/gen/modules/operations.d.ts +0 -3
- package/dist/src/templates/document-model/gen/modules/operations.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/modules/operations.js +0 -61
- package/dist/src/templates/document-model/gen/modules/operations.js.map +0 -1
- package/dist/src/templates/document-model/gen/ph-factories.d.ts +0 -3
- package/dist/src/templates/document-model/gen/ph-factories.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/ph-factories.js +0 -93
- package/dist/src/templates/document-model/gen/ph-factories.js.map +0 -1
- package/dist/src/templates/document-model/gen/reducer.d.ts +0 -3
- package/dist/src/templates/document-model/gen/reducer.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/reducer.js +0 -106
- package/dist/src/templates/document-model/gen/reducer.js.map +0 -1
- package/dist/src/templates/document-model/gen/schema/index.d.ts +0 -2
- package/dist/src/templates/document-model/gen/schema/index.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/schema/index.js +0 -6
- package/dist/src/templates/document-model/gen/schema/index.js.map +0 -1
- package/dist/src/templates/document-model/gen/types.d.ts +0 -3
- package/dist/src/templates/document-model/gen/types.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/types.js +0 -38
- package/dist/src/templates/document-model/gen/types.js.map +0 -1
- package/dist/src/templates/document-model/gen/utils.d.ts +0 -3
- package/dist/src/templates/document-model/gen/utils.d.ts.map +0 -1
- package/dist/src/templates/document-model/gen/utils.js +0 -77
- package/dist/src/templates/document-model/gen/utils.js.map +0 -1
- package/dist/src/templates/document-model/hooks.d.ts +0 -3
- package/dist/src/templates/document-model/hooks.d.ts.map +0 -1
- package/dist/src/templates/document-model/hooks.js +0 -52
- package/dist/src/templates/document-model/hooks.js.map +0 -1
- package/dist/src/templates/document-model/index.d.ts +0 -2
- package/dist/src/templates/document-model/index.d.ts.map +0 -1
- package/dist/src/templates/document-model/index.js +0 -9
- package/dist/src/templates/document-model/index.js.map +0 -1
- package/dist/src/templates/document-model/module.d.ts +0 -9
- package/dist/src/templates/document-model/module.d.ts.map +0 -1
- package/dist/src/templates/document-model/module.js +0 -26
- package/dist/src/templates/document-model/module.js.map +0 -1
- package/dist/src/templates/document-model/src/index.d.ts +0 -2
- package/dist/src/templates/document-model/src/index.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/index.js +0 -5
- package/dist/src/templates/document-model/src/index.js.map +0 -1
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts +0 -3
- package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/tests/document-model.test.js +0 -121
- package/dist/src/templates/document-model/src/tests/document-model.test.js.map +0 -1
- package/dist/src/templates/document-model/src/tests/module.test.d.ts +0 -6
- package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/tests/module.test.js +0 -87
- package/dist/src/templates/document-model/src/tests/module.test.js.map +0 -1
- package/dist/src/templates/document-model/src/utils.d.ts +0 -2
- package/dist/src/templates/document-model/src/utils.d.ts.map +0 -1
- package/dist/src/templates/document-model/src/utils.js +0 -5
- package/dist/src/templates/document-model/src/utils.js.map +0 -1
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts +0 -7
- package/dist/src/templates/document-model/upgrades/upgrade-transition.d.ts.map +0 -1
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js +0 -22
- package/dist/src/templates/document-model/upgrades/upgrade-transition.js.map +0 -1
- package/dist/src/templates/document-model/utils.d.ts +0 -3
- package/dist/src/templates/document-model/utils.d.ts.map +0 -1
- package/dist/src/templates/document-model/utils.js +0 -11
- package/dist/src/templates/document-model/utils.js.map +0 -1
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/CreateDocument.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/CreateDocument.js +0 -58
- package/dist/src/templates/drive-editor/components/CreateDocument.js.map +0 -1
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/DriveContents.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/DriveContents.js +0 -24
- package/dist/src/templates/drive-editor/components/DriveContents.js.map +0 -1
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/DriveExplorer.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/DriveExplorer.js +0 -32
- package/dist/src/templates/drive-editor/components/DriveExplorer.js.map +0 -1
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/EmptyState.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/EmptyState.js +0 -19
- package/dist/src/templates/drive-editor/components/EmptyState.js.map +0 -1
- package/dist/src/templates/drive-editor/components/Files.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/Files.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/Files.js +0 -30
- package/dist/src/templates/drive-editor/components/Files.js.map +0 -1
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/FolderTree.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/FolderTree.js +0 -108
- package/dist/src/templates/drive-editor/components/FolderTree.js.map +0 -1
- package/dist/src/templates/drive-editor/components/Folders.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/Folders.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/Folders.js +0 -28
- package/dist/src/templates/drive-editor/components/Folders.js.map +0 -1
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts +0 -2
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js +0 -14
- package/dist/src/templates/drive-editor/components/NavigationBreadcrumbs.js.map +0 -1
- package/dist/src/templates/drive-editor/config.d.ts +0 -5
- package/dist/src/templates/drive-editor/config.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/config.js +0 -11
- package/dist/src/templates/drive-editor/config.js.map +0 -1
- package/dist/src/templates/drive-editor/editor.d.ts +0 -2
- package/dist/src/templates/drive-editor/editor.d.ts.map +0 -1
- package/dist/src/templates/drive-editor/editor.js +0 -20
- package/dist/src/templates/drive-editor/editor.js.map +0 -1
- package/dist/src/templates/index.d.ts +0 -71
- package/dist/src/templates/index.d.ts.map +0 -1
- package/dist/src/templates/index.js +0 -71
- package/dist/src/templates/index.js.map +0 -1
- package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts +0 -2
- package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js +0 -491
- package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js.map +0 -1
- package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +0 -11
- package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/core/FileGenerator.js +0 -11
- package/dist/src/ts-morph-generator/core/FileGenerator.js.map +0 -1
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +0 -39
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/core/GenerationContext.js +0 -2
- package/dist/src/ts-morph-generator/core/GenerationContext.js.map +0 -1
- package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts +0 -12
- package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/core/ReducerGenerator.js +0 -147
- package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +0 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +0 -20
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +0 -120
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +0 -1
- package/dist/src/ts-morph-generator/index.d.ts +0 -4
- package/dist/src/ts-morph-generator/index.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/index.js +0 -4
- package/dist/src/ts-morph-generator/index.js.map +0 -1
- package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts +0 -5
- package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/utilities/DeclarationManager.js +0 -10
- package/dist/src/ts-morph-generator/utilities/DeclarationManager.js.map +0 -1
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +0 -13
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.js +0 -45
- package/dist/src/ts-morph-generator/utilities/DirectoryManager.js.map +0 -1
- package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +0 -15
- package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/utilities/ImportManager.js +0 -50
- package/dist/src/ts-morph-generator/utilities/ImportManager.js.map +0 -1
- package/dist/src/ts-morph-generator/utilities/index.d.ts +0 -4
- package/dist/src/ts-morph-generator/utilities/index.d.ts.map +0 -1
- package/dist/src/ts-morph-generator/utilities/index.js +0 -4
- package/dist/src/ts-morph-generator/utilities/index.js.map +0 -1
- package/dist/src/utils/cli.d.ts +0 -26
- package/dist/src/utils/cli.d.ts.map +0 -1
- package/dist/src/utils/cli.js +0 -57
- package/dist/src/utils/cli.js.map +0 -1
- package/dist/src/utils/constants.d.ts +0 -13
- package/dist/src/utils/constants.d.ts.map +0 -1
- package/dist/src/utils/constants.js +0 -29
- package/dist/src/utils/constants.js.map +0 -1
- package/dist/src/utils/dependencies.d.ts +0 -33
- package/dist/src/utils/dependencies.d.ts.map +0 -1
- package/dist/src/utils/dependencies.js +0 -97
- package/dist/src/utils/dependencies.js.map +0 -1
- package/dist/src/utils/document-type-metadata.d.ts +0 -15
- package/dist/src/utils/document-type-metadata.d.ts.map +0 -1
- package/dist/src/utils/document-type-metadata.js +0 -67
- package/dist/src/utils/document-type-metadata.js.map +0 -1
- package/dist/src/utils/format-with-prettier.d.ts +0 -5
- package/dist/src/utils/format-with-prettier.d.ts.map +0 -1
- package/dist/src/utils/format-with-prettier.js +0 -20
- package/dist/src/utils/format-with-prettier.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -14
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -14
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/mock.d.ts +0 -3
- package/dist/src/utils/mock.d.ts.map +0 -1
- package/dist/src/utils/mock.js +0 -5
- package/dist/src/utils/mock.js.map +0 -1
- package/dist/src/utils/source-files.d.ts +0 -18
- package/dist/src/utils/source-files.d.ts.map +0 -1
- package/dist/src/utils/source-files.js +0 -39
- package/dist/src/utils/source-files.js.map +0 -1
- package/dist/src/utils/spawn-async.d.ts +0 -5
- package/dist/src/utils/spawn-async.d.ts.map +0 -1
- package/dist/src/utils/spawn-async.js +0 -29
- package/dist/src/utils/spawn-async.js.map +0 -1
- package/dist/src/utils/syntax-builders.d.ts +0 -8
- package/dist/src/utils/syntax-builders.d.ts.map +0 -1
- package/dist/src/utils/syntax-builders.js +0 -72
- package/dist/src/utils/syntax-builders.js.map +0 -1
- package/dist/src/utils/syntax-getters.d.ts +0 -9
- package/dist/src/utils/syntax-getters.d.ts.map +0 -1
- package/dist/src/utils/syntax-getters.js +0 -20
- package/dist/src/utils/syntax-getters.js.map +0 -1
- package/dist/src/utils/ts-morph-project.d.ts +0 -15
- package/dist/src/utils/ts-morph-project.d.ts.map +0 -1
- package/dist/src/utils/ts-morph-project.js +0 -28
- package/dist/src/utils/ts-morph-project.js.map +0 -1
- package/dist/src/utils/unsafe-utils.d.ts +0 -8
- package/dist/src/utils/unsafe-utils.d.ts.map +0 -1
- package/dist/src/utils/unsafe-utils.js +0 -23
- package/dist/src/utils/unsafe-utils.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -18
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -138
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -19
- package/dist/vitest.config.js.map +0 -1
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,802 @@
|
|
|
1
|
+
import { $ as tsConfigTemplate, At as claudeSettingsLocalTemplate, Dt as dockerfileTemplate, Et as nginxConfTemplate, Ht as ts$1, Ot as connectEntrypointTemplate, St as editorsTemplate, Tt as switchboardEntrypointTemplate, Z as vitestConfigTemplate, _t as gitIgnoreTemplate, at as buildPowerhouseConfigTemplate, bt as eslintConfigTemplate, dt as mcpTemplate, f as processorsIndexTemplate, ft as mainTsxTemplate, gt as indexHtmlTemplate, it as ManifestTemplate, jt as agentsTemplate, kt as cursorMcpTemplate, m as factoryBuildersTemplate, mt as indexTsTemplate, nt as styleTemplate, p as processorsFactoryTemplate, pt as licenseTemplate, rt as readmeTemplate, ut as npmrcTemplate, vt as syncAndPublishWorkflowTemplate, wt as documentModelsTemplate, yt as geminiSettingsTemplate } from "./templates-BbNsigQX.mjs";
|
|
2
|
+
import { configSpec, parseArgs, parseConfig, runPrettier, validateDocumentModelState } from "./src/utils/index.mjs";
|
|
3
|
+
import { a as generateDocumentModelZodSchemas, c as scalars, g as tsMorphGenerateApp, h as buildBoilerplatePackageJson, i as tsMorphGenerateDocumentModel, l as scalarsValidation, n as tsMorphGenerateSubgraph, o as generateSchemas, r as tsMorphGenerateProcessor, s as generateTypesAndZodSchemasFromGraphql, t as makeSubgraphsIndexFile, u as tsMorphGenerateDocumentEditor } from "./file-builders-BV9wDPPZ.mjs";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
5
|
+
import { fileExists } from "@powerhousedao/shared/clis";
|
|
6
|
+
import { camelCase, kebabCase, pascalCase } from "change-case";
|
|
7
|
+
import path from "path";
|
|
8
|
+
import { Project, SyntaxKind, VariableDeclarationKind } from "ts-morph";
|
|
9
|
+
import { format } from "prettier";
|
|
10
|
+
import path$1, { dirname, join, resolve } from "node:path";
|
|
11
|
+
import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
|
|
12
|
+
import "get-tsconfig";
|
|
13
|
+
import fs$1, { existsSync } from "node:fs";
|
|
14
|
+
import { readPackage } from "read-pkg";
|
|
15
|
+
import semver from "semver";
|
|
16
|
+
import "write-package";
|
|
17
|
+
import { documentModelReducer } from "@powerhousedao/shared/document-model";
|
|
18
|
+
import { baseLoadFromFile } from "document-model/node";
|
|
19
|
+
import { spawn } from "node:child_process";
|
|
20
|
+
import { execSync } from "child_process";
|
|
21
|
+
import chalk from "chalk";
|
|
22
|
+
import fs$2 from "fs/promises";
|
|
23
|
+
//#region src/codegen/utils.ts
|
|
24
|
+
async function loadDocumentModel(path) {
|
|
25
|
+
let documentModel;
|
|
26
|
+
try {
|
|
27
|
+
if (!path) throw new Error("Document model file not specified");
|
|
28
|
+
else if (path.endsWith(".zip") || path.endsWith(".phd")) documentModel = (await baseLoadFromFile(path, documentModelReducer)).state.global;
|
|
29
|
+
else if (path.endsWith(".json")) {
|
|
30
|
+
const data = await readFile(path, "utf-8");
|
|
31
|
+
const parsedData = JSON.parse(data);
|
|
32
|
+
if ("state" in parsedData) documentModel = parsedData.state.global;
|
|
33
|
+
else documentModel = parsedData;
|
|
34
|
+
} else throw new Error("File type not supported. Must be zip, phd, or json.");
|
|
35
|
+
return documentModel;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
throw error.code === "MODULE_NOT_FOUND" ? /* @__PURE__ */ new Error(`Document model not found.`) : error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function formatWithPrettierBeforeWrite(outputFile, content) {
|
|
41
|
+
return await format(content, { parser: "typescript" });
|
|
42
|
+
}
|
|
43
|
+
/** returns map of document model id to document model name in pascal case and import path */
|
|
44
|
+
function getDocumentTypesMap(dir, pathOrigin = "../../") {
|
|
45
|
+
const documentTypesMap = { "powerhouse/document-model": {
|
|
46
|
+
name: "DocumentModel",
|
|
47
|
+
importPath: `document-model`
|
|
48
|
+
} };
|
|
49
|
+
if (fs$1.existsSync(dir)) fs$1.readdirSync(dir, { withFileTypes: true }).filter((dirent) => dirent.isDirectory()).map((dirent) => dirent.name).forEach((name) => {
|
|
50
|
+
const specPath = resolve(dir, name, `${name}.json`);
|
|
51
|
+
if (!fs$1.existsSync(specPath)) return;
|
|
52
|
+
const specRaw = fs$1.readFileSync(specPath, "utf-8");
|
|
53
|
+
try {
|
|
54
|
+
const spec = JSON.parse(specRaw);
|
|
55
|
+
if (spec.id) documentTypesMap[spec.id] = {
|
|
56
|
+
name: pascalCase(name),
|
|
57
|
+
importPath: join(pathOrigin, dir, name, "index.js")
|
|
58
|
+
};
|
|
59
|
+
} catch {
|
|
60
|
+
console.error(`Failed to parse ${specPath}`);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return documentTypesMap;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/codegen/generate.ts
|
|
67
|
+
async function generateAll(args) {
|
|
68
|
+
const { dir, useVersioning, migrateLegacy = false, watch = false, skipFormat = false, verbose = true, force = true } = args;
|
|
69
|
+
const files = await readdir(dir, { withFileTypes: true });
|
|
70
|
+
const documentModelStates = [];
|
|
71
|
+
for (const directory of files.filter((f) => f.isDirectory())) {
|
|
72
|
+
const documentModelPath = path$1.join(dir, directory.name, `${directory.name}.json`);
|
|
73
|
+
if (!await fileExists(documentModelPath)) continue;
|
|
74
|
+
try {
|
|
75
|
+
const documentModelState = await loadDocumentModel(documentModelPath);
|
|
76
|
+
documentModelStates.push(documentModelState);
|
|
77
|
+
await generateDocumentModel({
|
|
78
|
+
dir,
|
|
79
|
+
documentModelState,
|
|
80
|
+
watch,
|
|
81
|
+
skipFormat,
|
|
82
|
+
verbose,
|
|
83
|
+
force,
|
|
84
|
+
useVersioning,
|
|
85
|
+
migrateLegacy
|
|
86
|
+
});
|
|
87
|
+
} catch (error) {
|
|
88
|
+
if (verbose) console.error(directory.name, error);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function generate(config, useVersioning, migrateLegacy = false) {
|
|
93
|
+
const { skipFormat, watch } = config;
|
|
94
|
+
await generateSchemas(config.documentModelsDir, {
|
|
95
|
+
skipFormat,
|
|
96
|
+
watch
|
|
97
|
+
});
|
|
98
|
+
await generateAll({
|
|
99
|
+
dir: config.documentModelsDir,
|
|
100
|
+
useVersioning,
|
|
101
|
+
migrateLegacy,
|
|
102
|
+
skipFormat,
|
|
103
|
+
watch
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
async function generateFromFile(args) {
|
|
107
|
+
const { path, config, useVersioning, migrateLegacy, options } = args;
|
|
108
|
+
await generateFromDocumentModel({
|
|
109
|
+
documentModelState: await loadDocumentModel(path),
|
|
110
|
+
config,
|
|
111
|
+
useVersioning,
|
|
112
|
+
migrateLegacy,
|
|
113
|
+
options
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Generates code from a DocumentModelGlobalState object directly.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* This function performs the same code generation as generateFromFile but takes
|
|
121
|
+
* a DocumentModelGlobalState object directly instead of loading from a file. This allows for
|
|
122
|
+
* programmatic code generation without file I/O.
|
|
123
|
+
*
|
|
124
|
+
* @param documentModelDocument - The DocumentModelGlobalState object containing the document model
|
|
125
|
+
* @param config - The PowerhouseConfig configuration object
|
|
126
|
+
* @param options - Optional configuration for generation behavior (verbose logging, etc.)
|
|
127
|
+
* @returns A promise that resolves when code generation is complete
|
|
128
|
+
*/
|
|
129
|
+
async function generateFromDocument(args) {
|
|
130
|
+
await generateFromDocumentModel(args);
|
|
131
|
+
}
|
|
132
|
+
async function generateDocumentModel(args) {
|
|
133
|
+
const { dir, documentModelState, useVersioning, migrateLegacy } = args;
|
|
134
|
+
ensureZodVersionIsSufficient(findZodDependencyInPackageJson(await readPackage()));
|
|
135
|
+
await tsMorphGenerateDocumentModel({
|
|
136
|
+
projectDir: path$1.dirname(dir),
|
|
137
|
+
documentModelState,
|
|
138
|
+
useVersioning,
|
|
139
|
+
migrateLegacy
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
function findZodDependencyInPackageJson(packageJson) {
|
|
143
|
+
return {
|
|
144
|
+
...packageJson.dependencies,
|
|
145
|
+
...packageJson.devDependencies
|
|
146
|
+
}["zod"];
|
|
147
|
+
}
|
|
148
|
+
function ensureZodVersionIsSufficient(zodSemverString) {
|
|
149
|
+
if (!zodSemverString) return;
|
|
150
|
+
const cleaned = semver.clean(zodSemverString);
|
|
151
|
+
if (!cleaned) return;
|
|
152
|
+
if (!semver.gte(cleaned, "4.0.0")) throw new Error(`Your version of zod "${zodSemverString}" is out of date. Please install zod version 4.x to continue.`);
|
|
153
|
+
}
|
|
154
|
+
async function generateEditor(args) {
|
|
155
|
+
const { editorName, documentTypes, editorId: editorIdArg, editorDirName } = args;
|
|
156
|
+
const projectDir = path$1.dirname("editors");
|
|
157
|
+
if (documentTypes.length > 1) throw new Error("Multiple document types are not supported yet");
|
|
158
|
+
const documentModelId = documentTypes[0];
|
|
159
|
+
const editorId = editorIdArg || kebabCase(editorName);
|
|
160
|
+
await tsMorphGenerateDocumentEditor({
|
|
161
|
+
projectDir,
|
|
162
|
+
editorDir: editorDirName || kebabCase(editorName),
|
|
163
|
+
documentModelId,
|
|
164
|
+
editorName,
|
|
165
|
+
editorId
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
async function generateApp(options) {
|
|
169
|
+
const { appName, appId, allowedDocumentTypes, isDragAndDropEnabled, appDirName } = options;
|
|
170
|
+
await tsMorphGenerateApp({
|
|
171
|
+
projectDir: path$1.dirname("editors"),
|
|
172
|
+
editorDir: appDirName || kebabCase(appName),
|
|
173
|
+
editorName: appName,
|
|
174
|
+
editorId: appId ?? kebabCase(appName),
|
|
175
|
+
allowedDocumentModelIds: allowedDocumentTypes ?? [],
|
|
176
|
+
isDragAndDropEnabled: isDragAndDropEnabled ?? true
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
async function generateSubgraphFromDocumentModel(name, documentModel, config) {
|
|
180
|
+
await tsMorphGenerateSubgraph({
|
|
181
|
+
subgraphsDir: config.subgraphsDir,
|
|
182
|
+
subgraphName: name,
|
|
183
|
+
documentModel
|
|
184
|
+
});
|
|
185
|
+
await makeSubgraphsIndexFile({ projectDir: path$1.dirname(config.subgraphsDir) });
|
|
186
|
+
}
|
|
187
|
+
async function generateSubgraph(name, file, config) {
|
|
188
|
+
const documentModelState = file !== null ? await loadDocumentModel(file) : null;
|
|
189
|
+
await tsMorphGenerateSubgraph({
|
|
190
|
+
subgraphsDir: config.subgraphsDir,
|
|
191
|
+
subgraphName: name,
|
|
192
|
+
documentModel: documentModelState
|
|
193
|
+
});
|
|
194
|
+
await makeSubgraphsIndexFile({ projectDir: path$1.dirname(config.subgraphsDir) });
|
|
195
|
+
}
|
|
196
|
+
async function generateProcessor(args) {
|
|
197
|
+
const { rootDir = process.cwd() } = args;
|
|
198
|
+
return await tsMorphGenerateProcessor({
|
|
199
|
+
rootDir,
|
|
200
|
+
...args
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
async function generateImportScript(_name, _config) {
|
|
204
|
+
throw new Error("Import script generation has been removed. The document-drive server APIs it depended on have been deprecated.");
|
|
205
|
+
}
|
|
206
|
+
const defaultManifest = {
|
|
207
|
+
name: "",
|
|
208
|
+
description: "",
|
|
209
|
+
category: "",
|
|
210
|
+
publisher: {
|
|
211
|
+
name: "",
|
|
212
|
+
url: ""
|
|
213
|
+
},
|
|
214
|
+
documentModels: [],
|
|
215
|
+
editors: [],
|
|
216
|
+
apps: [],
|
|
217
|
+
subgraphs: [],
|
|
218
|
+
processors: []
|
|
219
|
+
};
|
|
220
|
+
function generateManifest(manifestData, projectRoot) {
|
|
221
|
+
const manifestPath = join(projectRoot || process.cwd(), "powerhouse.manifest.json");
|
|
222
|
+
let existingManifest = defaultManifest;
|
|
223
|
+
if (fs$1.existsSync(manifestPath)) try {
|
|
224
|
+
const existingData = fs$1.readFileSync(manifestPath, "utf-8");
|
|
225
|
+
existingManifest = JSON.parse(existingData);
|
|
226
|
+
} catch (error) {
|
|
227
|
+
console.warn(`Failed to parse existing manifest: ${String(error)}`);
|
|
228
|
+
existingManifest = defaultManifest;
|
|
229
|
+
}
|
|
230
|
+
const mergeArrayById = (existingArray, newArray) => {
|
|
231
|
+
if (!newArray) return existingArray;
|
|
232
|
+
const result = [...existingArray];
|
|
233
|
+
newArray.forEach((newItem) => {
|
|
234
|
+
const existingIndex = result.findIndex((item) => item.id === newItem.id);
|
|
235
|
+
if (existingIndex !== -1) result[existingIndex] = newItem;
|
|
236
|
+
else result.push(newItem);
|
|
237
|
+
});
|
|
238
|
+
return result;
|
|
239
|
+
};
|
|
240
|
+
const mergeConfigByName = (existingArray, newArray) => {
|
|
241
|
+
if (!newArray) return existingArray;
|
|
242
|
+
const result = [...existingArray];
|
|
243
|
+
newArray.forEach((newItem) => {
|
|
244
|
+
const existingIndex = result.findIndex((item) => item.name === newItem.name);
|
|
245
|
+
if (existingIndex !== -1) result[existingIndex] = newItem;
|
|
246
|
+
else result.push(newItem);
|
|
247
|
+
});
|
|
248
|
+
return result;
|
|
249
|
+
};
|
|
250
|
+
const updatedManifest = {
|
|
251
|
+
...existingManifest,
|
|
252
|
+
...manifestData,
|
|
253
|
+
publisher: {
|
|
254
|
+
...existingManifest.publisher,
|
|
255
|
+
...manifestData.publisher || {}
|
|
256
|
+
},
|
|
257
|
+
documentModels: mergeArrayById(existingManifest.documentModels ?? [], manifestData.documentModels),
|
|
258
|
+
editors: mergeArrayById(existingManifest.editors ?? [], manifestData.editors),
|
|
259
|
+
apps: mergeArrayById(existingManifest.apps ?? [], manifestData.apps),
|
|
260
|
+
subgraphs: mergeArrayById(existingManifest.subgraphs ?? [], manifestData.subgraphs),
|
|
261
|
+
config: mergeConfigByName(existingManifest.config ?? [], manifestData.config)
|
|
262
|
+
};
|
|
263
|
+
fs$1.writeFileSync(manifestPath, JSON.stringify(updatedManifest, null, 4));
|
|
264
|
+
return manifestPath;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Generates code from a DocumentModelGlobalState.
|
|
268
|
+
*
|
|
269
|
+
* @remarks
|
|
270
|
+
* This is the core generation function that both generateFromFile and generateFromDocument
|
|
271
|
+
* use internally. It handles the actual code generation from a DocumentModelGlobalState object.
|
|
272
|
+
*
|
|
273
|
+
* @param documentModel - The DocumentModelGlobalState containing the document model specification
|
|
274
|
+
* @param config - The PowerhouseConfig configuration object
|
|
275
|
+
* @param options - Optional configuration for generation behavior
|
|
276
|
+
* @returns A promise that resolves when code generation is complete
|
|
277
|
+
*/
|
|
278
|
+
async function generateFromDocumentModel(args) {
|
|
279
|
+
const { documentModelState, config, useVersioning, migrateLegacy, options = {} } = args;
|
|
280
|
+
const { verbose = config.logLevel === "verbose" || config.logLevel === "debug" || config.logLevel === "info", force = false } = options;
|
|
281
|
+
const name = kebabCase(documentModelState.name);
|
|
282
|
+
const documentModelDir = join(config.documentModelsDir, name);
|
|
283
|
+
fs$1.mkdirSync(documentModelDir, { recursive: true });
|
|
284
|
+
fs$1.writeFileSync(join(documentModelDir, `${name}.json`), JSON.stringify(documentModelState, null, 2));
|
|
285
|
+
await generateDocumentModel({
|
|
286
|
+
dir: config.documentModelsDir,
|
|
287
|
+
documentModelState,
|
|
288
|
+
watch: config.watch,
|
|
289
|
+
skipFormat: config.skipFormat,
|
|
290
|
+
verbose,
|
|
291
|
+
force,
|
|
292
|
+
useVersioning,
|
|
293
|
+
migrateLegacy
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
//#endregion
|
|
297
|
+
//#region src/codegen/kysely.ts
|
|
298
|
+
function getKyselyPgLiteBin() {
|
|
299
|
+
const paths = createRequire(import.meta.url).resolve.paths("kysely-pglite");
|
|
300
|
+
if (paths) for (const basePath of paths) {
|
|
301
|
+
const binPath = join(join(basePath, "kysely-pglite"), "bin/run.js");
|
|
302
|
+
if (existsSync(binPath)) return binPath;
|
|
303
|
+
}
|
|
304
|
+
throw new Error("Could not find kysely-pglite/bin/run.js");
|
|
305
|
+
}
|
|
306
|
+
function runCommand(command, args, cwd) {
|
|
307
|
+
return new Promise((resolve, reject) => {
|
|
308
|
+
const child = spawn(command, args, {
|
|
309
|
+
cwd,
|
|
310
|
+
stdio: "inherit",
|
|
311
|
+
shell: true
|
|
312
|
+
});
|
|
313
|
+
child.on("close", (code) => {
|
|
314
|
+
if (code === 0) resolve();
|
|
315
|
+
else reject(/* @__PURE__ */ new Error(`Command failed with exit code ${code}`));
|
|
316
|
+
});
|
|
317
|
+
child.on("error", (error) => {
|
|
318
|
+
reject(error);
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
async function generateDBSchema({ migrationFile, schemaFile }) {
|
|
323
|
+
const outFile = schemaFile ?? resolve(migrationFile, "../schema.ts");
|
|
324
|
+
try {
|
|
325
|
+
await runCommand("node", [
|
|
326
|
+
getKyselyPgLiteBin(),
|
|
327
|
+
migrationFile,
|
|
328
|
+
"--outFile",
|
|
329
|
+
outFile
|
|
330
|
+
], process.cwd());
|
|
331
|
+
console.log(`Schema types generated at ${outFile}`);
|
|
332
|
+
} catch (error) {
|
|
333
|
+
console.error("Error running migration:", error);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
//#endregion
|
|
337
|
+
//#region src/create-lib/utils.ts
|
|
338
|
+
const packageManagers = [
|
|
339
|
+
"npm",
|
|
340
|
+
"yarn",
|
|
341
|
+
"pnpm",
|
|
342
|
+
"bun"
|
|
343
|
+
];
|
|
344
|
+
const defaultPackageManager = "npm";
|
|
345
|
+
function getPackageManager(userAgent) {
|
|
346
|
+
if (!userAgent) return defaultPackageManager;
|
|
347
|
+
const name = userAgent.split(" ")[0].split("/")[0];
|
|
348
|
+
if (packageManagers.includes(name)) return name;
|
|
349
|
+
else return defaultPackageManager;
|
|
350
|
+
}
|
|
351
|
+
getPackageManager(process.env.npm_config_user_agent);
|
|
352
|
+
function runCmd(command) {
|
|
353
|
+
try {
|
|
354
|
+
execSync(command, { stdio: "inherit" });
|
|
355
|
+
} catch (error) {
|
|
356
|
+
console.log("\x1B[31m", error, "\x1B[0m");
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
async function writeFileEnsuringDir(filePath, contents) {
|
|
361
|
+
await mkdir(dirname(filePath), { recursive: true });
|
|
362
|
+
await writeFile(filePath, contents, { encoding: "utf-8" });
|
|
363
|
+
}
|
|
364
|
+
//#endregion
|
|
365
|
+
//#region src/create-lib/checkout-project.ts
|
|
366
|
+
/**
|
|
367
|
+
* Clones a git repository and returns the path to the cloned project.
|
|
368
|
+
* @param repositoryUrl - The URL of the git repository to clone
|
|
369
|
+
* @returns The absolute path to the cloned project directory
|
|
370
|
+
*/
|
|
371
|
+
function cloneRepository(repositoryUrl) {
|
|
372
|
+
try {
|
|
373
|
+
console.log("\x1B[33m", `Cloning repository from ${repositoryUrl}...`, "\x1B[0m");
|
|
374
|
+
runCmd(`git clone ${repositoryUrl}`);
|
|
375
|
+
const repoName = repositoryUrl.split("/").pop()?.replace(/\.git$/, "");
|
|
376
|
+
if (!repoName) throw new Error("Could not determine project name from repository URL");
|
|
377
|
+
return path$1.join(process.cwd(), repoName);
|
|
378
|
+
} catch (error) {
|
|
379
|
+
console.log(error);
|
|
380
|
+
throw error;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Installs dependencies in a project directory using the specified package manager.
|
|
385
|
+
* @param projectPath - The absolute path to the project directory
|
|
386
|
+
* @param packageManager - The package manager to use (npm, pnpm, yarn, bun)
|
|
387
|
+
*/
|
|
388
|
+
function installDependencies(projectPath, packageManager) {
|
|
389
|
+
try {
|
|
390
|
+
process.chdir(projectPath);
|
|
391
|
+
console.log("\x1B[34m", `Installing dependencies with ${packageManager}...`, "\x1B[0m");
|
|
392
|
+
runCmd(`${packageManager} install --loglevel error`);
|
|
393
|
+
console.log("\x1B[32m", "Dependencies installed successfully!", "\x1B[0m");
|
|
394
|
+
console.log();
|
|
395
|
+
} catch (error) {
|
|
396
|
+
console.log(error);
|
|
397
|
+
throw error;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
//#endregion
|
|
401
|
+
//#region src/templates/boilerplate/document-models/upgrade-manifests.ts
|
|
402
|
+
const upgradeManifestsTemplate = ts$1`
|
|
403
|
+
import type { UpgradeManifest } from "document-model";
|
|
404
|
+
|
|
405
|
+
export const upgradeManifests: UpgradeManifest<readonly number[]>[] = [];
|
|
406
|
+
`.raw;
|
|
407
|
+
//#endregion
|
|
408
|
+
//#region src/create-lib/create-project.ts
|
|
409
|
+
async function createProject({ name, packageManager, tag, version, remoteDrive, skipGitInit, skipInstall }) {
|
|
410
|
+
const appPath = path.join(process.cwd(), name);
|
|
411
|
+
try {
|
|
412
|
+
fs$1.mkdirSync(appPath);
|
|
413
|
+
} catch (err) {
|
|
414
|
+
if (err.code === "EEXIST") console.error(`⛔ The folder "${name}" already exists in the current directory, please give it another name.`);
|
|
415
|
+
else console.error(err);
|
|
416
|
+
process.exit(1);
|
|
417
|
+
}
|
|
418
|
+
try {
|
|
419
|
+
console.log(chalk.blue(`▶️ Creating directory for project "${name}"...\n`));
|
|
420
|
+
const appPath = path.join(process.cwd(), name);
|
|
421
|
+
process.chdir(appPath);
|
|
422
|
+
console.log(chalk.green(`✅ Project directory created\n`));
|
|
423
|
+
await writeFileEnsuringDir(".gitignore", gitIgnoreTemplate);
|
|
424
|
+
if (!skipGitInit) {
|
|
425
|
+
console.log(chalk.blue(`▶️ Initializing git repository...\n`));
|
|
426
|
+
runCmd(`git init`);
|
|
427
|
+
console.log(chalk.green(`\n✅ Git repository initialized\n`));
|
|
428
|
+
}
|
|
429
|
+
console.log(chalk.blue(`▶️ Creating project boilerplate files...\n`));
|
|
430
|
+
await writeProjectRootFiles({
|
|
431
|
+
name,
|
|
432
|
+
tag,
|
|
433
|
+
version,
|
|
434
|
+
remoteDrive
|
|
435
|
+
});
|
|
436
|
+
await writeModuleFiles();
|
|
437
|
+
await writeAiConfigFiles();
|
|
438
|
+
await writeCIFiles();
|
|
439
|
+
console.log(chalk.green(`✅ Project boilerplate files created\n`));
|
|
440
|
+
if (!skipInstall) {
|
|
441
|
+
console.log(chalk.blue(`▶️ Installing project dependencies with ${packageManager}...\n`));
|
|
442
|
+
runCmd(`${packageManager} install`);
|
|
443
|
+
console.log(chalk.green(`\n✅ Project dependencies installed\n`));
|
|
444
|
+
}
|
|
445
|
+
console.log(chalk.blue(`▶️ Formatting boilerplate project files...\n`));
|
|
446
|
+
await runPrettier();
|
|
447
|
+
console.log(chalk.green(`✅ Boilerplate files formatted\n`));
|
|
448
|
+
console.log(chalk.bold(`🎉 Successfully created project "${name}" 🎉\n`));
|
|
449
|
+
} catch (error) {
|
|
450
|
+
console.error(error);
|
|
451
|
+
process.exit(1);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
async function writeProjectRootFiles(args) {
|
|
455
|
+
const { name, tag, version, remoteDrive } = args;
|
|
456
|
+
await writeFileEnsuringDir("LICENSE", licenseTemplate);
|
|
457
|
+
await writeFileEnsuringDir("README.md", readmeTemplate);
|
|
458
|
+
await writeFileEnsuringDir(".npmrc", npmrcTemplate);
|
|
459
|
+
const packageJson = await buildBoilerplatePackageJson({
|
|
460
|
+
name,
|
|
461
|
+
tag,
|
|
462
|
+
version
|
|
463
|
+
});
|
|
464
|
+
await writeFileEnsuringDir("powerhouse.manifest.json", ManifestTemplate(name));
|
|
465
|
+
await writeFileEnsuringDir("powerhouse.config.json", await buildPowerhouseConfigTemplate({
|
|
466
|
+
tag,
|
|
467
|
+
version,
|
|
468
|
+
remoteDrive
|
|
469
|
+
}));
|
|
470
|
+
await writeFileEnsuringDir("package.json", packageJson);
|
|
471
|
+
await writeFileEnsuringDir("tsconfig.json", tsConfigTemplate);
|
|
472
|
+
await writeFileEnsuringDir("index.html", indexHtmlTemplate);
|
|
473
|
+
await writeFileEnsuringDir("main.tsx", mainTsxTemplate);
|
|
474
|
+
await writeFileEnsuringDir("eslint.config.js", eslintConfigTemplate);
|
|
475
|
+
await writeFileEnsuringDir("index.ts", indexTsTemplate);
|
|
476
|
+
await writeFileEnsuringDir("style.css", styleTemplate);
|
|
477
|
+
await writeFileEnsuringDir("vitest.config.ts", vitestConfigTemplate);
|
|
478
|
+
}
|
|
479
|
+
async function writeModuleFiles() {
|
|
480
|
+
await writeFileEnsuringDir("document-models/document-models.ts", documentModelsTemplate);
|
|
481
|
+
await writeFileEnsuringDir("document-models/index.ts", "");
|
|
482
|
+
await writeFileEnsuringDir("document-models/upgrade-manifests.ts", upgradeManifestsTemplate);
|
|
483
|
+
await writeFileEnsuringDir("editors/editors.ts", editorsTemplate);
|
|
484
|
+
await writeFileEnsuringDir("editors/index.ts", "");
|
|
485
|
+
await writeFileEnsuringDir("processors/factory.ts", processorsFactoryTemplate);
|
|
486
|
+
await writeFileEnsuringDir("processors/index.ts", processorsIndexTemplate);
|
|
487
|
+
await writeFileEnsuringDir("processors/connect.ts", factoryBuildersTemplate);
|
|
488
|
+
await writeFileEnsuringDir("processors/switchboard.ts", factoryBuildersTemplate);
|
|
489
|
+
await writeFileEnsuringDir("subgraphs/index.ts", "");
|
|
490
|
+
await writeFileEnsuringDir("processors/index.ts", processorsIndexTemplate);
|
|
491
|
+
}
|
|
492
|
+
async function writeAiConfigFiles() {
|
|
493
|
+
await writeFileEnsuringDir("CLAUDE.md", agentsTemplate);
|
|
494
|
+
await writeFileEnsuringDir("AGENTS.md", agentsTemplate);
|
|
495
|
+
await writeFileEnsuringDir(".mcp.json", mcpTemplate);
|
|
496
|
+
await writeFileEnsuringDir(".gemini/settings.json", geminiSettingsTemplate);
|
|
497
|
+
await writeFileEnsuringDir(".cursor/mcp.json", cursorMcpTemplate);
|
|
498
|
+
await writeFileEnsuringDir(".claude/settings.local.json", claudeSettingsLocalTemplate);
|
|
499
|
+
}
|
|
500
|
+
async function writeCIFiles() {
|
|
501
|
+
await writeFileEnsuringDir(".github/workflows/sync-and-publish.yml", syncAndPublishWorkflowTemplate);
|
|
502
|
+
await writeFileEnsuringDir("Dockerfile", dockerfileTemplate);
|
|
503
|
+
await writeFileEnsuringDir("docker/nginx.conf", nginxConfTemplate);
|
|
504
|
+
await writeFileEnsuringDir("docker/connect-entrypoint.sh", connectEntrypointTemplate);
|
|
505
|
+
await writeFileEnsuringDir("docker/switchboard-entrypoint.sh", switchboardEntrypointTemplate);
|
|
506
|
+
}
|
|
507
|
+
//#endregion
|
|
508
|
+
//#region src/ts-morph-generator/core/FileGenerator.ts
|
|
509
|
+
var FileGenerator = class {
|
|
510
|
+
constructor(importManager, directoryManager, declarationManager) {
|
|
511
|
+
this.importManager = importManager;
|
|
512
|
+
this.directoryManager = directoryManager;
|
|
513
|
+
this.declarationManager = declarationManager;
|
|
514
|
+
}
|
|
515
|
+
};
|
|
516
|
+
//#endregion
|
|
517
|
+
//#region src/ts-morph-generator/core/ReducerGenerator.ts
|
|
518
|
+
var ReducerGenerator = class ReducerGenerator extends FileGenerator {
|
|
519
|
+
async generate(context) {
|
|
520
|
+
if (context.operations.length === 0) return;
|
|
521
|
+
const filePath = this.getOutputPath(context);
|
|
522
|
+
const sourceFile = await this.directoryManager.createSourceFile(context.project, filePath);
|
|
523
|
+
const packageName = context.packageName;
|
|
524
|
+
const typeImportName = `${pascalCase(context.docModel.name)}${pascalCase(context.module.name)}Operations`;
|
|
525
|
+
const typeImportPath = `${packageName}/document-models/${kebabCase(context.docModel.name)}`;
|
|
526
|
+
this.importManager.replaceImportByName(sourceFile, typeImportName, typeImportPath, true);
|
|
527
|
+
this.createReducerObject(sourceFile, typeImportName, context);
|
|
528
|
+
this.addErrorImports(sourceFile, context);
|
|
529
|
+
await sourceFile.save();
|
|
530
|
+
}
|
|
531
|
+
static getDefaultReducerCode(methodName) {
|
|
532
|
+
return [`// TODO: Implement "${methodName}" reducer`, `throw new Error('Reducer "${methodName}" not yet implemented');`];
|
|
533
|
+
}
|
|
534
|
+
addErrorImports(sourceFile, context) {
|
|
535
|
+
const allErrors = [];
|
|
536
|
+
context.operations.forEach((operation) => {
|
|
537
|
+
if (Array.isArray(operation.errors)) operation.errors.filter((error) => error.name).forEach((error) => {
|
|
538
|
+
if (!allErrors.find((e) => e.name === error.name)) allErrors.push(error);
|
|
539
|
+
});
|
|
540
|
+
});
|
|
541
|
+
if (allErrors.length === 0) return;
|
|
542
|
+
const sourceFileContent = sourceFile.getFullText();
|
|
543
|
+
const usedErrors = /* @__PURE__ */ new Set();
|
|
544
|
+
allErrors.forEach((error) => {
|
|
545
|
+
if (new RegExp(`\\b${error.name}\\b`, "g").test(sourceFileContent)) usedErrors.add(error.name);
|
|
546
|
+
});
|
|
547
|
+
if (usedErrors.size > 0) {
|
|
548
|
+
const errorImportPath = `../../gen/${kebabCase(context.module.name)}/error.js`;
|
|
549
|
+
const errorClassNames = Array.from(usedErrors);
|
|
550
|
+
const existingErrorImport = sourceFile.getImportDeclarations().find((importDecl) => importDecl.getModuleSpecifierValue() === errorImportPath);
|
|
551
|
+
if (existingErrorImport) {
|
|
552
|
+
const existingNamedImports = existingErrorImport.getNamedImports().map((namedImport) => namedImport.getName());
|
|
553
|
+
const newErrorsToImport = errorClassNames.filter((errorName) => !existingNamedImports.includes(errorName));
|
|
554
|
+
if (newErrorsToImport.length > 0) existingErrorImport.addNamedImports(newErrorsToImport);
|
|
555
|
+
} else this.importManager.addNamedImports(sourceFile, errorClassNames, errorImportPath);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
getOutputPath(context) {
|
|
559
|
+
return this.directoryManager.getReducerPath(context.rootDir, context.docModel.name, context.module.name);
|
|
560
|
+
}
|
|
561
|
+
createReducerObject(sourceFile, typeName, context) {
|
|
562
|
+
const { operations, forceUpdate } = context;
|
|
563
|
+
const operationHandlersObjectName = `${camelCase(context.docModel.name)}${pascalCase(context.module.name)}Operations`;
|
|
564
|
+
if (sourceFile.getVariableDeclaration("reducer")) this.declarationManager.renameVariable(sourceFile, "reducer", operationHandlersObjectName);
|
|
565
|
+
let reducerVar = sourceFile.getVariableDeclaration(operationHandlersObjectName);
|
|
566
|
+
if (!reducerVar) {
|
|
567
|
+
sourceFile.addVariableStatement({
|
|
568
|
+
declarationKind: VariableDeclarationKind.Const,
|
|
569
|
+
isExported: true,
|
|
570
|
+
declarations: [{
|
|
571
|
+
name: operationHandlersObjectName,
|
|
572
|
+
type: typeName,
|
|
573
|
+
initializer: "{}"
|
|
574
|
+
}]
|
|
575
|
+
});
|
|
576
|
+
reducerVar = sourceFile.getVariableDeclarationOrThrow(operationHandlersObjectName);
|
|
577
|
+
} else {
|
|
578
|
+
const typeNode = reducerVar.getTypeNode();
|
|
579
|
+
if (!typeNode || typeNode.getText() !== typeName) reducerVar.setType(typeName);
|
|
580
|
+
}
|
|
581
|
+
const initializer = reducerVar.getInitializerIfKindOrThrow(SyntaxKind.ObjectLiteralExpression);
|
|
582
|
+
for (const operation of operations) this.addReducerMethod(initializer, operation, forceUpdate);
|
|
583
|
+
}
|
|
584
|
+
addReducerMethod(objectLiteral, operation, forceUpdate = false) {
|
|
585
|
+
const actionName = camelCase(operation.name ?? "");
|
|
586
|
+
if (!actionName) return;
|
|
587
|
+
const methodName = `${actionName}Operation`;
|
|
588
|
+
const reducerCode = operation.reducer?.trim();
|
|
589
|
+
const existingReducer = objectLiteral.getProperty(methodName)?.asKind(SyntaxKind.MethodDeclaration);
|
|
590
|
+
if (existingReducer) {
|
|
591
|
+
if (forceUpdate && reducerCode) {
|
|
592
|
+
existingReducer.setBodyText("");
|
|
593
|
+
this.setReducerMethodCode(existingReducer, reducerCode);
|
|
594
|
+
}
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
const method = objectLiteral.addMethod({
|
|
598
|
+
name: methodName,
|
|
599
|
+
parameters: [{ name: "state" }, { name: "action" }]
|
|
600
|
+
});
|
|
601
|
+
this.setReducerMethodCode(method, reducerCode);
|
|
602
|
+
}
|
|
603
|
+
setReducerMethodCode(reducer, code) {
|
|
604
|
+
reducer.addStatements(code ? [code] : ReducerGenerator.getDefaultReducerCode(reducer.getName()));
|
|
605
|
+
}
|
|
606
|
+
};
|
|
607
|
+
//#endregion
|
|
608
|
+
//#region src/ts-morph-generator/utilities/DeclarationManager.ts
|
|
609
|
+
var DeclarationManager = class {
|
|
610
|
+
renameVariable(sourceFile, oldName, newName) {
|
|
611
|
+
const variable = sourceFile.getVariableDeclaration(oldName);
|
|
612
|
+
if (variable) {
|
|
613
|
+
variable.getNameNode().replaceWithText(newName);
|
|
614
|
+
sourceFile.saveSync();
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
//#endregion
|
|
619
|
+
//#region src/ts-morph-generator/utilities/DirectoryManager.ts
|
|
620
|
+
var DirectoryManager = class {
|
|
621
|
+
directories = {
|
|
622
|
+
documentModelDir: "document-model",
|
|
623
|
+
editorsDir: "editors",
|
|
624
|
+
processorsDir: "processors",
|
|
625
|
+
subgraphsDir: "subgraphs"
|
|
626
|
+
};
|
|
627
|
+
constructor(directories = {}) {
|
|
628
|
+
this.directories = {
|
|
629
|
+
...this.directories,
|
|
630
|
+
...directories
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
async ensureExists(dirPath) {
|
|
634
|
+
try {
|
|
635
|
+
await fs$2.mkdir(dirPath, { recursive: true });
|
|
636
|
+
} catch (err) {
|
|
637
|
+
console.error(`Failed to create directory: ${dirPath}`, err);
|
|
638
|
+
throw err;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
getReducerPath(rootDir, docModelName, moduleName) {
|
|
642
|
+
return path.join(rootDir, this.directories.documentModelDir, kebabCase(docModelName), "src", "reducers", `${kebabCase(moduleName)}.ts`);
|
|
643
|
+
}
|
|
644
|
+
getActionsPath(rootDir, docModelName, moduleName) {
|
|
645
|
+
return path.join(rootDir, this.directories.documentModelDir, kebabCase(docModelName), "src", "actions", `${kebabCase(moduleName)}.ts`);
|
|
646
|
+
}
|
|
647
|
+
getComponentPath(rootDir, docModelName, componentName) {
|
|
648
|
+
return path.join(rootDir, this.directories.documentModelDir, kebabCase(docModelName), "src", "components", `${pascalCase(componentName)}.tsx`);
|
|
649
|
+
}
|
|
650
|
+
getTypesPath(rootDir, docModelName) {
|
|
651
|
+
return path.join(rootDir, this.directories.documentModelDir, kebabCase(docModelName), "src", "types.ts");
|
|
652
|
+
}
|
|
653
|
+
async createSourceFile(project, filePath) {
|
|
654
|
+
await this.ensureExists(path.dirname(filePath));
|
|
655
|
+
return project.addSourceFileAtPathIfExists(filePath) ?? project.createSourceFile(filePath, "", { overwrite: false });
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
//#endregion
|
|
659
|
+
//#region src/ts-morph-generator/utilities/ImportManager.ts
|
|
660
|
+
var ImportManager = class {
|
|
661
|
+
addImport(sourceFile, spec) {
|
|
662
|
+
const existing = sourceFile.getImportDeclaration((imp) => imp.getFullText() === spec.moduleSpecifier);
|
|
663
|
+
if (existing) this.mergeImports(existing, spec);
|
|
664
|
+
else sourceFile.addImportDeclaration(spec);
|
|
665
|
+
}
|
|
666
|
+
addTypeImport(sourceFile, typeName, path) {
|
|
667
|
+
this.addImport(sourceFile, {
|
|
668
|
+
moduleSpecifier: path,
|
|
669
|
+
namedImports: [typeName],
|
|
670
|
+
isTypeOnly: true
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
addNamedImports(sourceFile, imports, path) {
|
|
674
|
+
this.addImport(sourceFile, {
|
|
675
|
+
moduleSpecifier: path,
|
|
676
|
+
namedImports: imports
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
mergeImports(existingImport, newSpec) {
|
|
680
|
+
if (newSpec.namedImports) {
|
|
681
|
+
const existingNames = existingImport.getNamedImports().map((ni) => ni.getName());
|
|
682
|
+
const newNames = newSpec.namedImports.filter((name) => !existingNames.includes(name));
|
|
683
|
+
if (newNames.length > 0) existingImport.addNamedImports(newNames);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
replaceImportByName(sourceFile, name, path, isTypeOnly = false) {
|
|
687
|
+
sourceFile.getImportDeclarations().filter((imp) => imp.getNamedImports().find((ni) => ni.getName() === name)).forEach((imp) => imp.remove());
|
|
688
|
+
sourceFile.addImportDeclaration({
|
|
689
|
+
moduleSpecifier: path,
|
|
690
|
+
namedImports: [name],
|
|
691
|
+
isTypeOnly
|
|
692
|
+
});
|
|
693
|
+
sourceFile.saveSync();
|
|
694
|
+
}
|
|
695
|
+
};
|
|
696
|
+
//#endregion
|
|
697
|
+
//#region src/ts-morph-generator/core/TSMorphCodeGenerator.ts
|
|
698
|
+
var TSMorphCodeGenerator = class {
|
|
699
|
+
project = new Project();
|
|
700
|
+
generators = /* @__PURE__ */ new Map();
|
|
701
|
+
directories = {
|
|
702
|
+
documentModelDir: "document-model",
|
|
703
|
+
editorsDir: "editors",
|
|
704
|
+
processorsDir: "processors",
|
|
705
|
+
subgraphsDir: "subgraphs"
|
|
706
|
+
};
|
|
707
|
+
forceUpdate = false;
|
|
708
|
+
constructor(rootDir, docModels, packageName, options = {
|
|
709
|
+
directories: {},
|
|
710
|
+
forceUpdate: false
|
|
711
|
+
}) {
|
|
712
|
+
this.rootDir = rootDir;
|
|
713
|
+
this.docModels = docModels;
|
|
714
|
+
this.packageName = packageName;
|
|
715
|
+
this.directories = {
|
|
716
|
+
...this.directories,
|
|
717
|
+
...options.directories
|
|
718
|
+
};
|
|
719
|
+
this.packageName = packageName;
|
|
720
|
+
this.forceUpdate = options.forceUpdate ?? false;
|
|
721
|
+
this.setupGenerators();
|
|
722
|
+
}
|
|
723
|
+
setupGenerators() {
|
|
724
|
+
const importManager = new ImportManager();
|
|
725
|
+
const directoryManager = new DirectoryManager(this.directories);
|
|
726
|
+
const declarationManager = new DeclarationManager();
|
|
727
|
+
this.generators.set("reducers", new ReducerGenerator(importManager, directoryManager, declarationManager));
|
|
728
|
+
}
|
|
729
|
+
async generateReducers() {
|
|
730
|
+
await this.generateFileType("reducers");
|
|
731
|
+
}
|
|
732
|
+
async generateAll() {
|
|
733
|
+
for (const [type] of this.generators) await this.generateFileType(type);
|
|
734
|
+
}
|
|
735
|
+
async generateFileType(type) {
|
|
736
|
+
const generator = this.generators.get(type);
|
|
737
|
+
if (!generator) throw new Error(`No generator registered for type: ${type}`);
|
|
738
|
+
await this.setupProject();
|
|
739
|
+
for (const docModel of this.docModels) {
|
|
740
|
+
const latestSpec = docModel.specifications[docModel.specifications.length - 1];
|
|
741
|
+
for (const module of latestSpec.modules) {
|
|
742
|
+
const context = this.createGenerationContext(docModel, module, this.forceUpdate);
|
|
743
|
+
await generator.generate(context);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
async setupProject() {
|
|
748
|
+
const sourcePaths = [];
|
|
749
|
+
if (this.directories.documentModelDir) {
|
|
750
|
+
const dirPath = `${this.rootDir}/${this.directories.documentModelDir}`;
|
|
751
|
+
await this.ensureDirectoryExists(dirPath);
|
|
752
|
+
sourcePaths.push(`${dirPath}/**/*.ts`);
|
|
753
|
+
}
|
|
754
|
+
if (this.directories.editorsDir) {
|
|
755
|
+
const dirPath = `${this.rootDir}/${this.directories.editorsDir}`;
|
|
756
|
+
await this.ensureDirectoryExists(dirPath);
|
|
757
|
+
sourcePaths.push(`${dirPath}/**/*.ts`);
|
|
758
|
+
}
|
|
759
|
+
if (this.directories.processorsDir) {
|
|
760
|
+
const dirPath = `${this.rootDir}/${this.directories.processorsDir}`;
|
|
761
|
+
await this.ensureDirectoryExists(dirPath);
|
|
762
|
+
sourcePaths.push(`${dirPath}/**/*.ts`);
|
|
763
|
+
}
|
|
764
|
+
if (this.directories.subgraphsDir) {
|
|
765
|
+
const dirPath = `${this.rootDir}/${this.directories.subgraphsDir}`;
|
|
766
|
+
await this.ensureDirectoryExists(dirPath);
|
|
767
|
+
sourcePaths.push(`${dirPath}/**/*.ts`);
|
|
768
|
+
}
|
|
769
|
+
sourcePaths.push(`!${this.rootDir}/**/node_modules/**`);
|
|
770
|
+
if (sourcePaths.length > 0) this.project.addSourceFilesAtPaths(sourcePaths);
|
|
771
|
+
}
|
|
772
|
+
createGenerationContext(docModel, module, forceUpdate = false) {
|
|
773
|
+
const operations = module.operations.map((op) => ({
|
|
774
|
+
...op,
|
|
775
|
+
hasInput: op.schema !== null,
|
|
776
|
+
hasAttachment: op.schema?.includes(": Attachment"),
|
|
777
|
+
scope: op.scope || "global",
|
|
778
|
+
state: op.scope === "global" ? "" : op.scope
|
|
779
|
+
}));
|
|
780
|
+
return {
|
|
781
|
+
rootDir: this.rootDir,
|
|
782
|
+
packageName: this.packageName,
|
|
783
|
+
docModel,
|
|
784
|
+
module,
|
|
785
|
+
project: this.project,
|
|
786
|
+
operations,
|
|
787
|
+
forceUpdate
|
|
788
|
+
};
|
|
789
|
+
}
|
|
790
|
+
async ensureDirectoryExists(dirPath) {
|
|
791
|
+
try {
|
|
792
|
+
await fs$2.mkdir(dirPath, { recursive: true });
|
|
793
|
+
} catch (err) {
|
|
794
|
+
console.error(`Failed to create directory: ${dirPath}`, err);
|
|
795
|
+
throw err;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
};
|
|
799
|
+
//#endregion
|
|
800
|
+
export { DeclarationManager, DirectoryManager, ImportManager, ReducerGenerator, TSMorphCodeGenerator, cloneRepository, configSpec, createProject, formatWithPrettierBeforeWrite, generate, generateAll, generateApp, generateDBSchema, generateDocumentModel, generateDocumentModelZodSchemas, generateEditor, generateFromDocument, generateFromFile, generateImportScript, generateManifest, generateProcessor, generateSchemas, generateSubgraph, generateSubgraphFromDocumentModel, generateTypesAndZodSchemasFromGraphql, getDocumentTypesMap, installDependencies, loadDocumentModel, parseArgs, parseConfig, scalars, scalarsValidation, validateDocumentModelState };
|
|
801
|
+
|
|
802
|
+
//# sourceMappingURL=index.mjs.map
|