@powerhousedao/codegen 6.0.0-dev.32 → 6.0.0-dev.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/src/codegen/__tests__/fixtures/typecheck.js +1 -1
  2. package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -1
  3. package/dist/src/codegen/__tests__/generate-doc-model.test.js +14 -69
  4. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +37 -36
  6. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-editor.test.js +17 -17
  8. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-manifest.test.js +17 -16
  10. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-processor.test.d.ts +2 -0
  12. package/dist/src/codegen/__tests__/generate-processor.test.d.ts.map +1 -0
  13. package/dist/src/codegen/__tests__/generate-processor.test.js +63 -0
  14. package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -0
  15. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +23 -23
  16. package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -1
  17. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +4 -4
  18. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -1
  19. package/dist/src/codegen/__tests__/utils.d.ts +2 -2
  20. package/dist/src/codegen/__tests__/utils.d.ts.map +1 -1
  21. package/dist/src/codegen/__tests__/utils.js +9 -10
  22. package/dist/src/codegen/__tests__/utils.js.map +1 -1
  23. package/dist/src/codegen/generate.d.ts +1 -1
  24. package/dist/src/codegen/generate.d.ts.map +1 -1
  25. package/dist/src/codegen/generate.js +25 -9
  26. package/dist/src/codegen/generate.js.map +1 -1
  27. package/dist/src/codegen/graphql.d.ts.map +1 -1
  28. package/dist/src/codegen/graphql.js +10 -9
  29. package/dist/src/codegen/graphql.js.map +1 -1
  30. package/dist/src/codegen/hygen.js +4 -4
  31. package/dist/src/codegen/hygen.js.map +1 -1
  32. package/dist/src/codegen/utils.d.ts +1 -1
  33. package/dist/src/codegen/utils.d.ts.map +1 -1
  34. package/dist/src/codegen/utils.js +2 -1
  35. package/dist/src/codegen/utils.js.map +1 -1
  36. package/dist/src/create-lib/create-project.js +2 -2
  37. package/dist/src/create-lib/create-project.js.map +1 -1
  38. package/dist/src/file-builders/document-editor.d.ts +1 -1
  39. package/dist/src/file-builders/document-editor.d.ts.map +1 -1
  40. package/dist/src/file-builders/document-editor.js +9 -7
  41. package/dist/src/file-builders/document-editor.js.map +1 -1
  42. package/dist/src/file-builders/document-model/document-model.d.ts.map +1 -1
  43. package/dist/src/file-builders/document-model/document-model.js +59 -62
  44. package/dist/src/file-builders/document-model/document-model.js.map +1 -1
  45. package/dist/src/file-builders/document-model/gen-dir.d.ts +1 -1
  46. package/dist/src/file-builders/document-model/gen-dir.d.ts.map +1 -1
  47. package/dist/src/file-builders/document-model/gen-dir.js +48 -48
  48. package/dist/src/file-builders/document-model/gen-dir.js.map +1 -1
  49. package/dist/src/file-builders/document-model/root-dir.d.ts +1 -1
  50. package/dist/src/file-builders/document-model/root-dir.d.ts.map +1 -1
  51. package/dist/src/file-builders/document-model/root-dir.js +17 -17
  52. package/dist/src/file-builders/document-model/root-dir.js.map +1 -1
  53. package/dist/src/file-builders/document-model/src-dir.d.ts +1 -1
  54. package/dist/src/file-builders/document-model/src-dir.d.ts.map +1 -1
  55. package/dist/src/file-builders/document-model/src-dir.js +12 -12
  56. package/dist/src/file-builders/document-model/src-dir.js.map +1 -1
  57. package/dist/src/file-builders/document-model/tests-dir.d.ts +1 -1
  58. package/dist/src/file-builders/document-model/tests-dir.d.ts.map +1 -1
  59. package/dist/src/file-builders/document-model/tests-dir.js +8 -8
  60. package/dist/src/file-builders/document-model/tests-dir.js.map +1 -1
  61. package/dist/src/file-builders/document-model/upgrades-dir.d.ts +6 -4
  62. package/dist/src/file-builders/document-model/upgrades-dir.d.ts.map +1 -1
  63. package/dist/src/file-builders/document-model/upgrades-dir.js +17 -25
  64. package/dist/src/file-builders/document-model/upgrades-dir.js.map +1 -1
  65. package/dist/src/file-builders/drive-editor.d.ts +1 -1
  66. package/dist/src/file-builders/drive-editor.d.ts.map +1 -1
  67. package/dist/src/file-builders/drive-editor.js +37 -35
  68. package/dist/src/file-builders/drive-editor.js.map +1 -1
  69. package/dist/src/file-builders/editor-common.d.ts.map +1 -1
  70. package/dist/src/file-builders/editor-common.js +0 -1
  71. package/dist/src/file-builders/editor-common.js.map +1 -1
  72. package/dist/src/file-builders/module-files.d.ts +11 -5
  73. package/dist/src/file-builders/module-files.d.ts.map +1 -1
  74. package/dist/src/file-builders/module-files.js +36 -28
  75. package/dist/src/file-builders/module-files.js.map +1 -1
  76. package/dist/src/file-builders/processors/analytics.d.ts +3 -0
  77. package/dist/src/file-builders/processors/analytics.d.ts.map +1 -0
  78. package/dist/src/file-builders/processors/analytics.js +34 -0
  79. package/dist/src/file-builders/processors/analytics.js.map +1 -0
  80. package/dist/src/file-builders/processors/processor.d.ts +7 -0
  81. package/dist/src/file-builders/processors/processor.d.ts.map +1 -0
  82. package/dist/src/file-builders/processors/processor.js +165 -0
  83. package/dist/src/file-builders/processors/processor.js.map +1 -0
  84. package/dist/src/file-builders/processors/relational-db.d.ts +3 -0
  85. package/dist/src/file-builders/processors/relational-db.d.ts.map +1 -0
  86. package/dist/src/file-builders/processors/relational-db.js +53 -0
  87. package/dist/src/file-builders/processors/relational-db.js.map +1 -0
  88. package/dist/src/file-builders/processors/types.d.ts +13 -0
  89. package/dist/src/file-builders/processors/types.d.ts.map +1 -0
  90. package/dist/src/file-builders/processors/types.js +2 -0
  91. package/dist/src/file-builders/processors/types.js.map +1 -0
  92. package/dist/src/file-builders/subgraphs.d.ts +1 -1
  93. package/dist/src/file-builders/subgraphs.d.ts.map +1 -1
  94. package/dist/src/file-builders/subgraphs.js +2 -2
  95. package/dist/src/file-builders/subgraphs.js.map +1 -1
  96. package/dist/src/name-builders/get-variable-names.d.ts +1 -0
  97. package/dist/src/name-builders/get-variable-names.d.ts.map +1 -1
  98. package/dist/src/name-builders/get-variable-names.js +2 -0
  99. package/dist/src/name-builders/get-variable-names.js.map +1 -1
  100. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts +2 -0
  101. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.d.ts.map +1 -0
  102. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js +7 -0
  103. package/dist/src/templates/boilerplate/document-models/upgrade-manifests.js.map +1 -0
  104. package/dist/src/templates/boilerplate/index.d.ts.map +1 -1
  105. package/dist/src/templates/boilerplate/index.js +1 -0
  106. package/dist/src/templates/boilerplate/index.js.map +1 -1
  107. package/dist/src/templates/boilerplate/processors/index.d.ts +1 -1
  108. package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -1
  109. package/dist/src/templates/boilerplate/processors/index.js +1 -1
  110. package/dist/src/templates/boilerplate/processors/index.js.map +1 -1
  111. package/dist/src/templates/document-model/tests/document-model.test.d.ts.map +1 -0
  112. package/dist/src/templates/document-model/tests/document-model.test.js.map +1 -0
  113. package/dist/src/templates/document-model/tests/module.test.d.ts.map +1 -0
  114. package/dist/src/templates/document-model/{src/tests → tests}/module.test.js +1 -1
  115. package/dist/src/templates/document-model/tests/module.test.js.map +1 -0
  116. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts +5 -0
  117. package/dist/src/templates/document-model/upgrades/upgrade-manifest.d.ts.map +1 -0
  118. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js +13 -0
  119. package/dist/src/templates/document-model/upgrades/upgrade-manifest.js.map +1 -0
  120. package/dist/src/templates/index.d.ts +11 -2
  121. package/dist/src/templates/index.d.ts.map +1 -1
  122. package/dist/src/templates/index.js +11 -2
  123. package/dist/src/templates/index.js.map +1 -1
  124. package/dist/src/templates/processors/analytics/factory.d.ts +5 -0
  125. package/dist/src/templates/processors/analytics/factory.d.ts.map +1 -0
  126. package/dist/src/templates/processors/analytics/factory.js +26 -0
  127. package/dist/src/templates/processors/analytics/factory.js.map +1 -0
  128. package/dist/src/templates/processors/analytics/index.d.ts +4 -0
  129. package/dist/src/templates/processors/analytics/index.d.ts.map +1 -0
  130. package/dist/src/templates/processors/analytics/index.js +68 -0
  131. package/dist/src/templates/processors/analytics/index.js.map +1 -0
  132. package/dist/src/templates/processors/factory.d.ts +2 -0
  133. package/dist/src/templates/processors/factory.d.ts.map +1 -0
  134. package/dist/src/templates/processors/factory.js +34 -0
  135. package/dist/src/templates/processors/factory.js.map +1 -0
  136. package/dist/src/templates/processors/index.d.ts +2 -0
  137. package/dist/src/templates/processors/index.d.ts.map +1 -0
  138. package/dist/src/templates/processors/index.js +10 -0
  139. package/dist/src/templates/processors/index.js.map +1 -0
  140. package/dist/src/templates/processors/relational-db/factory.d.ts +6 -0
  141. package/dist/src/templates/processors/relational-db/factory.d.ts.map +1 -0
  142. package/dist/src/templates/processors/relational-db/factory.js +40 -0
  143. package/dist/src/templates/processors/relational-db/factory.js.map +1 -0
  144. package/dist/src/templates/processors/relational-db/index.d.ts +4 -0
  145. package/dist/src/templates/processors/relational-db/index.d.ts.map +1 -0
  146. package/dist/src/templates/processors/relational-db/index.js +55 -0
  147. package/dist/src/templates/processors/relational-db/index.js.map +1 -0
  148. package/dist/src/templates/processors/relational-db/migrations.d.ts +2 -0
  149. package/dist/src/templates/processors/relational-db/migrations.d.ts.map +1 -0
  150. package/dist/src/templates/processors/relational-db/migrations.js +23 -0
  151. package/dist/src/templates/processors/relational-db/migrations.js.map +1 -0
  152. package/dist/src/templates/processors/relational-db/schema.d.ts +2 -0
  153. package/dist/src/templates/processors/relational-db/schema.d.ts.map +1 -0
  154. package/dist/src/templates/processors/relational-db/schema.js +12 -0
  155. package/dist/src/templates/processors/relational-db/schema.js.map +1 -0
  156. package/dist/src/templates/processors/utils.d.ts +2 -0
  157. package/dist/src/templates/processors/utils.d.ts.map +1 -0
  158. package/dist/src/templates/processors/utils.js +6 -0
  159. package/dist/src/templates/processors/utils.js.map +1 -0
  160. package/dist/src/utils/format-with-prettier.d.ts +1 -1
  161. package/dist/src/utils/format-with-prettier.d.ts.map +1 -1
  162. package/dist/src/utils/format-with-prettier.js +3 -9
  163. package/dist/src/utils/format-with-prettier.js.map +1 -1
  164. package/dist/src/utils/index.d.ts +1 -1
  165. package/dist/src/utils/index.d.ts.map +1 -1
  166. package/dist/src/utils/index.js +1 -1
  167. package/dist/src/utils/index.js.map +1 -1
  168. package/dist/src/utils/source-files.d.ts +8 -1
  169. package/dist/src/utils/source-files.d.ts.map +1 -1
  170. package/dist/src/utils/source-files.js +19 -2
  171. package/dist/src/utils/source-files.js.map +1 -1
  172. package/dist/src/utils/syntax-getters.d.ts +2 -1
  173. package/dist/src/utils/syntax-getters.d.ts.map +1 -1
  174. package/dist/src/utils/syntax-getters.js +4 -0
  175. package/dist/src/utils/syntax-getters.js.map +1 -1
  176. package/dist/src/utils/ts-morph-project.d.ts +14 -5
  177. package/dist/src/utils/ts-morph-project.d.ts.map +1 -1
  178. package/dist/src/utils/ts-morph-project.js +12 -12
  179. package/dist/src/utils/ts-morph-project.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +9 -8
  182. package/dist/src/templates/document-model/src/tests/document-model.test.d.ts.map +0 -1
  183. package/dist/src/templates/document-model/src/tests/document-model.test.js.map +0 -1
  184. package/dist/src/templates/document-model/src/tests/module.test.d.ts.map +0 -1
  185. package/dist/src/templates/document-model/src/tests/module.test.js.map +0 -1
  186. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.d.ts +0 -0
  187. /package/dist/src/templates/document-model/{src/tests → tests}/document-model.test.js +0 -0
  188. /package/dist/src/templates/document-model/{src/tests → tests}/module.test.d.ts +0 -0
@@ -4,8 +4,6 @@ type MakeModuleFileArgs = {
4
4
  project: Project;
5
5
  /** The directory containing the module.ts files to generate from */
6
6
  modulesDirPath: string;
7
- /** The path to the module.ts files to generate from */
8
- modulesSourceFilesPath: string;
9
7
  /** The name of the output file which exports the modules, e.g. 'document-models.ts' or 'editors.ts' */
10
8
  outputFileName: string;
11
9
  /** The type name of the modules exported by the module.ts files, e.g. 'DocumentModelModule' or 'EditorModule' */
@@ -16,18 +14,26 @@ type MakeModuleFileArgs = {
16
14
  variableType: string;
17
15
  /** Whether to make a legacy index.ts file for the modules, to be removed in the future */
18
16
  shouldMakeLegacyIndexFile?: boolean;
17
+ /** Name of the module file to look for
18
+ * @default module.ts
19
+ */
20
+ moduleFileName?: string;
19
21
  };
20
22
  /**
21
23
  * Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
22
24
  */
23
- export declare function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPath, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile, }: MakeModuleFileArgs): void;
25
+ export declare function makeModulesFile({ project, modulesDirPath, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile, moduleFileName, }: MakeModuleFileArgs): Promise<void>;
26
+ export declare function makeUpgradeManifestsFile(args: {
27
+ project: Project;
28
+ projectDir: string;
29
+ }): Promise<void>;
24
30
  /** Generates the `document-models.ts` file which exports the document models defined in each document model dir's `module.ts` file */
25
31
  export declare function makeDocumentModelModulesFile({ project, projectDir, }: {
26
32
  project: Project;
27
33
  projectDir: string;
28
- }): void;
34
+ }): Promise<void>;
29
35
  /** Generates the `editors.ts` file which exports the editors defined in each editor dir's `module.ts` file */
30
- export declare function makeEditorsModulesFile(project: Project, projectDir: string): void;
36
+ export declare function makeEditorsModulesFile(project: Project, projectDir: string): Promise<void>;
31
37
  type MakeUpgradeManifestsExportArgs = {
32
38
  /** The project to add the export to */
33
39
  project: Project;
@@ -1 +1 @@
1
- {"version":3,"file":"module-files.d.ts","sourceRoot":"","sources":["../../../src/file-builders/module-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIxC,KAAK,kBAAkB,GAAG;IACxB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,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;AACF;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,yBAAgC,GACjC,EAAE,kBAAkB,QAkHpB;AAED,sIAAsI;AACtI,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,QAeA;AAED,8GAA8G;AAC9G,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAY1E;AAQD,KAAK,8BAA8B,GAAG;IACpC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,EAAE,8BAA8B,QA4HhC"}
1
+ {"version":3,"file":"module-files.d.ts","sourceRoot":"","sources":["../../../src/file-builders/module-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAUxC,KAAK,kBAAkB,GAAG;IACxB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,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;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AACF;;GAEG;AACH,wBAAsB,eAAe,CAAC,EACpC,OAAO,EACP,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,yBAAgC,EAChC,cAA4B,GAC7B,EAAE,kBAAkB,iBAwHpB;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,iBAaA;AAED,sIAAsI;AACtI,wBAAsB,4BAA4B,CAAC,EACjD,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,iBAUA;AAED,8GAA8G;AAC9G,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,iBAWnB;AAQD,KAAK,8BAA8B,GAAG;IACpC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,EAAE,8BAA8B,QA0HhC"}
@@ -1,23 +1,24 @@
1
1
  import { camelCase, pascalCase } from "change-case";
2
2
  import path from "node:path";
3
3
  import { SyntaxKind, VariableDeclarationKind } from "ts-morph";
4
+ import { ensureDirectoriesExist, getOrCreateDirectory, getOrCreateSourceFile, } from "../utils/source-files.js";
5
+ import { getVariableDeclarationByTypeName } from "../utils/syntax-getters.js";
4
6
  import { makeLegacyIndexFile } from "./index-files.js";
5
7
  /**
6
8
  * Makes a file which exports the modules from the module.ts files in the given directory as a variable declaration.
7
9
  */
8
- export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPath, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile = true, }) {
10
+ export async function makeModulesFile({ project, modulesDirPath, outputFileName, typeName, variableName, variableType, shouldMakeLegacyIndexFile = true, moduleFileName = "module.ts", }) {
11
+ await ensureDirectoriesExist(project, modulesDirPath);
12
+ const modulesSourceFilesPath = path.join(modulesDirPath, "**/*");
9
13
  // we only need the files in the directory we're creating the modules file from
10
14
  project.addSourceFilesAtPaths(modulesSourceFilesPath);
11
- let modulesDir = project.getDirectory(modulesDirPath);
12
- if (!modulesDir) {
13
- modulesDir = project.addDirectoryAtPath(modulesDirPath);
14
- }
15
+ const { directory: modulesDir } = getOrCreateDirectory(project, modulesDirPath);
15
16
  const moduleFiles = modulesDir
16
17
  .getDescendantSourceFiles()
17
- .filter((file) => file.getFilePath().includes(`module.ts`));
18
+ .filter((file) => file.getBaseName().includes(moduleFileName));
18
19
  // get the variable declaration for the module object exported by each module.ts file by the given type name
19
20
  const moduleDeclarations = moduleFiles
20
- .map((file) => file.getVariableDeclaration((declaration) => declaration.getType().getText().includes(typeName)))
21
+ .map((file) => getVariableDeclarationByTypeName(file, typeName))
21
22
  .filter((v) => v !== undefined);
22
23
  const modules = moduleDeclarations.map((module) => {
23
24
  const sourceFile = module.getSourceFile();
@@ -31,15 +32,8 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
31
32
  return { versionedName, unversionedName, moduleSpecifier };
32
33
  });
33
34
  const moduleExportsFilePath = path.join(modulesDirPath, outputFileName);
34
- // get the source file for the modules file if it exists
35
- let moduleExportsSourceFile = project.getSourceFile(moduleExportsFilePath);
36
- // if the modules file doesn't exist, create it
37
- if (!moduleExportsSourceFile) {
38
- moduleExportsSourceFile = project.createSourceFile(moduleExportsFilePath, "");
39
- }
40
- else {
41
- moduleExportsSourceFile.replaceWithText("");
42
- }
35
+ const { sourceFile: moduleExportsSourceFile } = getOrCreateSourceFile(project, moduleExportsFilePath);
36
+ moduleExportsSourceFile.replaceWithText("");
43
37
  const typeImport = {
44
38
  namedImports: [typeName],
45
39
  moduleSpecifier: "document-model",
@@ -53,8 +47,14 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
53
47
  ],
54
48
  moduleSpecifier,
55
49
  }));
56
- const imports = [typeImport, ...moduleImports];
57
- moduleExportsSourceFile.addImportDeclarations(imports);
50
+ const importDeclarations = [typeImport, ...moduleImports];
51
+ for (const declaration of importDeclarations) {
52
+ if (!moduleExportsSourceFile.getImportDeclaration((importDeclaration) => importDeclaration
53
+ .getNamedImports()
54
+ .some((importSpecifier) => declaration.namedImports.includes(importSpecifier.getName())))) {
55
+ moduleExportsSourceFile.addImportDeclaration(declaration);
56
+ }
57
+ }
58
58
  // create the variable statement for the modules file
59
59
  // start as an empty array
60
60
  const moduleExportsVariableStatementInput = {
@@ -94,16 +94,27 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
94
94
  modules,
95
95
  });
96
96
  }
97
- project.saveSync();
97
+ await project.save();
98
+ }
99
+ export async function makeUpgradeManifestsFile(args) {
100
+ const { project, projectDir } = args;
101
+ const documentModelsDirPath = path.join(projectDir, "document-models");
102
+ await makeModulesFile({
103
+ project,
104
+ modulesDirPath: documentModelsDirPath,
105
+ outputFileName: "upgrade-manifests.ts",
106
+ typeName: "UpgradeManifest",
107
+ variableName: "upgradeManifests",
108
+ variableType: "UpgradeManifest<readonly number[]>[]",
109
+ moduleFileName: "upgrade-manifest.ts",
110
+ });
98
111
  }
99
112
  /** Generates the `document-models.ts` file which exports the document models defined in each document model dir's `module.ts` file */
100
- export function makeDocumentModelModulesFile({ project, projectDir, }) {
113
+ export async function makeDocumentModelModulesFile({ project, projectDir, }) {
101
114
  const documentModelsDirPath = path.join(projectDir, "document-models");
102
- const documentModelsSourceFilesPath = path.join(documentModelsDirPath, "/**/*");
103
- makeModulesFile({
115
+ await makeModulesFile({
104
116
  project,
105
117
  modulesDirPath: documentModelsDirPath,
106
- modulesSourceFilesPath: documentModelsSourceFilesPath,
107
118
  outputFileName: "document-models.ts",
108
119
  typeName: "DocumentModelModule",
109
120
  variableName: "documentModels",
@@ -111,13 +122,11 @@ export function makeDocumentModelModulesFile({ project, projectDir, }) {
111
122
  });
112
123
  }
113
124
  /** Generates the `editors.ts` file which exports the editors defined in each editor dir's `module.ts` file */
114
- export function makeEditorsModulesFile(project, projectDir) {
125
+ export async function makeEditorsModulesFile(project, projectDir) {
115
126
  const modulesDirPath = path.join(projectDir, "editors");
116
- const modulesSourceFilesPath = path.join(modulesDirPath, "/**/*");
117
- makeModulesFile({
127
+ await makeModulesFile({
118
128
  project,
119
129
  modulesDirPath,
120
- modulesSourceFilesPath,
121
130
  outputFileName: "editors.ts",
122
131
  typeName: "EditorModule",
123
132
  variableName: "editors",
@@ -225,6 +234,5 @@ export function makeUpgradeManifestsExport({ project, modulesDirPath, outputFile
225
234
  .at(0)
226
235
  ?.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression);
227
236
  arrayLiteral?.addElements(manifests.map((m) => m.aliasedName), { useNewLines: true });
228
- project.saveSync();
229
237
  }
230
238
  //# sourceMappingURL=module-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-files.js","sourceRoot":"","sources":["../../../src/file-builders/module-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-files.js","sourceRoot":"","sources":["../../../src/file-builders/module-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GenerateProcessorArgs } from "./types.js";
2
+ export declare function tsMorphGenerateAnalyticsProcessor(args: GenerateProcessorArgs): Promise<void>;
3
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/analytics.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,qBAAqB,iBAgB5B"}
@@ -0,0 +1,34 @@
1
+ import { analyticsFactoryTemplate, analyticsIndexTemplate, } from "@powerhousedao/codegen/templates";
2
+ import { formatSourceFileWithPrettier, getOrCreateSourceFile, } from "@powerhousedao/codegen/utils";
3
+ import path from "path";
4
+ export async function tsMorphGenerateAnalyticsProcessor(args) {
5
+ const { project, documentTypes, pascalCaseName, dirPath } = args;
6
+ await makeIndexFile({
7
+ project,
8
+ pascalCaseName,
9
+ dirPath,
10
+ });
11
+ await makeFactoryFile({
12
+ project,
13
+ pascalCaseName,
14
+ dirPath,
15
+ documentTypes,
16
+ });
17
+ }
18
+ async function makeIndexFile(v) {
19
+ const template = analyticsIndexTemplate(v);
20
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "index.ts"));
21
+ if (alreadyExists)
22
+ return;
23
+ sourceFile.replaceWithText(template);
24
+ await formatSourceFileWithPrettier(sourceFile);
25
+ }
26
+ async function makeFactoryFile(v) {
27
+ const template = analyticsFactoryTemplate(v);
28
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "factory.ts"));
29
+ if (alreadyExists)
30
+ return;
31
+ sourceFile.replaceWithText(template);
32
+ await formatSourceFileWithPrettier(sourceFile);
33
+ }
34
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEjE,MAAM,aAAa,CAAC;QAClB,OAAO;QACP,cAAc;QACd,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC;QACpB,OAAO;QACP,cAAc;QACd,OAAO;QACP,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,CAI5B;IACC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CACjC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,CAK9B;IACC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CACnC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function tsMorphGenerateProcessor(args: {
2
+ name: string;
3
+ documentTypes: string[];
4
+ rootDir: string;
5
+ processorType: "relationalDb" | "analytics";
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/processor.ts"],"names":[],"mappings":"AAgBA,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,cAAc,GAAG,WAAW,CAAC;CAC7C,iBAyCA"}
@@ -0,0 +1,165 @@
1
+ import { processorsFactoryTemplate, processorsIndexTemplate, } from "@powerhousedao/codegen/templates";
2
+ import { buildTsMorphProject, ensureDirectoriesExist, formatSourceFileWithPrettier, getOrCreateSourceFile, } from "@powerhousedao/codegen/utils";
3
+ import { camelCase, paramCase, pascalCase } from "change-case";
4
+ import path from "path";
5
+ import { ts } from "ts-morph";
6
+ import { tsMorphGenerateAnalyticsProcessor } from "./analytics.js";
7
+ import { tsMorphGenerateRelationalDbProcessor } from "./relational-db.js";
8
+ export async function tsMorphGenerateProcessor(args) {
9
+ const { name, documentTypes, rootDir, processorType } = args;
10
+ const paramCaseName = paramCase(name);
11
+ const camelCaseName = camelCase(name);
12
+ const pascalCaseName = pascalCase(name);
13
+ const processorsDirPath = path.join(rootDir, "processors");
14
+ const dirPath = path.join(processorsDirPath, paramCaseName);
15
+ const sourceFilesPath = path.join(processorsDirPath, "**/*");
16
+ const project = buildTsMorphProject(rootDir);
17
+ await ensureDirectoriesExist(project, processorsDirPath, dirPath);
18
+ project.addSourceFilesAtPaths(sourceFilesPath);
19
+ if (processorType === "analytics") {
20
+ await tsMorphGenerateAnalyticsProcessor({
21
+ name,
22
+ documentTypes,
23
+ rootDir,
24
+ camelCaseName,
25
+ dirPath,
26
+ paramCaseName,
27
+ pascalCaseName,
28
+ processorsDirPath,
29
+ project,
30
+ });
31
+ }
32
+ else {
33
+ await tsMorphGenerateRelationalDbProcessor({
34
+ name,
35
+ documentTypes,
36
+ rootDir,
37
+ camelCaseName,
38
+ dirPath,
39
+ paramCaseName,
40
+ pascalCaseName,
41
+ processorsDirPath,
42
+ project,
43
+ });
44
+ }
45
+ await updateIndexFile({ processorsDirPath, project });
46
+ await updateFactoryFile({ processorsDirPath, project });
47
+ await project.save();
48
+ }
49
+ async function updateIndexFile(v) {
50
+ const { project, processorsDirPath } = v;
51
+ const template = processorsIndexTemplate();
52
+ const indexFilePath = path.join(processorsDirPath, "index.ts");
53
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, indexFilePath);
54
+ if (!alreadyExists) {
55
+ sourceFile.replaceWithText(template);
56
+ }
57
+ const processorsDir = project.getDirectoryOrThrow(processorsDirPath);
58
+ const processorDirs = processorsDir.getDirectories();
59
+ const indexFiles = processorDirs
60
+ .flatMap((d) => d.getSourceFile("index.ts"))
61
+ .filter((f) => f !== undefined);
62
+ const processorExportDeclarations = indexFiles
63
+ .flatMap((f) => f.getClasses())
64
+ .filter((c) => c.getExtends()?.getFullText().includes("RelationalDbProcessor") ||
65
+ c.getImplements().some((i) => i.getFullText().includes("IProcessor")))
66
+ .map((c) => {
67
+ const name = c.getNameOrThrow();
68
+ const file = c.getSourceFile();
69
+ const fileName = file.getBaseName();
70
+ const dirName = file.getDirectory().getBaseName();
71
+ return {
72
+ name,
73
+ fileName,
74
+ dirName,
75
+ };
76
+ })
77
+ .map((c) => ({
78
+ namedExports: [c.name],
79
+ moduleSpecifier: `./${path.posix.join(c.dirName, c.fileName.replace(".ts", ".js"))}`,
80
+ }));
81
+ for (const declaration of processorExportDeclarations) {
82
+ if (!sourceFile.getExportDeclaration((exportDeclaration) => exportDeclaration
83
+ .getNamedExports()
84
+ .some((exportSpecifier) => declaration.namedExports.includes(exportSpecifier.getName())))) {
85
+ sourceFile.addExportDeclaration(declaration);
86
+ }
87
+ }
88
+ const factoryFiles = processorDirs
89
+ .flatMap((d) => d.getSourceFile("factory.ts"))
90
+ .filter((f) => f !== undefined);
91
+ const factoryExportDeclarations = factoryFiles
92
+ .flatMap((f) => f.getVariableDeclarations())
93
+ .filter((d) => d.getName().includes("ProcessorFactory"))
94
+ .map((v) => {
95
+ const name = v.getName();
96
+ const file = v.getSourceFile();
97
+ const fileName = file.getBaseName();
98
+ const dirName = file.getDirectory().getBaseName();
99
+ return {
100
+ name,
101
+ fileName,
102
+ dirName,
103
+ };
104
+ })
105
+ .map((v) => ({
106
+ namedExports: [v.name],
107
+ moduleSpecifier: `./${path.posix.join(v.dirName, v.fileName.replace(".ts", ".js"))}`,
108
+ }));
109
+ for (const d of [
110
+ { namedExports: ["processorFactory"], moduleSpecifier: "./factory.js" },
111
+ ...factoryExportDeclarations,
112
+ ]) {
113
+ if (!sourceFile.getExportDeclaration((e) => e.getNamedExports().some((e) => d.namedExports.includes(e.getName())))) {
114
+ sourceFile.addExportDeclaration(d);
115
+ }
116
+ }
117
+ await formatSourceFileWithPrettier(sourceFile);
118
+ }
119
+ async function updateFactoryFile(v) {
120
+ const { project, processorsDirPath } = v;
121
+ const template = processorsFactoryTemplate();
122
+ const filePath = path.join(processorsDirPath, "factory.ts");
123
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
124
+ if (!alreadyExists) {
125
+ sourceFile.replaceWithText(template);
126
+ }
127
+ const processorFactoryFunction = sourceFile
128
+ .getVariableDeclarationOrThrow("processorFactory")
129
+ .getFirstChildByKindOrThrow(ts.SyntaxKind.ArrowFunction);
130
+ const functionBody = processorFactoryFunction
131
+ .getBody()
132
+ .asKindOrThrow(ts.SyntaxKind.Block);
133
+ const factoriesArray = functionBody
134
+ .getDescendantsOfKind(ts.SyntaxKind.VariableStatement)
135
+ .flatMap((d) => d.getDescendantsOfKind(ts.SyntaxKind.VariableDeclaration))
136
+ .find((d) => d.getName() === "factories")
137
+ ?.getDescendantsOfKind(ts.SyntaxKind.ArrayLiteralExpression)
138
+ .at(0);
139
+ if (!factoriesArray) {
140
+ throw new Error("`factories` array is missing in `processorFactory`");
141
+ }
142
+ const processorsDir = project.getDirectoryOrThrow(processorsDirPath);
143
+ const processorDirs = processorsDir.getDirectories();
144
+ const factoryFiles = processorDirs
145
+ .flatMap((d) => d.getSourceFile("factory.ts"))
146
+ .filter((f) => f !== undefined);
147
+ const factoryNames = factoryFiles
148
+ .flatMap((f) => f.getVariableDeclarations())
149
+ .filter((d) => d.getName().includes("ProcessorFactory"))
150
+ .map((v) => v.getName());
151
+ const factoriesArrayElements = factoriesArray
152
+ .getElements()
153
+ .map((e) => e.getText());
154
+ for (const name of factoryNames) {
155
+ const callExpression = `${name}(module)`;
156
+ if (!factoriesArrayElements.includes(callExpression)) {
157
+ factoriesArray.addElement(callExpression, { useNewLines: true });
158
+ }
159
+ }
160
+ sourceFile.fixMissingImports(undefined, {
161
+ importModuleSpecifierEnding: "js",
162
+ });
163
+ await formatSourceFileWithPrettier(sourceFile);
164
+ }
165
+ //# sourceMappingURL=processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GenerateProcessorArgs } from "./types.js";
2
+ export declare function tsMorphGenerateRelationalDbProcessor(args: GenerateProcessorArgs): Promise<void>;
3
+ //# sourceMappingURL=relational-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relational-db.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/relational-db.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,wBAAsB,oCAAoC,CACxD,IAAI,EAAE,qBAAqB,iBAsB5B"}
@@ -0,0 +1,53 @@
1
+ import { relationalDbFactoryTemplate, relationalDbIndexTemplate, relationalDbMigrationsTemplate, relationalDbSchemaTemplate, } from "@powerhousedao/codegen/templates";
2
+ import { formatSourceFileWithPrettier, getOrCreateSourceFile, } from "@powerhousedao/codegen/utils";
3
+ import path from "path";
4
+ export async function tsMorphGenerateRelationalDbProcessor(args) {
5
+ const { project, documentTypes, camelCaseName, pascalCaseName, dirPath } = args;
6
+ await makeIndexFile({
7
+ project,
8
+ pascalCaseName,
9
+ dirPath,
10
+ });
11
+ await makeFactoryFile({
12
+ project,
13
+ pascalCaseName,
14
+ camelCaseName,
15
+ dirPath,
16
+ documentTypes,
17
+ });
18
+ await makeMigrationsFile({ project, dirPath });
19
+ await makeSchemaFile({ project, dirPath });
20
+ }
21
+ async function makeIndexFile(v) {
22
+ const template = relationalDbIndexTemplate(v);
23
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "index.ts"));
24
+ if (alreadyExists)
25
+ return;
26
+ sourceFile.replaceWithText(template);
27
+ await formatSourceFileWithPrettier(sourceFile);
28
+ }
29
+ async function makeFactoryFile(v) {
30
+ const template = relationalDbFactoryTemplate(v);
31
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "factory.ts"));
32
+ if (alreadyExists)
33
+ return;
34
+ sourceFile.replaceWithText(template);
35
+ await formatSourceFileWithPrettier(sourceFile);
36
+ }
37
+ async function makeSchemaFile(v) {
38
+ const template = relationalDbSchemaTemplate();
39
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "schema.ts"));
40
+ if (alreadyExists)
41
+ return;
42
+ sourceFile.replaceWithText(template);
43
+ await formatSourceFileWithPrettier(sourceFile);
44
+ }
45
+ async function makeMigrationsFile(v) {
46
+ const template = relationalDbMigrationsTemplate();
47
+ const { alreadyExists, sourceFile } = getOrCreateSourceFile(v.project, path.join(v.dirPath, "migrations.ts"));
48
+ if (alreadyExists)
49
+ return;
50
+ sourceFile.replaceWithText(template);
51
+ await formatSourceFileWithPrettier(sourceFile);
52
+ }
53
+ //# sourceMappingURL=relational-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relational-db.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/relational-db.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,IAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,GACtE,IAAI,CAAC;IAEP,MAAM,aAAa,CAAC;QAClB,OAAO;QACP,cAAc;QACd,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC;QACpB,OAAO;QACP,cAAc;QACd,aAAa;QACb,OAAO;QACP,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,CAI5B;IACC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CACjC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,CAM9B;IACC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CACnC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,CAAwC;IACpE,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;IAC9C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAClC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,CAAwC;IACxE,MAAM,QAAQ,GAAG,8BAA8B,EAAE,CAAC;IAClD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACzD,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CACtC,CAAC;IACF,IAAI,aAAa;QAAE,OAAO;IAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,4BAA4B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Project } from "ts-morph";
2
+ export type GenerateProcessorArgs = {
3
+ name: string;
4
+ project: Project;
5
+ rootDir: string;
6
+ dirPath: string;
7
+ paramCaseName: string;
8
+ camelCaseName: string;
9
+ pascalCaseName: string;
10
+ processorsDirPath: string;
11
+ documentTypes: string[];
12
+ };
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  type MakeSubgraphsIndexFileArgs = {
2
2
  projectDir: string;
3
3
  };
4
- export declare function makeSubgraphsIndexFile({ projectDir, }: MakeSubgraphsIndexFileArgs): void;
4
+ export declare function makeSubgraphsIndexFile({ projectDir, }: MakeSubgraphsIndexFileArgs): Promise<void>;
5
5
  export {};
6
6
  //# sourceMappingURL=subgraphs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subgraphs.d.ts","sourceRoot":"","sources":["../../../src/file-builders/subgraphs.ts"],"names":[],"mappings":"AAGA,KAAK,0BAA0B,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,GACX,EAAE,0BAA0B,QA8D5B"}
1
+ {"version":3,"file":"subgraphs.d.ts","sourceRoot":"","sources":["../../../src/file-builders/subgraphs.ts"],"names":[],"mappings":"AAGA,KAAK,0BAA0B,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,wBAAsB,sBAAsB,CAAC,EAC3C,UAAU,GACX,EAAE,0BAA0B,iBA8D5B"}
@@ -1,6 +1,6 @@
1
1
  import path from "path";
2
2
  import { IndentationText, Project } from "ts-morph";
3
- export function makeSubgraphsIndexFile({ projectDir, }) {
3
+ export async function makeSubgraphsIndexFile({ projectDir, }) {
4
4
  // use the local tsconfig.json file for a given project
5
5
  const tsConfigFilePath = path.join(projectDir, "tsconfig.json");
6
6
  const project = new Project({
@@ -48,6 +48,6 @@ export function makeSubgraphsIndexFile({ projectDir, }) {
48
48
  moduleSpecifier: `./${subgraphSubdir.getBaseName()}/index.js`,
49
49
  });
50
50
  }
51
- project.saveSync();
51
+ await project.save();
52
52
  }
53
53
  //# sourceMappingURL=subgraphs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/file-builders/subgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,UAAU,sBAAsB,CAAC,EACrC,UAAU,GACiB;IAC3B,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB;QAChB,yEAAyE;QACzE,2BAA2B,EAAE,IAAI;QACjC,gEAAgE;QAChE,mBAAmB,EAAE,IAAI;QACzB,4CAA4C;QAC5C,oBAAoB,EAAE;YACpB,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,eAAe,CAAC,SAAS;SAC3C;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,qBAAqB,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAE9D,IAAI,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAClD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAC5C,CAAC;IACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAC3C,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;QAC9C,MAAM,2BAA2B,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;QAC3E,MAAM,uBAAuB,GAAG,OAAO,CAAC,aAAa,CACnD,2BAA2B,CAC5B,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,mBAAmB,GAAG,uBAAuB;aAChD,UAAU,EAAE;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,wBAAwB;aAC9C,qBAAqB,EAAE;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC9B,IAAI,EAAE,CAAC;QACV,IAAI,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QACD,wBAAwB,CAAC,oBAAoB,CAAC;YAC5C,eAAe,EAAE,iBAAiB;YAClC,eAAe,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,WAAW;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/file-builders/subgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,UAAU,GACiB;IAC3B,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB;QAChB,yEAAyE;QACzE,2BAA2B,EAAE,IAAI;QACjC,gEAAgE;QAChE,mBAAmB,EAAE,IAAI;QACzB,4CAA4C;QAC5C,oBAAoB,EAAE;YACpB,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,eAAe,CAAC,SAAS;SAC3C;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,qBAAqB,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAE9D,IAAI,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAClD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAC5C,CAAC;IACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAC3C,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;QAC9C,MAAM,2BAA2B,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;QAC3E,MAAM,uBAAuB,GAAG,OAAO,CAAC,aAAa,CACnD,2BAA2B,CAC5B,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,mBAAmB,GAAG,uBAAuB;aAChD,UAAU,EAAE;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,wBAAwB;aAC9C,qBAAqB,EAAE;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC9B,IAAI,EAAE,CAAC;QACV,IAAI,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QACD,wBAAwB,CAAC,oBAAoB,CAAC;YAC5C,eAAe,EAAE,iBAAiB;YAClC,eAAe,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,WAAW;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
@@ -22,6 +22,7 @@ export declare function getDocumentModelVariableNames(documentType: string): {
22
22
  pascalCaseDocumentType: string;
23
23
  camelCaseDocumentType: string;
24
24
  documentTypeVariableName: string;
25
+ upgradeManifestName: string;
25
26
  stateName: string;
26
27
  globalStateName: string;
27
28
  localStateName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"get-variable-names.d.ts","sourceRoot":"","sources":["../../../src/name-builders/get-variable-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iCAAiC,EAClC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAE5B,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,sBAAsB,CAAC,EACrC,6BAA6B,GAC9B,EAAE,iCAAiC;;;;;;;;;;;;EAcnC;AAED,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,wBAAwB,EAC5C,eAAe,CAAC,EAAE,MAAM,UAIzB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,GACf,EAAE,wBAAwB,kDAE1B;AAED,wBAAgB,mCAAmC,CACjD,EAAE,cAAc,EAAE,EAAE,wBAAwB,EAC5C,OAAO,EAAE,MAAM,kDAoBhB;AAED,wBAAgB,uCAAuC,CACrD,kBAAkB,EAAE,wBAAwB,UAG7C;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;EAiDjE;AAED,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE,mBAAmB;;;EAK5B"}
1
+ {"version":3,"file":"get-variable-names.d.ts","sourceRoot":"","sources":["../../../src/name-builders/get-variable-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iCAAiC,EAClC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAE5B,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,sBAAsB,CAAC,EACrC,6BAA6B,GAC9B,EAAE,iCAAiC;;;;;;;;;;;;EAcnC;AAED,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,wBAAwB,EAC5C,eAAe,CAAC,EAAE,MAAM,UAIzB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,GACf,EAAE,wBAAwB,kDAE1B;AAED,wBAAgB,mCAAmC,CACjD,EAAE,cAAc,EAAE,EAAE,wBAAwB,EAC5C,OAAO,EAAE,MAAM,kDAoBhB;AAED,wBAAgB,uCAAuC,CACrD,kBAAkB,EAAE,wBAAwB,UAG7C;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;EAmDjE;AAED,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE,mBAAmB;;;EAK5B"}
@@ -51,6 +51,7 @@ export function getDocumentModelVariableNames(documentType) {
51
51
  const actionTypeName = `${pascalCaseDocumentType}Action`;
52
52
  const actionsTypeName = `${actionTypeName}s`;
53
53
  const actionsName = camelCase(actionsTypeName);
54
+ const upgradeManifestName = `${camelCaseDocumentType}UpgradeManifest`;
54
55
  const stateSchemaName = `${stateName}Schema`;
55
56
  const phDocumentSchemaName = `${phDocumentTypeName}Schema`;
56
57
  const isPhStateOfTypeFunctionName = `is${stateName}`;
@@ -66,6 +67,7 @@ export function getDocumentModelVariableNames(documentType) {
66
67
  pascalCaseDocumentType,
67
68
  camelCaseDocumentType,
68
69
  documentTypeVariableName,
70
+ upgradeManifestName,
69
71
  stateName,
70
72
  globalStateName,
71
73
  localStateName,