@sprucelabs/spruce-cli 28.2.2 → 29.0.0

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 (234) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/.spruce/errors/errors.types.d.ts +23 -2
  3. package/build/.spruce/errors/options.types.d.ts +4 -1
  4. package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.d.ts +3 -0
  5. package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.js +20 -0
  6. package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.js.map +1 -0
  7. package/build/.spruce/schemas/schemas.types.d.ts +2 -2
  8. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js +1 -1
  9. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  10. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.d.ts +7 -2
  11. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +36 -13
  12. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  13. package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.d.ts +5 -0
  14. package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.js +32 -0
  15. package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.js.map +1 -0
  16. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.d.ts +5 -0
  17. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +21 -13
  18. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  19. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.d.ts +1 -1
  20. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +7 -7
  21. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  22. package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.d.ts +39 -0
  23. package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.js +289 -0
  24. package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.js.map +1 -0
  25. package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.d.ts +7 -0
  26. package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.js +46 -0
  27. package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.js.map +1 -0
  28. package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.d.ts +5 -0
  29. package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.js +31 -0
  30. package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.js.map +1 -0
  31. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
  32. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  33. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +10 -1
  34. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  35. package/build/__tests__/implementation/SkillStore.test.d.ts +5 -0
  36. package/build/__tests__/implementation/SkillStore.test.js +37 -0
  37. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  38. package/build/__tests__/support/EventFaker.d.ts +4 -0
  39. package/build/__tests__/support/EventFaker.js +16 -0
  40. package/build/__tests__/support/EventFaker.js.map +1 -1
  41. package/build/cli/Cli.js +12 -9
  42. package/build/cli/Cli.js.map +1 -1
  43. package/build/errors/SpruceError.js +3 -0
  44. package/build/errors/SpruceError.js.map +1 -1
  45. package/build/errors/directoryNotGoModule.builder.d.ts +12 -0
  46. package/build/errors/directoryNotGoModule.builder.js +15 -0
  47. package/build/errors/directoryNotGoModule.builder.js.map +1 -0
  48. package/build/features/AbstractAction.d.ts +1 -0
  49. package/build/features/AbstractAction.js +5 -1
  50. package/build/features/AbstractAction.js.map +1 -1
  51. package/build/features/AbstractFeature.d.ts +8 -1
  52. package/build/features/AbstractFeature.js +12 -1
  53. package/build/features/AbstractFeature.js.map +1 -1
  54. package/build/features/ActionFactory.js +1 -2
  55. package/build/features/ActionFactory.js.map +1 -1
  56. package/build/features/ActionQuestionAsker.js +0 -1
  57. package/build/features/ActionQuestionAsker.js.map +1 -1
  58. package/build/features/FeatureInstaller.d.ts +1 -0
  59. package/build/features/FeatureInstaller.js +21 -7
  60. package/build/features/FeatureInstaller.js.map +1 -1
  61. package/build/features/FeatureInstallerFactory.d.ts +1 -0
  62. package/build/features/FeatureInstallerFactory.js +7 -0
  63. package/build/features/FeatureInstallerFactory.js.map +1 -1
  64. package/build/features/OverrideActionDecorator.js +1 -1
  65. package/build/features/OverrideActionDecorator.js.map +1 -1
  66. package/build/features/VersionResolver.js +1 -1
  67. package/build/features/VersionResolver.js.map +1 -1
  68. package/build/features/agent/AgentFeature.d.ts +1 -1
  69. package/build/features/agent/AgentFeature.js +1 -1
  70. package/build/features/agent/AgentFeature.js.map +1 -1
  71. package/build/features/conversation/ConversationFeature.d.ts +1 -1
  72. package/build/features/conversation/ConversationFeature.js +1 -1
  73. package/build/features/conversation/ConversationFeature.js.map +1 -1
  74. package/build/features/dependencies/DependencyFeature.d.ts +0 -1
  75. package/build/features/dependencies/DependencyFeature.js +0 -1
  76. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  77. package/build/features/deploy/DeployFeature.d.ts +1 -1
  78. package/build/features/deploy/DeployFeature.js +1 -1
  79. package/build/features/deploy/DeployFeature.js.map +1 -1
  80. package/build/features/error/ErrorFeature.d.ts +1 -1
  81. package/build/features/error/ErrorFeature.js +1 -1
  82. package/build/features/error/ErrorFeature.js.map +1 -1
  83. package/build/features/event/EventFeature.d.ts +1 -1
  84. package/build/features/event/EventFeature.js +1 -1
  85. package/build/features/event/EventFeature.js.map +1 -1
  86. package/build/features/eventContract/EventContractFeature.d.ts +1 -3
  87. package/build/features/eventContract/EventContractFeature.js +0 -2
  88. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  89. package/build/features/node/NodeFeature.d.ts +1 -1
  90. package/build/features/node/NodeFeature.js +1 -1
  91. package/build/features/node/NodeFeature.js.map +1 -1
  92. package/build/features/onboard/OnboardFeature.d.ts +1 -3
  93. package/build/features/onboard/OnboardFeature.js +0 -2
  94. package/build/features/onboard/OnboardFeature.js.map +1 -1
  95. package/build/features/organization/OrganizationFeature.d.ts +0 -1
  96. package/build/features/organization/OrganizationFeature.js +0 -1
  97. package/build/features/organization/OrganizationFeature.js.map +1 -1
  98. package/build/features/permission/PermissionFeature.d.ts +2 -3
  99. package/build/features/permission/PermissionFeature.js +1 -2
  100. package/build/features/permission/PermissionFeature.js.map +1 -1
  101. package/build/features/person/PersonFeature.d.ts +1 -3
  102. package/build/features/person/PersonFeature.js +0 -2
  103. package/build/features/person/PersonFeature.js.map +1 -1
  104. package/build/features/polish/PolishFeature.d.ts +1 -1
  105. package/build/features/polish/PolishFeature.js +1 -1
  106. package/build/features/polish/PolishFeature.js.map +1 -1
  107. package/build/features/sandbox/SandboxFeature.d.ts +0 -1
  108. package/build/features/sandbox/SandboxFeature.js +0 -1
  109. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  110. package/build/features/schema/SchemaFeature.d.ts +2 -3
  111. package/build/features/schema/SchemaFeature.js +6 -1
  112. package/build/features/schema/SchemaFeature.js.map +1 -1
  113. package/build/features/schema/actions/SyncAction.d.ts +5 -2
  114. package/build/features/schema/actions/SyncAction.js +50 -16
  115. package/build/features/schema/actions/SyncAction.js.map +1 -1
  116. package/build/features/schema/utilities/schemaDisk.utility.d.ts +7 -0
  117. package/build/features/schema/utilities/schemaDisk.utility.js +22 -4
  118. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  119. package/build/features/schema/utilities/schemaGenerator.utility.d.ts +1 -0
  120. package/build/features/schema/utilities/schemaGenerator.utility.js +18 -10
  121. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  122. package/build/features/schema/writers/SchemaWriter.d.ts +9 -9
  123. package/build/features/schema/writers/SchemaWriter.js +38 -17
  124. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  125. package/build/features/skill/SkillFeature.d.ts +1 -1
  126. package/build/features/skill/SkillFeature.js +1 -1
  127. package/build/features/skill/SkillFeature.js.map +1 -1
  128. package/build/features/skill/stores/SkillStore.d.ts +4 -0
  129. package/build/features/skill/stores/SkillStore.js +37 -3
  130. package/build/features/skill/stores/SkillStore.js.map +1 -1
  131. package/build/features/store/StoreFeature.d.ts +1 -1
  132. package/build/features/store/StoreFeature.js +1 -1
  133. package/build/features/store/StoreFeature.js.map +1 -1
  134. package/build/features/test/TestFeature.d.ts +1 -1
  135. package/build/features/test/TestFeature.js +1 -1
  136. package/build/features/test/TestFeature.js.map +1 -1
  137. package/build/features/test/TestReporter.js +1 -1
  138. package/build/features/test/TestReporter.js.map +1 -1
  139. package/build/features/view/ViewFeature.d.ts +1 -1
  140. package/build/features/view/ViewFeature.js +1 -1
  141. package/build/features/view/ViewFeature.js.map +1 -1
  142. package/build/migration/EsLint9Migrator.d.ts +1 -0
  143. package/build/packageManager/NodePackageManager.d.ts +14 -0
  144. package/build/packageManager/NodePackageManager.js +88 -0
  145. package/build/packageManager/NodePackageManager.js.map +1 -0
  146. package/build/packageManager/packageManager.types.d.ts +16 -0
  147. package/build/packageManager/packageManager.types.js +3 -0
  148. package/build/packageManager/packageManager.types.js.map +1 -0
  149. package/build/schemas/v2020_07_22/onboardOptions.builder.js +1 -1
  150. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  151. package/build/services/GoPackageManager.d.ts +10 -0
  152. package/build/services/GoPackageManager.js +39 -0
  153. package/build/services/GoPackageManager.js.map +1 -0
  154. package/build/services/PkgService.d.ts +3 -7
  155. package/build/services/PkgService.js +13 -68
  156. package/build/services/PkgService.js.map +1 -1
  157. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  158. package/build/tests/AbstractCliTest.d.ts +5 -1
  159. package/build/tests/AbstractCliTest.js +15 -3
  160. package/build/tests/AbstractCliTest.js.map +1 -1
  161. package/build/tests/fixtures/FeatureFixture.js +4 -1
  162. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  163. package/build/tests/fixtures/GoFixture.d.ts +12 -0
  164. package/build/tests/fixtures/GoFixture.js +39 -0
  165. package/build/tests/fixtures/GoFixture.js.map +1 -0
  166. package/build/tests/staticToInstanceMigration/StaticToInstanceMigrator.d.ts +1 -0
  167. package/build/widgets/terminalKit/TkTextWidget.js +1 -1
  168. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  169. package/build/writers/AbstractWriter.js +7 -6
  170. package/build/writers/AbstractWriter.js.map +1 -1
  171. package/package.json +29 -29
  172. package/src/.spruce/errors/errors.types.ts +32 -2
  173. package/src/.spruce/errors/options.types.ts +4 -1
  174. package/src/.spruce/errors/spruceCli/directoryNotGoModule.schema.ts +23 -0
  175. package/src/.spruce/schemas/schemas.types.ts +2 -2
  176. package/src/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.ts +1 -1
  177. package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +60 -13
  178. package/src/__tests__/behavioral/features/InstallFeaturesInGo.test.ts +17 -0
  179. package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +29 -22
  180. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +6 -9
  181. package/src/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.ts +376 -0
  182. package/src/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.ts +46 -0
  183. package/src/__tests__/behavioral/schemas/SyncingSchemasInGo.test.ts +23 -0
  184. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
  185. package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +15 -2
  186. package/src/__tests__/implementation/SkillStore.test.ts +44 -1
  187. package/src/__tests__/support/EventFaker.ts +29 -0
  188. package/src/cli/Cli.ts +20 -12
  189. package/src/errors/SpruceError.ts +4 -0
  190. package/src/errors/directoryNotGoModule.builder.ts +13 -0
  191. package/src/features/AbstractAction.ts +6 -4
  192. package/src/features/AbstractFeature.ts +20 -1
  193. package/src/features/ActionFactory.ts +2 -2
  194. package/src/features/ActionQuestionAsker.ts +0 -1
  195. package/src/features/FeatureInstaller.ts +30 -6
  196. package/src/features/FeatureInstallerFactory.ts +9 -0
  197. package/src/features/OverrideActionDecorator.ts +1 -1
  198. package/src/features/VersionResolver.ts +2 -1
  199. package/src/features/agent/AgentFeature.ts +1 -1
  200. package/src/features/conversation/ConversationFeature.ts +1 -1
  201. package/src/features/dependencies/DependencyFeature.ts +0 -1
  202. package/src/features/deploy/DeployFeature.ts +1 -1
  203. package/src/features/error/ErrorFeature.ts +1 -1
  204. package/src/features/event/EventFeature.ts +1 -1
  205. package/src/features/eventContract/EventContractFeature.ts +1 -3
  206. package/src/features/node/NodeFeature.ts +1 -1
  207. package/src/features/onboard/OnboardFeature.ts +1 -7
  208. package/src/features/organization/OrganizationFeature.ts +0 -1
  209. package/src/features/permission/PermissionFeature.ts +1 -3
  210. package/src/features/person/PersonFeature.ts +1 -4
  211. package/src/features/polish/PolishFeature.ts +1 -1
  212. package/src/features/sandbox/SandboxFeature.ts +0 -1
  213. package/src/features/schema/SchemaFeature.ts +8 -2
  214. package/src/features/schema/actions/SyncAction.ts +68 -26
  215. package/src/features/schema/utilities/schemaDisk.utility.ts +43 -11
  216. package/src/features/schema/utilities/schemaGenerator.utility.ts +33 -13
  217. package/src/features/schema/writers/SchemaWriter.ts +71 -25
  218. package/src/features/skill/SkillFeature.ts +1 -1
  219. package/src/features/skill/stores/SkillStore.ts +47 -5
  220. package/src/features/store/StoreFeature.ts +1 -1
  221. package/src/features/test/TestFeature.ts +1 -1
  222. package/src/features/test/TestReporter.ts +1 -1
  223. package/src/features/view/ViewFeature.ts +1 -1
  224. package/src/packageManager/NodePackageManager.ts +115 -0
  225. package/src/packageManager/packageManager.types.ts +21 -0
  226. package/src/schemas/v2020_07_22/onboardOptions.builder.ts +1 -1
  227. package/src/services/GoPackageManager.ts +45 -0
  228. package/src/services/PkgService.ts +17 -92
  229. package/src/templateItemBuilders/SchemaTemplateItemBuilder.ts +6 -6
  230. package/src/tests/AbstractCliTest.ts +19 -5
  231. package/src/tests/fixtures/FeatureFixture.ts +3 -1
  232. package/src/tests/fixtures/GoFixture.ts +39 -0
  233. package/src/widgets/terminalKit/TkTextWidget.ts +1 -1
  234. package/src/writers/AbstractWriter.ts +15 -6
@@ -19,13 +19,12 @@ class SyncAction extends AbstractAction_1.default {
19
19
  invocationMessage = 'Building schemas and generating types... 📃';
20
20
  schemaWriter = this.Writer('schema');
21
21
  schemaStore = this.Store('schema');
22
+ skillStore = this.Store('skill');
22
23
  async execute(options) {
23
24
  const normalizedOptions = this.validateAndNormalizeOptions(options);
24
- const isInCoreSchemasModule = this.Service('pkg').get('name') ===
25
- '@sprucelabs/spruce-core-schemas';
26
- let { schemaTypesDestinationDirOrFile, fieldTypesDestinationDir, schemaLookupDir, addonsLookupDir, shouldEnableVersioning, globalSchemaNamespace, shouldFetchRemoteSchemas, shouldGenerateCoreSchemaTypes = isInCoreSchemasModule, shouldFetchLocalSchemas, generateFieldTypes, generateStandaloneTypesFile, deleteDestinationDirIfNoSchemas, shouldFetchCoreSchemas, registerBuiltSchemas, syncingMessage, deleteOrphanedSchemas, moduleToImportFromWhenRemote, shouldInstallMissingDependencies, } = normalizedOptions;
25
+ let { schemaTypesDestinationDirOrFile, fieldTypesDestinationDir, schemaLookupDir, addonsLookupDir, shouldEnableVersioning, globalSchemaNamespace, shouldFetchRemoteSchemas, shouldGenerateCoreSchemaTypes, shouldFetchLocalSchemas, generateFieldTypes, generateStandaloneTypesFile, deleteDestinationDirIfNoSchemas, shouldFetchCoreSchemas, registerBuiltSchemas, syncingMessage, deleteOrphanedSchemas, moduleToImportFromWhenRemote, shouldInstallMissingDependencies, } = normalizedOptions;
27
26
  this.ui.startLoading('Loading details about your skill... 🧐');
28
- let localNamespace = await this.Store('skill').loadCurrentSkillsNamespace();
27
+ let localNamespace = await this.skillStore.loadCurrentSkillsNamespace();
29
28
  let shouldImportCoreSchemas = true;
30
29
  if (shouldGenerateCoreSchemaTypes) {
31
30
  shouldFetchRemoteSchemas = false;
@@ -42,6 +41,7 @@ class SyncAction extends AbstractAction_1.default {
42
41
  generateStandaloneTypesFile,
43
42
  schemaTypesDestinationDirOrFile,
44
43
  fieldTypesDestinationDir,
44
+ language: this.getProjectLanguage(),
45
45
  });
46
46
  this.ui.startLoading('Generating field types...');
47
47
  const { fieldTemplateItems, fieldErrors, generateFieldFiles } = await this.generateFieldTemplateItems({
@@ -83,29 +83,37 @@ class SyncAction extends AbstractAction_1.default {
83
83
  await this.optionallyInstallRemoteModules(schemaTemplateItems, shouldInstallMissingDependencies);
84
84
  let valueTypes;
85
85
  try {
86
- valueTypes = await this.generateValueTypes({
87
- resolvedDestination: resolvedFieldTypesDestination,
88
- fieldTemplateItems,
89
- schemaTemplateItems,
90
- globalSchemaNamespace: globalSchemaNamespace ?? undefined,
91
- });
86
+ valueTypes = this.isInGoProject()
87
+ ? undefined
88
+ : await this.generateValueTypes({
89
+ resolvedDestination: resolvedFieldTypesDestination,
90
+ fieldTemplateItems,
91
+ schemaTemplateItems,
92
+ globalSchemaNamespace: globalSchemaNamespace ?? undefined,
93
+ });
92
94
  }
93
95
  catch (err) {
94
96
  schemaErrors.push(err);
95
97
  }
96
- if (valueTypes) {
98
+ if (valueTypes || this.isInGoProject()) {
97
99
  try {
98
100
  this.ui.startLoading('Determining what changed... ⚡️');
101
+ let goModuleNameAndPath = undefined;
102
+ if (this.isInGoProject()) {
103
+ goModuleNameAndPath = this.skillStore.getGoModuleName({
104
+ shouldIncludePathFromCwd: true,
105
+ });
106
+ }
99
107
  typeResults = await this.schemaWriter.writeSchemasAndTypes(resolvedSchemaTypesDestination, {
100
108
  registerBuiltSchemas,
101
109
  fieldTemplateItems,
102
110
  schemaTemplateItems,
103
111
  shouldImportCoreSchemas,
104
112
  valueTypes,
113
+ goModuleNameAndPath,
114
+ language: this.getProjectLanguage(),
105
115
  globalSchemaNamespace: globalSchemaNamespace ?? undefined,
106
- typesTemplate: generateStandaloneTypesFile
107
- ? 'schema/core.schemas.types.ts.hbs'
108
- : undefined,
116
+ typesTemplate: this.resolveTypesTemplate(generateStandaloneTypesFile),
109
117
  });
110
118
  }
111
119
  catch (err) {
@@ -114,7 +122,10 @@ class SyncAction extends AbstractAction_1.default {
114
122
  }
115
123
  }
116
124
  const p = resolvedSchemaTypesDestination;
117
- spruce_skill_utils_1.diskUtil.deleteEmptyDirs(spruce_skill_utils_1.diskUtil.isDir(p) ? p : path_1.default.dirname(p));
125
+ const dir = spruce_skill_utils_1.diskUtil.isDir(p) ? p : path_1.default.dirname(p);
126
+ if (spruce_skill_utils_1.diskUtil.doesDirExist(dir)) {
127
+ spruce_skill_utils_1.diskUtil.deleteEmptyDirs(dir);
128
+ }
118
129
  this.ui.stopLoading();
119
130
  const errors = [...schemaErrors, ...fieldErrors];
120
131
  return action_utility_1.default.mergeActionResults(coreSyncResults || {}, {
@@ -126,10 +137,21 @@ class SyncAction extends AbstractAction_1.default {
126
137
  },
127
138
  });
128
139
  }
140
+ resolveTypesTemplate(generateStandaloneTypesFile) {
141
+ if (this.isInGoProject()) {
142
+ return 'schema/schemas.go.hbs';
143
+ }
144
+ return generateStandaloneTypesFile
145
+ ? 'schema/core.schemas.types.ts.hbs'
146
+ : undefined;
147
+ }
129
148
  async optionallyInstallRemoteModules(schemaTemplateItems, forceInstall) {
130
149
  const modules = (0, uniq_1.default)(schemaTemplateItems
131
150
  .map((item) => item.importFrom)
132
151
  .filter((i) => !!i));
152
+ if (this.isInGoProject()) {
153
+ return;
154
+ }
133
155
  const notInstalled = [];
134
156
  const pkg = this.Service('pkg');
135
157
  for (const m of modules) {
@@ -177,7 +199,9 @@ class SyncAction extends AbstractAction_1.default {
177
199
  this.ui.startLoading(message);
178
200
  },
179
201
  });
180
- const hashSpruceDestination = resolvedSchemaTypesDestinationDirOrFile.replace(spruce_skill_utils_1.diskUtil.resolveHashSprucePath(this.cwd), '#spruce');
202
+ const hashSpruceDestination = this.isInGoProject()
203
+ ? this.cwd
204
+ : resolvedSchemaTypesDestinationDirOrFile.replace(spruce_skill_utils_1.diskUtil.resolveHashSprucePath(this.cwd), '#spruce');
181
205
  let total = 0;
182
206
  let totalNamespaces = 0;
183
207
  for (const namespace of Object.keys(schemasByNamespace)) {
@@ -189,7 +213,17 @@ class SyncAction extends AbstractAction_1.default {
189
213
  const schemaTemplateItems = schemaTemplateItemBuilder.buildTemplateItems(schemasByNamespace, hashSpruceDestination);
190
214
  return { schemaTemplateItems, schemaErrors };
191
215
  }
216
+ isInGoProject() {
217
+ return this.getProjectLanguage() === 'go';
218
+ }
192
219
  async generateFieldTemplateItems(options) {
220
+ if (this.isInGoProject()) {
221
+ return {
222
+ generateFieldFiles: [],
223
+ fieldTemplateItems: [],
224
+ fieldErrors: [],
225
+ };
226
+ }
193
227
  const { addonsLookupDir, shouldGenerateFieldTypes: generateFieldTypes, resolvedFieldTypesDestination, } = options;
194
228
  const action = this.Action('schema', 'syncFields');
195
229
  const results = await action.execute({
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","sourceRoot":"","sources":["../../../../src/features/schema/actions/SyncAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncAction.js","sourceRoot":"","sources":["../../../../src/features/schema/actions/SyncAction.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,27 @@
1
1
  import { Schema, SchemaTemplateItem } from '@sprucelabs/schema';
2
+ import { ProjectLanguage } from '@sprucelabs/spruce-skill-utils';
2
3
  declare const schemaDiskUtil: {
3
4
  resolvePath(options: {
4
5
  destination: string;
5
6
  schema: Schema;
6
7
  shouldIncludeFileExtension?: boolean;
8
+ language?: ProjectLanguage;
7
9
  }): string;
8
10
  resolveTypeFilePaths(options: {
9
11
  cwd: string;
10
12
  generateStandaloneTypesFile: boolean;
11
13
  schemaTypesDestinationDirOrFile: string;
12
14
  fieldTypesDestinationDir: string;
15
+ language: ProjectLanguage;
13
16
  }): {
14
17
  resolvedFieldTypesDestination: string;
15
18
  resolvedSchemaTypesDestinationDirOrFile: string;
16
19
  resolvedSchemaTypesDestination: string;
17
20
  };
21
+ resolveStandaloneSchemaTypesFilePath(options: {
22
+ cwd: string;
23
+ schemaTypesDestinationDirOrFile: string;
24
+ }): string;
18
25
  deleteOrphanedSchemas(resolvedDestination: string, schemaTemplateItems: SchemaTemplateItem[]): Promise<void>;
19
26
  };
20
27
  export default schemaDiskUtil;
@@ -9,20 +9,32 @@ const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
9
9
  const schemaGenerator_utility_1 = __importDefault(require("./schemaGenerator.utility"));
10
10
  const schemaDiskUtil = {
11
11
  resolvePath(options) {
12
- const { destination, schema, shouldIncludeFileExtension: includeFileExtension, } = options;
12
+ const { destination, schema, shouldIncludeFileExtension, language } = options;
13
13
  if (!schema.namespace) {
14
14
  throw new schema_1.SchemaError({
15
15
  code: 'MISSING_PARAMETERS',
16
16
  parameters: ['namespace'],
17
+ friendlyMessage: `Schema with id "${schema.id}" is missing a namespace so it can not be written to disk.`,
17
18
  });
18
19
  }
19
- return path_1.default.join(destination, spruce_skill_utils_1.namesUtil.toCamel(schema.namespace), schema.version ?? '', `${schema.id}.schema${includeFileExtension === false ? '' : '.ts'}`);
20
+ const name = language == 'go'
21
+ ? `${spruce_skill_utils_1.namesUtil.toSnake(schema.id)}.go`
22
+ : `${schema.id}.schema${shouldIncludeFileExtension === false ? '' : '.ts'}`;
23
+ return path_1.default.join(destination, spruce_skill_utils_1.namesUtil.toCamel(schema.namespace), schema.version ?? '', name);
20
24
  },
21
25
  resolveTypeFilePaths(options) {
22
- const { cwd, generateStandaloneTypesFile, schemaTypesDestinationDirOrFile, fieldTypesDestinationDir, } = options;
26
+ let { cwd, generateStandaloneTypesFile, schemaTypesDestinationDirOrFile, fieldTypesDestinationDir, language, } = options;
27
+ if (language === 'go' &&
28
+ !generateStandaloneTypesFile &&
29
+ schemaTypesDestinationDirOrFile === '#spruce/schemas') {
30
+ schemaTypesDestinationDirOrFile = 'schemas/schemas.go';
31
+ }
23
32
  const resolvedSchemaTypesDestination = spruce_skill_utils_1.diskUtil.resolvePath(cwd, generateStandaloneTypesFile &&
24
33
  spruce_skill_utils_1.diskUtil.isDirPath(schemaTypesDestinationDirOrFile)
25
- ? spruce_skill_utils_1.diskUtil.resolvePath(cwd, schemaTypesDestinationDirOrFile, 'core.schemas.types.ts')
34
+ ? this.resolveStandaloneSchemaTypesFilePath({
35
+ cwd,
36
+ schemaTypesDestinationDirOrFile,
37
+ })
26
38
  : schemaTypesDestinationDirOrFile);
27
39
  const resolvedSchemaTypesDestinationDirOrFile = spruce_skill_utils_1.diskUtil.isDirPath(resolvedSchemaTypesDestination)
28
40
  ? resolvedSchemaTypesDestination
@@ -34,6 +46,12 @@ const schemaDiskUtil = {
34
46
  resolvedSchemaTypesDestination,
35
47
  };
36
48
  },
49
+ resolveStandaloneSchemaTypesFilePath(options) {
50
+ const { cwd, schemaTypesDestinationDirOrFile } = options;
51
+ return spruce_skill_utils_1.diskUtil.resolvePath(cwd, schemaTypesDestinationDirOrFile, spruce_skill_utils_1.diskUtil.detectProjectLanguage(cwd) === 'go'
52
+ ? '../../schemas/core_schemas.go'
53
+ : 'core.schemas.types.ts');
54
+ },
37
55
  async deleteOrphanedSchemas(resolvedDestination, schemaTemplateItems) {
38
56
  const definitionsToDelete = await schemaGenerator_utility_1.default.filterSchemaFilesBySchemaIds(resolvedDestination, schemaTemplateItems.map((item) => ({
39
57
  ...item,
@@ -1 +1 @@
1
- {"version":3,"file":"schemaDisk.utility.js","sourceRoot":"","sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"names":[],"mappings":";;;;;AAAA,gDAA2B;AAC3B,+CAA4E;AAC5E,uEAAoE;AACpE,wFAA2D;AAE3D,MAAM,cAAc,GAAG;IACnB,WAAW,CAAC,OAIX;QACG,MAAM,EACF,WAAW,EACX,MAAM,EACN,0BAA0B,EAAE,oBAAoB,GACnD,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,oBAAW,CAAC;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,CAAC,WAAW,CAAC;aAC5B,CAAC,CAAA;QACN,CAAC;QAED,OAAO,cAAQ,CAAC,IAAI,CAChB,WAAW,EACX,8BAAS,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EACnC,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,GAAG,MAAM,CAAC,EAAE,UAAU,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CACtE,CAAA;IACL,CAAC;IAED,oBAAoB,CAAC,OAKpB;QACG,MAAM,EACF,GAAG,EACH,2BAA2B,EAC3B,+BAA+B,EAC/B,wBAAwB,GAC3B,GAAG,OAAO,CAAA;QAEX,MAAM,8BAA8B,GAAG,6BAAQ,CAAC,WAAW,CACvD,GAAG,EACH,2BAA2B;YACvB,6BAAQ,CAAC,SAAS,CAAC,+BAA+B,CAAC;YACnD,CAAC,CAAC,6BAAQ,CAAC,WAAW,CAChB,GAAG,EACH,+BAA+B,EAC/B,uBAAuB,CAC1B;YACH,CAAC,CAAC,+BAA+B,CACxC,CAAA;QAED,MAAM,uCAAuC,GAAG,6BAAQ,CAAC,SAAS,CAC9D,8BAA8B,CACjC;YACG,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,cAAQ,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAA;QAEtD,MAAM,6BAA6B,GAAG,6BAAQ,CAAC,WAAW,CACtD,GAAG,EACH,wBAAwB,IAAI,uCAAuC,CACtE,CAAA;QAED,OAAO;YACH,6BAA6B;YAC7B,uCAAuC;YACvC,8BAA8B;SACjC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,mBAA2B,EAC3B,mBAAyC;QAEzC,MAAM,mBAAmB,GACrB,MAAM,iCAAmB,CAAC,4BAA4B,CAClD,mBAAmB,EACnB,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAC,CACN,CAAA;QAEL,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,6BAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,CAAC;CACJ,CAAA;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"schemaDisk.utility.js","sourceRoot":"","sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ declare const schemaGeneratorUtil: {
4
4
  namespace?: string;
5
5
  version?: string;
6
6
  }[]): Promise<string[]>;
7
+ buildPath(schemaId: string, suffix: string, namespace?: string, version?: string): string;
7
8
  };
8
9
  export default schemaGeneratorUtil;
@@ -8,20 +8,18 @@ const globby_1 = __importDefault(require("@sprucelabs/globby"));
8
8
  const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
9
9
  const schemaGeneratorUtil = {
10
10
  async filterSchemaFilesBySchemaIds(lookupDir, schemas) {
11
- const matches = await (0, globby_1.default)(path_1.default.join(lookupDir, '/**/*.schema.[t|j]s'));
11
+ const matches = await (0, globby_1.default)([
12
+ path_1.default.join(lookupDir, '/**/*.schema.[t|j]s'),
13
+ path_1.default.join(lookupDir, '/*/v*/*.go'),
14
+ ]);
12
15
  const filtered = matches.filter((match) => {
13
16
  let found = false;
14
17
  for (const schema of schemas) {
15
18
  const { id, namespace, version } = schema;
16
- let regexString = `${path_1.default.sep}${id}.schema.[t|j]s`;
17
- if (version) {
18
- regexString = path_1.default.sep + version + regexString;
19
- }
20
- if (namespace) {
21
- regexString = spruce_skill_utils_1.namesUtil.toCamel(namespace) + regexString;
22
- }
23
- const idx = match.search(new RegExp(regexString));
24
- if (idx > -1) {
19
+ const expectedPath = match.endsWith('.go')
20
+ ? this.buildPath(spruce_skill_utils_1.namesUtil.toSnake(id), '.go', namespace, version)
21
+ : this.buildPath(id, '.schema.', namespace, version);
22
+ if (match.includes(expectedPath)) {
25
23
  found = true;
26
24
  break;
27
25
  }
@@ -30,6 +28,16 @@ const schemaGeneratorUtil = {
30
28
  });
31
29
  return filtered;
32
30
  },
31
+ buildPath(schemaId, suffix, namespace, version) {
32
+ let path = path_1.default.sep + schemaId + suffix;
33
+ if (version) {
34
+ path = path_1.default.sep + version + path;
35
+ }
36
+ if (namespace) {
37
+ path = spruce_skill_utils_1.namesUtil.toCamel(namespace) + path;
38
+ }
39
+ return path;
40
+ },
33
41
  };
34
42
  exports.default = schemaGeneratorUtil;
35
43
  //# sourceMappingURL=schemaGenerator.utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.utility.js","sourceRoot":"","sources":["../../../../src/features/schema/utilities/schemaGenerator.utility.ts"],"names":[],"mappings":";;;;;AAAA,gDAA2B;AAC3B,gEAAuC;AACvC,uEAA0D;AAE1D,MAAM,mBAAmB,GAAG;IACxB,KAAK,CAAC,4BAA4B,CAC9B,SAAiB,EACjB,OAA+D;QAE/D,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAM,EACxB,cAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAClD,CAAA;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,GAAG,KAAK,CAAA;YAEjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;gBACzC,IAAI,WAAW,GAAG,GAAG,cAAQ,CAAC,GAAG,GAAG,EAAE,gBAAgB,CAAA;gBAEtD,IAAI,OAAO,EAAE,CAAC;oBACV,WAAW,GAAG,cAAQ,CAAC,GAAG,GAAG,OAAO,GAAG,WAAW,CAAA;gBACtD,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACZ,WAAW,GAAG,8BAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,WAAW,CAAA;gBAC5D,CAAC;gBAED,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;gBACjD,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;oBACX,KAAK,GAAG,IAAI,CAAA;oBACZ,MAAK;gBACT,CAAC;YACL,CAAC;YAED,OAAO,CAAC,KAAK,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ,CAAA;AAED,kBAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"schemaGenerator.utility.js","sourceRoot":"","sources":["../../../../src/features/schema/utilities/schemaGenerator.utility.ts"],"names":[],"mappings":";;;;;AAAA,gDAA2B;AAC3B,gEAAuC;AACvC,uEAA0D;AAE1D,MAAM,mBAAmB,GAAG;IACxB,KAAK,CAAC,4BAA4B,CAC9B,SAAiB,EACjB,OAA+D;QAE/D,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAM,EAAC;YACzB,cAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC;YAC/C,cAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;SACzC,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,GAAG,KAAK,CAAA;YAEjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;gBAEzC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC,SAAS,CACV,8BAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EACrB,KAAK,EACL,SAAS,EACT,OAAO,CACV;oBACH,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;gBAExD,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC/B,KAAK,GAAG,IAAI,CAAA;oBACZ,MAAK;gBACT,CAAC;YACL,CAAC;YAED,OAAO,CAAC,KAAK,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,SAAS,CACL,QAAgB,EAChB,MAAc,EACd,SAAkB,EAClB,OAAgB;QAEhB,IAAI,IAAI,GAAG,cAAQ,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAA;QAE3C,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,GAAG,cAAQ,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAA;QACxC,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,GAAG,8BAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;QAC9C,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ,CAAA;AAED,kBAAe,mBAAmB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema';
2
+ import { ProjectLanguage } from '@sprucelabs/spruce-skill-utils';
2
3
  import { SchemaBuilderTemplateItem, ValueTypes } from '@sprucelabs/spruce-templates';
3
4
  import AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter';
4
5
  export default class SchemaWriter extends AbstractWriter {
@@ -8,16 +9,13 @@ export default class SchemaWriter extends AbstractWriter {
8
9
  version?: string;
9
10
  }): Promise<WriteResults>;
10
11
  writeFieldTypes(destinationDir: string, options: WriteFieldTypesOptions): Promise<WriteResults>;
11
- writeSchemasAndTypes(destinationDirOrFilename: string, options: GenerateSchemaTypesOptions): Promise<WriteResults>;
12
+ writeSchemasAndTypes(destinationDirOrFilename: string, options: Omit<GenerateSchemaTypesOptions, 'valueTypes'> & {
13
+ valueTypes?: ValueTypes;
14
+ goModuleNameAndPath?: string;
15
+ }): Promise<WriteResults>;
12
16
  private writeAllSchemas;
13
- writeSchema(destinationDir: string, options: {
14
- schemaTemplateItems: SchemaTemplateItem[];
15
- fieldTemplateItems: FieldTemplateItem[];
16
- valueTypes: ValueTypes;
17
- typesFile?: string;
18
- registerBuiltSchemas?: boolean;
19
- shouldImportCoreSchemas: boolean;
20
- } & SchemaTemplateItem): Promise<WriteResults>;
17
+ private writeSchema;
18
+ private resolveTypesFile;
21
19
  writeValueTypes(destinationDir: string, options: {
22
20
  schemaTemplateItems: SchemaTemplateItem[];
23
21
  fieldTemplateItems: FieldTemplateItem[];
@@ -36,5 +34,7 @@ export interface GenerateSchemaTypesOptions {
36
34
  typesTemplate?: string;
37
35
  registerBuiltSchemas?: boolean;
38
36
  shouldImportCoreSchemas: boolean;
37
+ language?: ProjectLanguage;
38
+ goModuleNameAndPath?: string;
39
39
  }
40
40
  export {};
@@ -56,20 +56,27 @@ class SchemaWriter extends AbstractWriter_1.default {
56
56
  return results;
57
57
  }
58
58
  async writeSchemasAndTypes(destinationDirOrFilename, options) {
59
- const { fieldTemplateItems, schemaTemplateItems, valueTypes, typesTemplate, } = options;
59
+ const { fieldTemplateItems, schemaTemplateItems, valueTypes, typesTemplate, language, } = options;
60
60
  this.isLintEnabled = false;
61
61
  const resolvedTypesDestination = this.resolveFilenameWithFallback(destinationDirOrFilename, spruce_skill_utils_3.DEFAULT_SCHEMA_TYPES_FILENAME);
62
62
  let results = [];
63
63
  this.ui.startLoading('Generating schema types...');
64
64
  const localItems = schemaTemplateItems.filter((i) => !i.importFrom);
65
65
  if (localItems.length > 0) {
66
- const schemaTypesContents = this.templates.schemasTypes({
66
+ let schemaTypesContents = this.templates.schemasTypes({
67
+ language: language === 'go' ? 'go' : 'typescript',
67
68
  schemaTemplateItems: localItems,
68
69
  fieldTemplateItems,
69
70
  valueTypes,
70
71
  globalSchemaNamespace: options.globalSchemaNamespace,
71
72
  typesTemplate,
72
73
  });
74
+ if (language === 'go') {
75
+ const referencesSchemaType = schemaTypesContents.split('SpruceSchema.');
76
+ if (referencesSchemaType.length === 1) {
77
+ schemaTypesContents = schemaTypesContents.replace('import SpruceSchema "github.com/sprucelabsai-community/spruce-schema/v32/pkg/fields"', '');
78
+ }
79
+ }
73
80
  results = await this.writeFileIfChangedMixinResults(resolvedTypesDestination, schemaTypesContents, 'Namespace for accessing all your schemas. Type `SpruceSchemas` in your IDE to get started. ⚡️');
74
81
  }
75
82
  this.ui.startLoading(`Checking ${schemaTemplateItems.length} schemas for changes...`);
@@ -83,27 +90,32 @@ class SchemaWriter extends AbstractWriter_1.default {
83
90
  return results;
84
91
  }
85
92
  async writeAllSchemas(destinationDir, options) {
93
+ const { language } = options;
86
94
  const results = [];
87
95
  for (const item of options.schemaTemplateItems) {
88
- const schemaResults = await this.writeSchema(destinationDir, {
89
- ...options,
90
- ...item,
91
- });
92
- results.push(...schemaResults);
96
+ if (language === 'ts' || (language === 'go' && !item.importFrom)) {
97
+ const schemaResults = await this.writeSchema(destinationDir, {
98
+ ...options,
99
+ ...item,
100
+ });
101
+ results.push(...schemaResults);
102
+ }
93
103
  }
94
104
  return results;
95
105
  }
96
106
  async writeSchema(destinationDir, options) {
97
- const { schemaTemplateItems, fieldTemplateItems, valueTypes, registerBuiltSchemas = true, ...item } = options;
107
+ let { schemaTemplateItems, fieldTemplateItems, valueTypes, registerBuiltSchemas = true, language, schema, typesFile, ...item } = options;
98
108
  const resolvedDestination = schemaDisk_utility_1.default.resolvePath({
99
109
  destination: destinationDir,
100
- schema: options.schema,
110
+ schema,
111
+ language,
101
112
  });
102
- let typesFile = options.typesFile
103
- ? spruce_skill_utils_2.diskUtil.resolveRelativePath(path_2.default.dirname(resolvedDestination), options.typesFile)
113
+ typesFile = this.resolveTypesFile(typesFile, resolvedDestination);
114
+ let templateFile = item.importFrom && options.shouldImportCoreSchemas
115
+ ? `schema/imported.schema.ts.hbs`
104
116
  : undefined;
105
- if (typesFile) {
106
- typesFile = typesFile.replace(path_2.default.extname(typesFile), '');
117
+ if (language === 'go') {
118
+ templateFile = 'schema/schema.go.hbs';
107
119
  }
108
120
  const schemaContents = this.templates.schema({
109
121
  ...item,
@@ -112,11 +124,20 @@ class SchemaWriter extends AbstractWriter_1.default {
112
124
  fieldTemplateItems,
113
125
  valueTypes,
114
126
  typesFile,
115
- schemaFile: item.importFrom && options.shouldImportCoreSchemas
116
- ? `schema/imported.schema.ts.hbs`
117
- : undefined,
127
+ schema,
128
+ language: language === 'go' ? 'go' : 'typescript',
129
+ schemaFile: templateFile,
118
130
  });
119
- return this.writeFileIfChangedMixinResults(resolvedDestination, schemaContents, `${item.schema.description ? `${item.schema.description} ` : ''}This is the schema generated by ${item.id}.builder.ts. AUTOGENERATED. DO NOT EDIT.`);
131
+ return this.writeFileIfChangedMixinResults(resolvedDestination, schemaContents, `${schema.description ? `${schema.description} ` : ''}This is the schema generated by ${item.id}.builder.ts. AUTOGENERATED. DO NOT EDIT.`);
132
+ }
133
+ resolveTypesFile(typesFile, resolvedDestination) {
134
+ let resolvedType = typesFile
135
+ ? spruce_skill_utils_2.diskUtil.resolveRelativePath(path_2.default.dirname(resolvedDestination), typesFile)
136
+ : undefined;
137
+ if (resolvedType) {
138
+ resolvedType = resolvedType.replace(path_2.default.extname(resolvedType), '');
139
+ }
140
+ return resolvedType;
120
141
  }
121
142
  async writeValueTypes(destinationDir, options) {
122
143
  const contents = this.templates.valueTypes(options);
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export default class SkillFeature<S extends SkillFeatureOptionsSchema = SkillFea
8
8
  code: FeatureCode;
9
9
  description: string;
10
10
  readonly installOrderWeight = 100;
11
- packageDependencies: NpmPackage[];
11
+ protected _packageDependencies: NpmPackage[];
12
12
  optionsSchema: S;
13
13
  actionsDir: string;
14
14
  private engines;
@@ -17,7 +17,7 @@ class SkillFeature extends AbstractFeature_1.default {
17
17
  code = 'skill';
18
18
  description = 'The scaffolding needed to run a Skill';
19
19
  installOrderWeight = 100;
20
- packageDependencies = [
20
+ _packageDependencies = [
21
21
  { name: '@sprucelabs/error' },
22
22
  { name: '@sprucelabs/spruce-skill-utils' },
23
23
  { name: '@sprucelabs/spruce-skill-booter' },
@@ -1 +1 @@
1
- {"version":3,"file":"SkillFeature.js","sourceRoot":"","sources":["../../../src/features/skill/SkillFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkillFeature.js","sourceRoot":"","sources":["../../../src/features/skill/SkillFeature.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,11 @@ export default class SkillStoreImpl extends AbstractStore implements SkillStore
11
11
  loadCurrentSkill(): Promise<CurrentSkill>;
12
12
  publish(options?: PublishOptions): Promise<void>;
13
13
  isCurrentSkillRegistered(): Promise<boolean>;
14
+ getGoModuleName(options?: {
15
+ shouldIncludePathFromCwd?: boolean;
16
+ }): string;
14
17
  private getNamespaceFromPkg;
18
+ private isGoModule;
15
19
  loadCurrentSkillsNamespace(): Promise<Capitalize<string>>;
16
20
  setCurrentSkillsNamespace(namespace: string): Promise<void>;
17
21
  private getEventNamespaceForNotRegistered;
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
6
7
  const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
7
8
  const SpruceError_1 = __importDefault(require("../../../errors/SpruceError"));
8
9
  const AbstractStore_1 = __importDefault(require("../../../stores/AbstractStore"));
@@ -94,20 +95,53 @@ class SkillStoreImpl extends AbstractStore_1.default {
94
95
  const skill = await this.loadCurrentSkill();
95
96
  return skill.isRegistered;
96
97
  }
98
+ getGoModuleName(options) {
99
+ const { shouldIncludePathFromCwd = false } = options || {};
100
+ let goModFile = spruce_skill_utils_1.diskUtil.resolvePath(this.cwd, 'go.mod');
101
+ if (!spruce_skill_utils_1.diskUtil.doesFileExist(goModFile)) {
102
+ goModFile = spruce_skill_utils_1.diskUtil.resolvePath(this.cwd, '../go.mod');
103
+ }
104
+ if (!spruce_skill_utils_1.diskUtil.doesFileExist(goModFile)) {
105
+ throw new SpruceError_1.default({
106
+ code: 'DIRECTORY_NOT_GO_MODULE',
107
+ friendlyMessage: `Couldn't find a go.mod file in the current directory or its parent. Are you in a Go module?`,
108
+ cwd: this.cwd,
109
+ });
110
+ }
111
+ const goModContents = spruce_skill_utils_1.diskUtil.readFile(goModFile);
112
+ const moduleLine = goModContents.match(/module\s+([^\s]+)/);
113
+ const goModuleName = moduleLine?.[1];
114
+ if (shouldIncludePathFromCwd) {
115
+ const goModDir = path_1.default.dirname(goModFile);
116
+ const relativePath = this.cwd.replace(goModDir, '');
117
+ if (relativePath) {
118
+ return `${goModuleName}${relativePath}`;
119
+ }
120
+ }
121
+ return goModuleName;
122
+ }
97
123
  getNamespaceFromPkg() {
124
+ if (this.isGoModule()) {
125
+ const module = this.getGoModuleName();
126
+ const moduleParts = module.split('/') ?? [];
127
+ return moduleParts.pop();
128
+ }
98
129
  const nameFromPackage = this.Service('pkg').getSkillNamespace();
99
130
  if (!nameFromPackage) {
100
131
  throw new Error('You need need to set skill.namespace in the package.json');
101
132
  }
102
133
  return nameFromPackage;
103
134
  }
135
+ isGoModule() {
136
+ return spruce_skill_utils_1.diskUtil.detectProjectLanguage(this.cwd) === 'go';
137
+ }
104
138
  async loadCurrentSkillsNamespace() {
105
- const fallback = spruce_skill_utils_1.namesUtil.toPascal(this.getNamespaceFromPkg());
106
- if (this.Service('auth').getCurrentSkill()) {
139
+ const fallback = this.getNamespaceFromPkg();
140
+ if (!this.isGoModule() && this.Service('auth').getCurrentSkill()) {
107
141
  const current = await this.loadCurrentSkill();
108
142
  return spruce_skill_utils_1.namesUtil.toPascal(current.slug ?? fallback);
109
143
  }
110
- return fallback;
144
+ return spruce_skill_utils_1.namesUtil.toPascal(fallback);
111
145
  }
112
146
  async setCurrentSkillsNamespace(namespace) {
113
147
  let isRegistered = false;