@powerhousedao/codegen 5.1.0 → 5.2.0-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +3 -3
- 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 +113 -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 +8 -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 +142 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
- 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 +11 -68
- package/dist/src/codegen/hygen.js.map +1 -1
- 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/ts-morph-utils/constants.d.ts +18 -0
- package/dist/src/ts-morph-utils/constants.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/constants.js +18 -0
- package/dist/src/ts-morph-utils/constants.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts +28 -0
- package/dist/src/ts-morph-utils/file-builders/document-editor.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-editor.js +305 -0
- package/dist/src/ts-morph-utils/file-builders/document-editor.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts +3 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +216 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts +3 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +55 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts +3 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +252 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +32 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/types.js +2 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/types.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +8 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.js +250 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts +56 -0
- package/dist/src/ts-morph-utils/file-builders/drive-editor.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/drive-editor.js +341 -0
- package/dist/src/ts-morph-utils/file-builders/drive-editor.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts +3 -0
- package/dist/src/ts-morph-utils/file-builders/editor-common.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/editor-common.js +15 -0
- package/dist/src/ts-morph-utils/file-builders/editor-common.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +18 -0
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/index-files.js +25 -0
- package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/module-files.d.ts +25 -0
- package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/module-files.js +104 -0
- package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts +6 -0
- package/dist/src/ts-morph-utils/file-builders/subgraphs.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/subgraphs.js +53 -0
- package/dist/src/ts-morph-utils/file-builders/subgraphs.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/types.d.ts +13 -0
- package/dist/src/ts-morph-utils/file-builders/types.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/types.js +2 -0
- package/dist/src/ts-morph-utils/file-builders/types.js.map +1 -0
- package/dist/src/ts-morph-utils/file-utils.d.ts +28 -0
- package/dist/src/ts-morph-utils/file-utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-utils.js +102 -0
- package/dist/src/ts-morph-utils/file-utils.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/common-files.d.ts +5 -0
- package/dist/src/ts-morph-utils/name-builders/common-files.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/common-files.js +15 -0
- package/dist/src/ts-morph-utils/name-builders/common-files.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts +4 -0
- package/dist/src/ts-morph-utils/name-builders/document-model-files.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/document-model-files.js +12 -0
- package/dist/src/ts-morph-utils/name-builders/document-model-files.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts +10 -0
- package/dist/src/ts-morph-utils/name-builders/editor-files.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/editor-files.js +37 -0
- package/dist/src/ts-morph-utils/name-builders/editor-files.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts +4 -0
- package/dist/src/ts-morph-utils/name-builders/get-file-paths.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/get-file-paths.js +21 -0
- package/dist/src/ts-morph-utils/name-builders/get-file-paths.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +37 -0
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +145 -0
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/types.d.ts +18 -0
- package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/types.js +2 -0
- package/dist/src/ts-morph-utils/name-builders/types.js.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/variables.d.ts +12 -0
- package/dist/src/ts-morph-utils/name-builders/variables.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/name-builders/variables.js +35 -0
- package/dist/src/ts-morph-utils/name-builders/variables.js.map +1 -0
- package/dist/src/ts-morph-utils/syntax-builders.d.ts +72 -0
- package/dist/src/ts-morph-utils/syntax-builders.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/syntax-builders.js +201 -0
- package/dist/src/ts-morph-utils/syntax-builders.js.map +1 -0
- package/dist/src/ts-morph-utils/syntax-getters.d.ts +11 -0
- package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/syntax-getters.js +45 -0
- package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/actions.js +28 -0
- package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js +40 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js +16 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js +56 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +5 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.js +29 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts +8 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js +39 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/actions.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js +94 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js +73 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js +61 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js +93 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +106 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts +2 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js +6 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/schema/index.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +38 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +77 -0
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js +49 -0
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/index.d.ts +2 -0
- package/dist/src/ts-morph-utils/templates/document-model/index.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/index.js +9 -0
- package/dist/src/ts-morph-utils/templates/document-model/index.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +8 -0
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/module.js +25 -0
- package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts +2 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/index.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/index.js +5 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/index.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +121 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +6 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +87 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts +2 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/utils.js +5 -0
- package/dist/src/ts-morph-utils/templates/document-model/src/utils.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts +3 -0
- package/dist/src/ts-morph-utils/templates/document-model/utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/utils.js +11 -0
- package/dist/src/ts-morph-utils/templates/document-model/utils.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/drive-editor.d.ts +5 -0
- package/dist/src/ts-morph-utils/templates/drive-editor.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/drive-editor.js +211 -0
- package/dist/src/ts-morph-utils/templates/drive-editor.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts +8 -0
- package/dist/src/ts-morph-utils/templates/unsafe-utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/unsafe-utils.js +23 -0
- package/dist/src/ts-morph-utils/templates/unsafe-utils.js.map +1 -0
- package/dist/src/ts-morph-utils/templates/utils.d.ts +6 -0
- package/dist/src/ts-morph-utils/templates/utils.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/utils.js +16 -0
- package/dist/src/ts-morph-utils/templates/utils.js.map +1 -0
- package/dist/src/ts-morph-utils/ts-morph-project.d.ts +3 -0
- package/dist/src/ts-morph-utils/ts-morph-project.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/ts-morph-project.js +9 -0
- package/dist/src/ts-morph-utils/ts-morph-project.js.map +1 -0
- package/dist/src/ts-morph-utils/types.d.ts +34 -0
- package/dist/src/ts-morph-utils/types.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/types.js +2 -0
- package/dist/src/ts-morph-utils/types.js.map +1 -0
- 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/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -14
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/codegen",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0-staging.1",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -14,32 +14,35 @@
|
|
|
14
14
|
"exports": "./dist/index.js",
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@acaldas/graphql-codegen-typescript-validation-schema": "^0.12.4",
|
|
18
17
|
"@anatine/zod-mock": "^3.13.3",
|
|
19
18
|
"@faker-js/faker": "^8.3.1",
|
|
20
|
-
"@graphql-codegen/cli": "^
|
|
21
|
-
"@graphql-codegen/
|
|
19
|
+
"@graphql-codegen/cli": "^6.1.0",
|
|
20
|
+
"@graphql-codegen/core": "^5.0.0",
|
|
21
|
+
"@graphql-codegen/typescript": "^5.0.6",
|
|
22
22
|
"@powerhousedao/document-engineering": "^1.30.0",
|
|
23
|
+
"@tmpl/core": "npm:@jsr/tmpl__core@^0.6.3",
|
|
23
24
|
"@types/node": "^24.6.1",
|
|
24
25
|
"arg": "^5.0.2",
|
|
25
26
|
"change-case": "^4.1.2",
|
|
26
27
|
"enquirer": "^2.4.1",
|
|
27
28
|
"execa": "^8.0.1",
|
|
28
29
|
"graphql": "^16.11.0",
|
|
30
|
+
"graphql-codegen-typescript-validation-schema": "^0.18.1",
|
|
29
31
|
"hygen": "^6.2.11",
|
|
30
32
|
"kysely": "^0.28.2",
|
|
31
33
|
"kysely-pglite": "^0.6.1",
|
|
32
34
|
"prettier": "^3.6.2",
|
|
33
35
|
"read-pkg": "^9.0.1",
|
|
36
|
+
"semver": "^7.7.3",
|
|
34
37
|
"ts-morph": "^26.0.0",
|
|
35
|
-
"
|
|
36
|
-
"@powerhousedao/
|
|
37
|
-
"@powerhousedao/
|
|
38
|
-
"@powerhousedao/
|
|
39
|
-
"
|
|
38
|
+
"zocker": "^3.0.0",
|
|
39
|
+
"@powerhousedao/common": "5.2.0-staging.1",
|
|
40
|
+
"@powerhousedao/config": "5.2.0-staging.1",
|
|
41
|
+
"@powerhousedao/design-system": "5.2.0-staging.1",
|
|
42
|
+
"@powerhousedao/reactor-browser": "5.2.0-staging.1",
|
|
43
|
+
"document-model": "5.2.0-staging.1"
|
|
40
44
|
},
|
|
41
45
|
"devDependencies": {
|
|
42
|
-
"@graphql-codegen/core": "^4.0.2",
|
|
43
46
|
"@powerhousedao/analytics-engine-core": "^0.5.0",
|
|
44
47
|
"@types/react": "^19.2.0",
|
|
45
48
|
"@types/react-dom": "^19.2.0",
|
|
@@ -49,8 +52,8 @@
|
|
|
49
52
|
"react": "^19.2.0",
|
|
50
53
|
"react-dom": "^19.2.0",
|
|
51
54
|
"vitest": "^3.2.4",
|
|
52
|
-
"zod": "^
|
|
53
|
-
"document-drive": "5.
|
|
55
|
+
"zod": "^4.1.13",
|
|
56
|
+
"document-drive": "5.2.0-staging.1"
|
|
54
57
|
},
|
|
55
58
|
"scripts": {
|
|
56
59
|
"tsc": "tsc",
|
|
@@ -60,7 +63,10 @@
|
|
|
60
63
|
"build:create-lib": "tsc --project src/create-lib/tsconfig.json",
|
|
61
64
|
"publish:create-lib": "npm publish --cwd ./src/create-lib/",
|
|
62
65
|
"start": "tsx src/cli.ts",
|
|
63
|
-
"
|
|
64
|
-
"test
|
|
66
|
+
"pretest": "npm run build",
|
|
67
|
+
"test": "vitest run",
|
|
68
|
+
"test:keep": "KEEP_TEST_OUTPUT=true npm run test",
|
|
69
|
+
"test:hygen": "USE_TS_MORPH=false npm run test",
|
|
70
|
+
"test:keep:hygen": "USE_TS_MORPH=false KEEP_TEST_OUTPUT=true npm run test"
|
|
65
71
|
}
|
|
66
72
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-schemas.test.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import * as validationPlugin from "@acaldas/graphql-codegen-typescript-validation-schema";
|
|
2
|
-
import { codegen } from "@graphql-codegen/core";
|
|
3
|
-
import * as typescriptPlugin from "@graphql-codegen/typescript";
|
|
4
|
-
import { parse } from "graphql";
|
|
5
|
-
import { mkdirSync, readFileSync, rmSync } from "node:fs";
|
|
6
|
-
import path from "node:path";
|
|
7
|
-
import { afterAll, beforeAll, describe, expect, it, } from "vitest";
|
|
8
|
-
import { scalars, tsConfig, zodConfig } from "../graphql.js";
|
|
9
|
-
import { PURGE_AFTER_TEST } from "./config.js";
|
|
10
|
-
import { GENERATE_SCHEMAS_TEST_OUTPUT_DIR, SCHEMAS_TEST_PROJECT, } from "./constants.js";
|
|
11
|
-
import { copyAllFiles, getTestDataDir, getTestOutDirPath, getTestOutputDir, } from "./utils.js";
|
|
12
|
-
describe("graphql codegen", () => {
|
|
13
|
-
const testDir = import.meta.dirname;
|
|
14
|
-
const outDirName = getTestOutputDir(testDir, GENERATE_SCHEMAS_TEST_OUTPUT_DIR);
|
|
15
|
-
const testDataDir = getTestDataDir(testDir, SCHEMAS_TEST_PROJECT);
|
|
16
|
-
let testOutDirPath = getTestOutDirPath("initial", outDirName);
|
|
17
|
-
const documentDriveSchema = readFileSync(path.join(testDataDir, "schema.graphql"), "utf-8");
|
|
18
|
-
async function setupTest(context, testDataDir) {
|
|
19
|
-
testOutDirPath = getTestOutDirPath(context.task.name, outDirName);
|
|
20
|
-
await copyAllFiles(testDataDir, testOutDirPath);
|
|
21
|
-
}
|
|
22
|
-
beforeAll(() => {
|
|
23
|
-
try {
|
|
24
|
-
rmSync(outDirName, { recursive: true, force: true });
|
|
25
|
-
mkdirSync(outDirName, { recursive: true });
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
// Ignore error if folder doesn't exist
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
afterAll(() => {
|
|
32
|
-
if (PURGE_AFTER_TEST) {
|
|
33
|
-
rmSync(outDirName, { recursive: true, force: true });
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
it("should generate correct typescript code for schema", async (context) => {
|
|
37
|
-
await setupTest(context, testDataDir);
|
|
38
|
-
const schema = `
|
|
39
|
-
${Object.keys(scalars)
|
|
40
|
-
.map((scalar) => `scalar ${scalar}`)
|
|
41
|
-
.join("\n")}
|
|
42
|
-
type User {
|
|
43
|
-
id: ID!
|
|
44
|
-
name: String!
|
|
45
|
-
email: String
|
|
46
|
-
address: Address
|
|
47
|
-
createdAt: DateTime!
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
type Query {
|
|
51
|
-
user(id: ID!): User
|
|
52
|
-
users: [User!]!
|
|
53
|
-
}
|
|
54
|
-
`;
|
|
55
|
-
const result = await codegen({
|
|
56
|
-
filename: "",
|
|
57
|
-
plugins: [
|
|
58
|
-
{
|
|
59
|
-
typescript: tsConfig,
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
schema: parse(schema),
|
|
63
|
-
documents: [],
|
|
64
|
-
config: {},
|
|
65
|
-
pluginMap: {
|
|
66
|
-
typescript: typescriptPlugin,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
expect(result).toMatchSnapshot();
|
|
70
|
-
});
|
|
71
|
-
it("should generate correct zod code for schema", async (context) => {
|
|
72
|
-
await setupTest(context, testDataDir);
|
|
73
|
-
const schema = `
|
|
74
|
-
${Object.keys(scalars)
|
|
75
|
-
.map((scalar) => `scalar ${scalar}`)
|
|
76
|
-
.join("\n")}
|
|
77
|
-
type User {
|
|
78
|
-
id: ID!
|
|
79
|
-
name: String!
|
|
80
|
-
email: String
|
|
81
|
-
address: Address
|
|
82
|
-
createdAt: DateTime!
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
type Query {
|
|
86
|
-
user(id: ID!): User
|
|
87
|
-
users: [User!]!
|
|
88
|
-
}
|
|
89
|
-
`;
|
|
90
|
-
const result = await codegen({
|
|
91
|
-
filename: "",
|
|
92
|
-
plugins: [
|
|
93
|
-
{
|
|
94
|
-
"graphql-codegen-typescript-validation-schema": zodConfig,
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
schema: parse(schema),
|
|
98
|
-
documents: [],
|
|
99
|
-
config: {},
|
|
100
|
-
pluginMap: {
|
|
101
|
-
"graphql-codegen-typescript-validation-schema": validationPlugin,
|
|
102
|
-
},
|
|
103
|
-
});
|
|
104
|
-
expect(result).toMatchSnapshot();
|
|
105
|
-
});
|
|
106
|
-
it("should generate correct typescript code for drive schema", async (context) => {
|
|
107
|
-
await setupTest(context, testDataDir);
|
|
108
|
-
const result = await codegen({
|
|
109
|
-
filename: "",
|
|
110
|
-
plugins: [
|
|
111
|
-
{
|
|
112
|
-
typescript: tsConfig,
|
|
113
|
-
},
|
|
114
|
-
],
|
|
115
|
-
schema: parse(documentDriveSchema),
|
|
116
|
-
documents: [],
|
|
117
|
-
config: {},
|
|
118
|
-
pluginMap: {
|
|
119
|
-
typescript: typescriptPlugin,
|
|
120
|
-
},
|
|
121
|
-
});
|
|
122
|
-
expect(result).toMatchSnapshot();
|
|
123
|
-
});
|
|
124
|
-
it("should generate correct zod code for drive schema", async (context) => {
|
|
125
|
-
await setupTest(context, testDataDir);
|
|
126
|
-
const result = await codegen({
|
|
127
|
-
filename: "",
|
|
128
|
-
plugins: [
|
|
129
|
-
{
|
|
130
|
-
"@acaldas/graphql-codegen-typescript-validation-schema": zodConfig,
|
|
131
|
-
},
|
|
132
|
-
],
|
|
133
|
-
schema: parse(documentDriveSchema),
|
|
134
|
-
documents: [],
|
|
135
|
-
config: {},
|
|
136
|
-
pluginMap: {
|
|
137
|
-
"@acaldas/graphql-codegen-typescript-validation-schema": validationPlugin,
|
|
138
|
-
},
|
|
139
|
-
});
|
|
140
|
-
expect(result).toMatchSnapshot();
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
//# sourceMappingURL=generate-schemas.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-schemas.test.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generate-schemas.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { ArrayLiteralExpression, ObjectLiteralExpression, SourceFile, StringLiteral } from "ts-morph";
|
|
2
|
-
import { Project, SyntaxKind } from "ts-morph";
|
|
3
|
-
type MakeSubgraphsIndexFileArgs = {
|
|
4
|
-
projectDir: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function makeSubgraphsIndexFile({ projectDir, }: MakeSubgraphsIndexFileArgs): void;
|
|
7
|
-
type MakeModuleFileArgs = {
|
|
8
|
-
/** The root directory of the project */
|
|
9
|
-
projectDir: string;
|
|
10
|
-
/** The directory containing the module.ts files to generate from */
|
|
11
|
-
modulesDir: string;
|
|
12
|
-
/** The name of the output file which exports the modules, e.g. 'document-models.ts' or 'editors.ts' */
|
|
13
|
-
outputFileName: string;
|
|
14
|
-
/** The type name of the modules exported by the module.ts files, e.g. 'DocumentModelModule' or 'EditorModule' */
|
|
15
|
-
typeName: string;
|
|
16
|
-
/** The name of the variable that exports the modules, e.g. 'documentModels' or 'editors' */
|
|
17
|
-
variableName: string;
|
|
18
|
-
/** The type of the variable that exports the modules, e.g. 'DocumentModelModule<any>[]' or 'EditorModule[]' */
|
|
19
|
-
variableType: string;
|
|
20
|
-
/** Whether to make a legacy index.ts file for the modules, to be removed in the future */
|
|
21
|
-
shouldMakeLegacyIndexFile?: boolean;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
|
|
25
|
-
*/
|
|
26
|
-
export declare function makeModulesFile({ projectDir, modulesDir, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile, }: MakeModuleFileArgs): void;
|
|
27
|
-
type MakeLegacyIndexFileArgs = {
|
|
28
|
-
/** The project to make the legacy index file for */
|
|
29
|
-
project: Project;
|
|
30
|
-
/** The root directory of the project */
|
|
31
|
-
projectDir: string;
|
|
32
|
-
/** The directory containing the module.ts files to generate from */
|
|
33
|
-
modulesDir: string;
|
|
34
|
-
/** The source file for the modules file which exports the modules, we can use this instead of starting from scratch */
|
|
35
|
-
moduleExportsSourceFile: SourceFile;
|
|
36
|
-
/** The names of the module declarations to export from the index.ts file */
|
|
37
|
-
moduleDeclarationNames: string[];
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Makes a legacy index.ts file for the modules file which exports the modules as individual exports instead of an array of named exports.
|
|
41
|
-
*/
|
|
42
|
-
export declare function makeLegacyIndexFile({ project, projectDir, modulesDir, moduleExportsSourceFile, moduleDeclarationNames, }: MakeLegacyIndexFileArgs): void;
|
|
43
|
-
export declare function getVariableDeclarationByTypeName(sourceFile: SourceFile, typeName: string): import("ts-morph").VariableDeclaration | undefined;
|
|
44
|
-
export declare function getStringLiteralValue(stringLiteral: StringLiteral | undefined): string | undefined;
|
|
45
|
-
export declare function getObjectProperty<T extends SyntaxKind>(object: ObjectLiteralExpression | undefined, propertyName: string, propertyType: T): import("ts-morph").KindToNodeMappings[T] | undefined;
|
|
46
|
-
export declare function getArrayLiteralExpressionElementsText(arrayLiteralExpression: ArrayLiteralExpression | undefined): string[] | undefined;
|
|
47
|
-
export {};
|
|
48
|
-
//# sourceMappingURL=ts-morph-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ts-morph-utils.d.ts","sourceRoot":"","sources":["../../src/ts-morph-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAEL,OAAO,EACP,UAAU,EAEX,MAAM,UAAU,CAAC;AAElB,KAAK,0BAA0B,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,GACX,EAAE,0BAA0B,QA8D5B;AAED,KAAK,kBAAkB,GAAG;IACxB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,cAAc,EAAE,MAAM,CAAC;IACvB,iHAAiH;IACjH,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,yBAAgC,GACjC,EAAE,kBAAkB,QAmGpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,uBAAuB,EAAE,UAAU,CAAC;IACpC,4EAA4E;IAC5E,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,sBAAsB,GACvB,EAAE,uBAAuB,QA+DzB;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,sDAMjB;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,aAAa,GAAG,SAAS,sBAGzC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,uBAAuB,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,CAAC,wDAQhB;AAED,wBAAgB,qCAAqC,CACnD,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,wBAM3D"}
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { IndentationText, Project, SyntaxKind, VariableDeclarationKind, } from "ts-morph";
|
|
3
|
-
export function makeSubgraphsIndexFile({ projectDir, }) {
|
|
4
|
-
// use the local tsconfig.json file for a given project
|
|
5
|
-
const tsConfigFilePath = path.join(projectDir, "tsconfig.json");
|
|
6
|
-
const project = new Project({
|
|
7
|
-
tsConfigFilePath,
|
|
8
|
-
// don't add files from the tsconfig.json file, only use the ones we need
|
|
9
|
-
skipAddingFilesFromTsConfig: true,
|
|
10
|
-
// don't load library files, we only need the files we're adding
|
|
11
|
-
skipLoadingLibFiles: true,
|
|
12
|
-
// use formatting rules which match prettier
|
|
13
|
-
manipulationSettings: {
|
|
14
|
-
useTrailingCommas: true,
|
|
15
|
-
indentationText: IndentationText.TwoSpaces,
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
project.addSourceFilesAtPaths(`${projectDir}/subgraphs/**/*`);
|
|
19
|
-
const subgraphsDir = project.getDirectory(path.join(projectDir, "subgraphs"));
|
|
20
|
-
const subgraphsSubdirs = subgraphsDir?.getDirectories() ?? [];
|
|
21
|
-
let subgraphsIndexSourceFile = project.getSourceFile(path.join(projectDir, "subgraphs/index.ts"));
|
|
22
|
-
if (!subgraphsIndexSourceFile) {
|
|
23
|
-
subgraphsIndexSourceFile = project.createSourceFile(path.join(projectDir, "subgraphs/index.js"), "");
|
|
24
|
-
}
|
|
25
|
-
for (const subgraphSubdir of subgraphsSubdirs) {
|
|
26
|
-
const subgraphIndexSourceFilePath = `${subgraphSubdir.getPath()}/index.ts`;
|
|
27
|
-
const subgraphIndexSourceFile = project.getSourceFile(subgraphIndexSourceFilePath);
|
|
28
|
-
if (!subgraphIndexSourceFile) {
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
const subgraphClassExport = subgraphIndexSourceFile
|
|
32
|
-
.getClasses()
|
|
33
|
-
.find((c) => c.getBaseClass()?.getText().includes("BaseSubgraph"));
|
|
34
|
-
const subgraphClassName = subgraphClassExport?.getName();
|
|
35
|
-
if (!subgraphClassName) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const indexFileExports = subgraphsIndexSourceFile
|
|
39
|
-
.getExportDeclarations()
|
|
40
|
-
.map((e) => e.getNamespaceExport()?.getText())
|
|
41
|
-
.filter((e) => e !== undefined)
|
|
42
|
-
.join();
|
|
43
|
-
if (indexFileExports.includes(subgraphClassName)) {
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
subgraphsIndexSourceFile.addExportDeclaration({
|
|
47
|
-
namespaceExport: subgraphClassName,
|
|
48
|
-
moduleSpecifier: `./${subgraphSubdir.getBaseName()}/index.js`,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
project.saveSync();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
|
|
55
|
-
*/
|
|
56
|
-
export function makeModulesFile({ projectDir, modulesDir, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile = true, }) {
|
|
57
|
-
// use the local tsconfig.json file for a given project
|
|
58
|
-
const tsConfigFilePath = path.join(projectDir, "tsconfig.json");
|
|
59
|
-
const project = new Project({
|
|
60
|
-
tsConfigFilePath,
|
|
61
|
-
// don't add files from the tsconfig.json file, only use the ones we need
|
|
62
|
-
skipAddingFilesFromTsConfig: true,
|
|
63
|
-
// don't load library files, we only need the files we're adding
|
|
64
|
-
skipLoadingLibFiles: true,
|
|
65
|
-
// use formatting rules which match prettier
|
|
66
|
-
manipulationSettings: {
|
|
67
|
-
useTrailingCommas: true,
|
|
68
|
-
indentationText: IndentationText.TwoSpaces,
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
// we only need the files in the directory we're creating the modules file from
|
|
72
|
-
project.addSourceFilesAtPaths(`${projectDir}/${modulesDir}/**/*`);
|
|
73
|
-
// get all the module.ts files in the directory we're creating the modules file from
|
|
74
|
-
const moduleFiles = project
|
|
75
|
-
.getSourceFiles()
|
|
76
|
-
.filter((file) => file.getFilePath().includes(`module.ts`));
|
|
77
|
-
// get the variable declaration for the module object exported by each module.ts file by the given type name
|
|
78
|
-
const moduleDeclarations = moduleFiles.map((file) => getVariableDeclarationByTypeName(file, typeName));
|
|
79
|
-
// get the variable names for each of the module objects, this is all we need for the codegen
|
|
80
|
-
const moduleDeclarationNames = moduleDeclarations
|
|
81
|
-
.map((declaration) => declaration?.getName())
|
|
82
|
-
.filter((name) => name !== undefined);
|
|
83
|
-
const moduleExportsFilePath = `${projectDir}/${modulesDir}/${outputFileName}`;
|
|
84
|
-
// get the source file for the modules file if it exists
|
|
85
|
-
let moduleExportsSourceFile = project.getSourceFile(moduleExportsFilePath);
|
|
86
|
-
// if the modules file doesn't exist, create it
|
|
87
|
-
if (!moduleExportsSourceFile) {
|
|
88
|
-
moduleExportsSourceFile = project.createSourceFile(moduleExportsFilePath, "");
|
|
89
|
-
}
|
|
90
|
-
// create the variable statement for the modules file
|
|
91
|
-
// start as an empty array
|
|
92
|
-
const moduleExportsVariableStatementInput = {
|
|
93
|
-
isExported: true,
|
|
94
|
-
declarationKind: VariableDeclarationKind.Const,
|
|
95
|
-
declarations: [
|
|
96
|
-
{
|
|
97
|
-
name: variableName,
|
|
98
|
-
type: variableType,
|
|
99
|
-
initializer: `[]`,
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
};
|
|
103
|
-
// get the variable statement for the modules file if it exists
|
|
104
|
-
let moduleExportsVariableStatement = moduleExportsSourceFile.getVariableStatement(variableName);
|
|
105
|
-
// if the variable statement doesn't exist, create it
|
|
106
|
-
if (!moduleExportsVariableStatement) {
|
|
107
|
-
moduleExportsVariableStatement =
|
|
108
|
-
moduleExportsSourceFile.addVariableStatement(moduleExportsVariableStatementInput);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// if the variable statement exists, set it to the new variable statement
|
|
112
|
-
moduleExportsVariableStatement.set(moduleExportsVariableStatementInput);
|
|
113
|
-
}
|
|
114
|
-
// get the array literal expression for the variable statement
|
|
115
|
-
const arrayLiteral = moduleExportsVariableStatement
|
|
116
|
-
.getDeclarations()
|
|
117
|
-
.at(0)
|
|
118
|
-
?.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression);
|
|
119
|
-
// add the module declaration names to the array literal expression
|
|
120
|
-
arrayLiteral?.addElements(moduleDeclarationNames, { useNewLines: true });
|
|
121
|
-
// we don't need to handle the import statements for the file manually, since typescript already knows how to add them
|
|
122
|
-
moduleExportsSourceFile.fixMissingImports(undefined, {
|
|
123
|
-
importModuleSpecifierEnding: "js",
|
|
124
|
-
});
|
|
125
|
-
// we also need to export each module from the index.ts file for backwards compatibility
|
|
126
|
-
if (shouldMakeLegacyIndexFile) {
|
|
127
|
-
makeLegacyIndexFile({
|
|
128
|
-
project,
|
|
129
|
-
projectDir,
|
|
130
|
-
modulesDir,
|
|
131
|
-
moduleExportsSourceFile,
|
|
132
|
-
moduleDeclarationNames,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
project.saveSync();
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Makes a legacy index.ts file for the modules file which exports the modules as individual exports instead of an array of named exports.
|
|
139
|
-
*/
|
|
140
|
-
export function makeLegacyIndexFile({ project, projectDir, modulesDir, moduleExportsSourceFile, moduleDeclarationNames, }) {
|
|
141
|
-
// we know that for every module that is imported by the modules file, we also need to export it from the index.ts file
|
|
142
|
-
// instead of just using the module declaration names, we can get the import statements so that we can get the module specifier
|
|
143
|
-
// this lets us be resilient to the case where the directory name of the modules file changes
|
|
144
|
-
const importStatements = moduleExportsSourceFile
|
|
145
|
-
.getImportDeclarations()
|
|
146
|
-
.filter((importStatement) => moduleDeclarationNames.some((name) => importStatement.getText().includes(name)));
|
|
147
|
-
const indexSourceFilePath = `${projectDir}/${modulesDir}/index.ts`;
|
|
148
|
-
// get the source file for the index.ts file if it exists
|
|
149
|
-
let indexSourceFile = project.getSourceFile(indexSourceFilePath);
|
|
150
|
-
// if the index.ts file doesn't exist, create it
|
|
151
|
-
if (!indexSourceFile) {
|
|
152
|
-
indexSourceFile = project.createSourceFile(indexSourceFilePath, "");
|
|
153
|
-
}
|
|
154
|
-
importStatements.forEach((importStatement) => {
|
|
155
|
-
// get the module specifier for the import statement
|
|
156
|
-
// e.g. "./document-models/test-doc/module.ts"
|
|
157
|
-
const moduleSpecifier = importStatement.getModuleSpecifierValue();
|
|
158
|
-
// get the named imports for the import statement
|
|
159
|
-
// there should only be one named import, the variable name of the module object
|
|
160
|
-
// e.g. "TestDoc"
|
|
161
|
-
const namesToExport = importStatement
|
|
162
|
-
.getNamedImports()
|
|
163
|
-
.map((namedImport) => namedImport.getName());
|
|
164
|
-
// get the existing export declarations for the module specifier
|
|
165
|
-
// e.g. "export { TestDoc } from './document-models/test-doc/module.ts';"
|
|
166
|
-
// we can use this to check if the module has already been exported
|
|
167
|
-
// and avoid adding it again
|
|
168
|
-
const existingExportDeclarations = indexSourceFile
|
|
169
|
-
.getExportDeclarations()
|
|
170
|
-
.filter((exportDeclaration) => exportDeclaration.getModuleSpecifierValue() === moduleSpecifier);
|
|
171
|
-
// get the names of the modules that have already been exported
|
|
172
|
-
// e.g. ["TestDoc"]
|
|
173
|
-
const alreadyExported = new Set(existingExportDeclarations.flatMap((exportDeclaration) => exportDeclaration
|
|
174
|
-
.getNamedExports()
|
|
175
|
-
.map((exportSpecifier) => exportSpecifier.getName())));
|
|
176
|
-
const newNames = namesToExport.filter((name) => !alreadyExported.has(name));
|
|
177
|
-
if (newNames.length === 0)
|
|
178
|
-
return;
|
|
179
|
-
// add the new export declarations to the index.ts file
|
|
180
|
-
indexSourceFile.addExportDeclaration({
|
|
181
|
-
namedExports: newNames,
|
|
182
|
-
moduleSpecifier,
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
export function getVariableDeclarationByTypeName(sourceFile, typeName) {
|
|
187
|
-
const variableDeclarations = sourceFile.getVariableDeclarations();
|
|
188
|
-
return variableDeclarations.find((declaration) => declaration.getType().getText().includes(typeName));
|
|
189
|
-
}
|
|
190
|
-
export function getStringLiteralValue(stringLiteral) {
|
|
191
|
-
return stringLiteral?.getText().replace(/["']/g, "");
|
|
192
|
-
}
|
|
193
|
-
export function getObjectProperty(object, propertyName, propertyType) {
|
|
194
|
-
return object
|
|
195
|
-
?.getProperty(propertyName)
|
|
196
|
-
?.asKind(SyntaxKind.PropertyAssignment)
|
|
197
|
-
?.getChildren()
|
|
198
|
-
.find((child) => child.getKind() === propertyType)
|
|
199
|
-
?.asKind(propertyType);
|
|
200
|
-
}
|
|
201
|
-
export function getArrayLiteralExpressionElementsText(arrayLiteralExpression) {
|
|
202
|
-
return arrayLiteralExpression
|
|
203
|
-
?.getElements()
|
|
204
|
-
.map((element) => element.getText())
|
|
205
|
-
.map((text) => text.replace(/["']/g, ""));
|
|
206
|
-
}
|
|
207
|
-
//# sourceMappingURL=ts-morph-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ts-morph-utils.js","sourceRoot":"","sources":["../../src/ts-morph-utils.ts"],"names":[],"mappings":"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"}
|