@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.
- package/CHANGELOG.md +24 -0
- package/build/.spruce/errors/errors.types.d.ts +23 -2
- package/build/.spruce/errors/options.types.d.ts +4 -1
- package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.d.ts +3 -0
- package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.js +20 -0
- package/build/.spruce/errors/spruceCli/directoryNotGoModule.schema.js.map +1 -0
- package/build/.spruce/schemas/schemas.types.d.ts +2 -2
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.d.ts +7 -2
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +36 -13
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.d.ts +5 -0
- package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.js +32 -0
- package/build/__tests__/behavioral/features/InstallFeaturesInGo.test.js.map +1 -0
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.d.ts +5 -0
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +21 -13
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +7 -7
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.d.ts +39 -0
- package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.js +289 -0
- package/build/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.js.map +1 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.d.ts +7 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.js +46 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.js.map +1 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.d.ts +5 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.js +31 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasInGo.test.js.map +1 -0
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +10 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.d.ts +5 -0
- package/build/__tests__/implementation/SkillStore.test.js +37 -0
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/support/EventFaker.d.ts +4 -0
- package/build/__tests__/support/EventFaker.js +16 -0
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/cli/Cli.js +12 -9
- package/build/cli/Cli.js.map +1 -1
- package/build/errors/SpruceError.js +3 -0
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/directoryNotGoModule.builder.d.ts +12 -0
- package/build/errors/directoryNotGoModule.builder.js +15 -0
- package/build/errors/directoryNotGoModule.builder.js.map +1 -0
- package/build/features/AbstractAction.d.ts +1 -0
- package/build/features/AbstractAction.js +5 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +8 -1
- package/build/features/AbstractFeature.js +12 -1
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionFactory.js +1 -2
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js +0 -1
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureInstaller.d.ts +1 -0
- package/build/features/FeatureInstaller.js +21 -7
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.d.ts +1 -0
- package/build/features/FeatureInstallerFactory.js +7 -0
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +1 -1
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/VersionResolver.js +1 -1
- package/build/features/VersionResolver.js.map +1 -1
- package/build/features/agent/AgentFeature.d.ts +1 -1
- package/build/features/agent/AgentFeature.js +1 -1
- package/build/features/agent/AgentFeature.js.map +1 -1
- package/build/features/conversation/ConversationFeature.d.ts +1 -1
- package/build/features/conversation/ConversationFeature.js +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.d.ts +0 -1
- package/build/features/dependencies/DependencyFeature.js +0 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/deploy/DeployFeature.d.ts +1 -1
- package/build/features/deploy/DeployFeature.js +1 -1
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/error/ErrorFeature.d.ts +1 -1
- package/build/features/error/ErrorFeature.js +1 -1
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +1 -1
- package/build/features/event/EventFeature.js +1 -1
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.d.ts +1 -3
- package/build/features/eventContract/EventContractFeature.js +0 -2
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/node/NodeFeature.d.ts +1 -1
- package/build/features/node/NodeFeature.js +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/onboard/OnboardFeature.d.ts +1 -3
- package/build/features/onboard/OnboardFeature.js +0 -2
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/organization/OrganizationFeature.d.ts +0 -1
- package/build/features/organization/OrganizationFeature.js +0 -1
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/permission/PermissionFeature.d.ts +2 -3
- package/build/features/permission/PermissionFeature.js +1 -2
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/person/PersonFeature.d.ts +1 -3
- package/build/features/person/PersonFeature.js +0 -2
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/polish/PolishFeature.d.ts +1 -1
- package/build/features/polish/PolishFeature.js +1 -1
- package/build/features/polish/PolishFeature.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.d.ts +0 -1
- package/build/features/sandbox/SandboxFeature.js +0 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/schema/SchemaFeature.d.ts +2 -3
- package/build/features/schema/SchemaFeature.js +6 -1
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/actions/SyncAction.d.ts +5 -2
- package/build/features/schema/actions/SyncAction.js +50 -16
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.d.ts +7 -0
- package/build/features/schema/utilities/schemaDisk.utility.js +22 -4
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.d.ts +1 -0
- package/build/features/schema/utilities/schemaGenerator.utility.js +18 -10
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.d.ts +9 -9
- package/build/features/schema/writers/SchemaWriter.js +38 -17
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.d.ts +1 -1
- package/build/features/skill/SkillFeature.js +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +4 -0
- package/build/features/skill/stores/SkillStore.js +37 -3
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/store/StoreFeature.d.ts +1 -1
- package/build/features/store/StoreFeature.js +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/test/TestFeature.d.ts +1 -1
- package/build/features/test/TestFeature.js +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestReporter.js +1 -1
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/view/ViewFeature.d.ts +1 -1
- package/build/features/view/ViewFeature.js +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/migration/EsLint9Migrator.d.ts +1 -0
- package/build/packageManager/NodePackageManager.d.ts +14 -0
- package/build/packageManager/NodePackageManager.js +88 -0
- package/build/packageManager/NodePackageManager.js.map +1 -0
- package/build/packageManager/packageManager.types.d.ts +16 -0
- package/build/packageManager/packageManager.types.js +3 -0
- package/build/packageManager/packageManager.types.js.map +1 -0
- package/build/schemas/v2020_07_22/onboardOptions.builder.js +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/services/GoPackageManager.d.ts +10 -0
- package/build/services/GoPackageManager.js +39 -0
- package/build/services/GoPackageManager.js.map +1 -0
- package/build/services/PkgService.d.ts +3 -7
- package/build/services/PkgService.js +13 -68
- package/build/services/PkgService.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +5 -1
- package/build/tests/AbstractCliTest.js +15 -3
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +4 -1
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/GoFixture.d.ts +12 -0
- package/build/tests/fixtures/GoFixture.js +39 -0
- package/build/tests/fixtures/GoFixture.js.map +1 -0
- package/build/tests/staticToInstanceMigration/StaticToInstanceMigrator.d.ts +1 -0
- package/build/widgets/terminalKit/TkTextWidget.js +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/writers/AbstractWriter.js +7 -6
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +29 -29
- package/src/.spruce/errors/errors.types.ts +32 -2
- package/src/.spruce/errors/options.types.ts +4 -1
- package/src/.spruce/errors/spruceCli/directoryNotGoModule.schema.ts +23 -0
- package/src/.spruce/schemas/schemas.types.ts +2 -2
- package/src/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.ts +1 -1
- package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +60 -13
- package/src/__tests__/behavioral/features/InstallFeaturesInGo.test.ts +17 -0
- package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +29 -22
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +6 -9
- package/src/__tests__/behavioral/schemas/SyncingCoreSchemasInGo.test.ts +376 -0
- package/src/__tests__/behavioral/schemas/SyncingSchemasInChildDirInGo.test.ts +46 -0
- package/src/__tests__/behavioral/schemas/SyncingSchemasInGo.test.ts +23 -0
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +15 -2
- package/src/__tests__/implementation/SkillStore.test.ts +44 -1
- package/src/__tests__/support/EventFaker.ts +29 -0
- package/src/cli/Cli.ts +20 -12
- package/src/errors/SpruceError.ts +4 -0
- package/src/errors/directoryNotGoModule.builder.ts +13 -0
- package/src/features/AbstractAction.ts +6 -4
- package/src/features/AbstractFeature.ts +20 -1
- package/src/features/ActionFactory.ts +2 -2
- package/src/features/ActionQuestionAsker.ts +0 -1
- package/src/features/FeatureInstaller.ts +30 -6
- package/src/features/FeatureInstallerFactory.ts +9 -0
- package/src/features/OverrideActionDecorator.ts +1 -1
- package/src/features/VersionResolver.ts +2 -1
- package/src/features/agent/AgentFeature.ts +1 -1
- package/src/features/conversation/ConversationFeature.ts +1 -1
- package/src/features/dependencies/DependencyFeature.ts +0 -1
- package/src/features/deploy/DeployFeature.ts +1 -1
- package/src/features/error/ErrorFeature.ts +1 -1
- package/src/features/event/EventFeature.ts +1 -1
- package/src/features/eventContract/EventContractFeature.ts +1 -3
- package/src/features/node/NodeFeature.ts +1 -1
- package/src/features/onboard/OnboardFeature.ts +1 -7
- package/src/features/organization/OrganizationFeature.ts +0 -1
- package/src/features/permission/PermissionFeature.ts +1 -3
- package/src/features/person/PersonFeature.ts +1 -4
- package/src/features/polish/PolishFeature.ts +1 -1
- package/src/features/sandbox/SandboxFeature.ts +0 -1
- package/src/features/schema/SchemaFeature.ts +8 -2
- package/src/features/schema/actions/SyncAction.ts +68 -26
- package/src/features/schema/utilities/schemaDisk.utility.ts +43 -11
- package/src/features/schema/utilities/schemaGenerator.utility.ts +33 -13
- package/src/features/schema/writers/SchemaWriter.ts +71 -25
- package/src/features/skill/SkillFeature.ts +1 -1
- package/src/features/skill/stores/SkillStore.ts +47 -5
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/test/TestFeature.ts +1 -1
- package/src/features/test/TestReporter.ts +1 -1
- package/src/features/view/ViewFeature.ts +1 -1
- package/src/packageManager/NodePackageManager.ts +115 -0
- package/src/packageManager/packageManager.types.ts +21 -0
- package/src/schemas/v2020_07_22/onboardOptions.builder.ts +1 -1
- package/src/services/GoPackageManager.ts +45 -0
- package/src/services/PkgService.ts +17 -92
- package/src/templateItemBuilders/SchemaTemplateItemBuilder.ts +6 -6
- package/src/tests/AbstractCliTest.ts +19 -5
- package/src/tests/fixtures/FeatureFixture.ts +3 -1
- package/src/tests/fixtures/GoFixture.ts +39 -0
- package/src/widgets/terminalKit/TkTextWidget.ts +1 -1
- 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
|
-
|
|
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.
|
|
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 =
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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.
|
|
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 =
|
|
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":";;;;;AAAA,gDAA2B;AAE3B,uEAAyE;AAEzE,uDAA8B;AAE9B,gIAAqG;AACrG,8EAAqD;AACrD,wHAA+F;AAE/F,uFAA0D;AAC1D,0EAAiD;AAEjD,yFAA4D;AAC5D,2EAAkD;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
?
|
|
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,
|
|
1
|
+
{"version":3,"file":"schemaDisk.utility.js","sourceRoot":"","sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -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)(
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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,
|
|
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
|
|
12
|
+
writeSchemasAndTypes(destinationDirOrFilename: string, options: Omit<GenerateSchemaTypesOptions, 'valueTypes'> & {
|
|
13
|
+
valueTypes?: ValueTypes;
|
|
14
|
+
goModuleNameAndPath?: string;
|
|
15
|
+
}): Promise<WriteResults>;
|
|
12
16
|
private writeAllSchemas;
|
|
13
|
-
writeSchema
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
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
|
|
110
|
+
schema,
|
|
111
|
+
language,
|
|
101
112
|
});
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
typesFile = this.resolveTypesFile(typesFile, resolvedDestination);
|
|
114
|
+
let templateFile = item.importFrom && options.shouldImportCoreSchemas
|
|
115
|
+
? `schema/imported.schema.ts.hbs`
|
|
104
116
|
: undefined;
|
|
105
|
-
if (
|
|
106
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
127
|
+
schema,
|
|
128
|
+
language: language === 'go' ? 'go' : 'typescript',
|
|
129
|
+
schemaFile: templateFile,
|
|
118
130
|
});
|
|
119
|
-
return this.writeFileIfChangedMixinResults(resolvedDestination, schemaContents, `${
|
|
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":";;;;;AAAA,gDAAuB;AACvB,gDAA2B;AAE3B,
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;AAAA,+CAAuE;AACvE,uEAAyD;AAEzD,oHAA0F;AAE1F,iFAA4D;AAC5D,yEAAoE;AAEpE,2FAAkE;AAClE,6FAAoE;AACpE,2EAAkD;AAClD,iEAAwC;AAExC,MAAqB,YAEnB,SAAQ,yBAAkB;IACjB,YAAY,GAAG,OAAO,CAAA;IACtB,IAAI,GAAgB,OAAO,CAAA;IAC3B,WAAW,GAAG,uCAAuC,CAAA;IAC5C,kBAAkB,GAAG,GAAG,CAAA;
|
|
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 =
|
|
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;
|