@sprucelabs/spruce-cli 21.0.11 → 21.0.13
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 +16 -0
- package/build/__tests__/implementation/FeatureCommandAttacher.test.d.ts +1 -0
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +18 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/features/FeatureCommandAttacher.d.ts +10 -1
- package/build/features/FeatureCommandAttacher.js +3 -1
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/package.json +21 -21
- package/src/__tests__/implementation/FeatureCommandAttacher.test.ts +24 -3
- package/src/features/FeatureCommandAttacher.ts +15 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [21.0.13](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.12...v21.0.13) (2024-05-14)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [21.0.12](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.11...v21.0.12) (2024-05-13)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [21.0.11](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.10...v21.0.11) (2024-05-10)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
@@ -12,6 +12,7 @@ export default class FeatureCommandAttacherTest extends AbstractCliTest {
|
|
|
12
12
|
protected static handlesAliases(): Promise<void>;
|
|
13
13
|
protected static testActionWithSameNameAsFeature(): Promise<void>;
|
|
14
14
|
protected static optionsCanBeOverridden(): Promise<void>;
|
|
15
|
+
protected static doesNotCrashWhenRenderingResultsWithoutPackageJson(): Promise<void>;
|
|
15
16
|
private static attachSchemaFeature;
|
|
16
17
|
private static MockCommanderProgram;
|
|
17
18
|
}
|
|
@@ -21,7 +21,7 @@ class FeatureCommandAttacherTest extends AbstractCliTest_1.default {
|
|
|
21
21
|
await super.beforeEach();
|
|
22
22
|
this.program = this.MockCommanderProgram();
|
|
23
23
|
const actionExecuter = this.ActionExecuter();
|
|
24
|
-
this.attacher = new
|
|
24
|
+
this.attacher = new SpyFeatureCommandAttacher({
|
|
25
25
|
pkgService: this.Service('pkg'),
|
|
26
26
|
program: this.program,
|
|
27
27
|
ui: this.ui,
|
|
@@ -112,6 +112,15 @@ class FeatureCommandAttacherTest extends AbstractCliTest_1.default {
|
|
|
112
112
|
const personPath = this.resolveHashSprucePath('schemas', 'spruce', 'v2020_07_22', 'person.schema.ts');
|
|
113
113
|
test_utils_1.assert.isFalse(spruce_skill_utils_1.diskUtil.doesFileExist(personPath));
|
|
114
114
|
}
|
|
115
|
+
static async doesNotCrashWhenRenderingResultsWithoutPackageJson() {
|
|
116
|
+
this.attacher.clearAndRenderResults({
|
|
117
|
+
action: 'test',
|
|
118
|
+
actionCode: 'test',
|
|
119
|
+
featureCode: 'test',
|
|
120
|
+
results: {},
|
|
121
|
+
totalTime: 0,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
115
124
|
static async attachSchemaFeature() {
|
|
116
125
|
const cli = await this.Cli();
|
|
117
126
|
const schemaFeature = cli.getFeature('schema');
|
|
@@ -149,4 +158,12 @@ __decorate([
|
|
|
149
158
|
__decorate([
|
|
150
159
|
(0, test_utils_1.test)()
|
|
151
160
|
], FeatureCommandAttacherTest, "optionsCanBeOverridden", null);
|
|
161
|
+
__decorate([
|
|
162
|
+
(0, test_utils_1.test)()
|
|
163
|
+
], FeatureCommandAttacherTest, "doesNotCrashWhenRenderingResultsWithoutPackageJson", null);
|
|
164
|
+
class SpyFeatureCommandAttacher extends FeatureCommandAttacher_1.default {
|
|
165
|
+
clearAndRenderResults(options) {
|
|
166
|
+
return super.clearAndRenderResults(options);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
152
169
|
//# sourceMappingURL=FeatureCommandAttacher.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureCommandAttacher.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/FeatureCommandAttacher.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uEAAyD;AACzD,uDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"FeatureCommandAttacher.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/FeatureCommandAttacher.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import PkgService from '../services/PkgService';
|
|
|
3
3
|
import { GraphicsInterface } from '../types/cli.types';
|
|
4
4
|
import AbstractFeature from './AbstractFeature';
|
|
5
5
|
import ActionExecuter from './ActionExecuter';
|
|
6
|
+
import { FeatureAction, FeatureActionResponse } from './features.types';
|
|
6
7
|
export default class FeatureCommandAttacher {
|
|
7
8
|
private program;
|
|
8
9
|
private ui;
|
|
@@ -16,9 +17,17 @@ export default class FeatureCommandAttacher {
|
|
|
16
17
|
});
|
|
17
18
|
attachFeature(feature: AbstractFeature): Promise<void>;
|
|
18
19
|
private attachCode;
|
|
19
|
-
|
|
20
|
+
protected clearAndRenderResults(options: ClearResultsAndRenderResultsOptions): void;
|
|
20
21
|
private clearAndRenderMasthead;
|
|
21
22
|
private attachOptions;
|
|
22
23
|
}
|
|
23
24
|
export type OptionOverrides = Record<string, Record<string, any>>;
|
|
24
25
|
export type BlockedCommands = Record<string, string>;
|
|
26
|
+
export interface ClearResultsAndRenderResultsOptions {
|
|
27
|
+
namespace?: string;
|
|
28
|
+
featureCode: string;
|
|
29
|
+
actionCode: string;
|
|
30
|
+
totalTime: number;
|
|
31
|
+
action: FeatureAction;
|
|
32
|
+
results: FeatureActionResponse;
|
|
33
|
+
}
|
|
@@ -69,7 +69,9 @@ class FeatureCommandAttacher {
|
|
|
69
69
|
this.ui.stopLoading();
|
|
70
70
|
this.ui.clear();
|
|
71
71
|
this.ui.renderActionSummary({
|
|
72
|
-
namespace: this.pkg.
|
|
72
|
+
namespace: this.pkg.doesExist()
|
|
73
|
+
? this.pkg.getSkillNamespace()
|
|
74
|
+
: undefined,
|
|
73
75
|
featureCode,
|
|
74
76
|
actionCode,
|
|
75
77
|
totalTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureCommandAttacher.js","sourceRoot":"","sources":["../../src/features/FeatureCommandAttacher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FeatureCommandAttacher.js","sourceRoot":"","sources":["../../src/features/FeatureCommandAttacher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
]
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
21
|
-
"version": "21.0.
|
|
21
|
+
"version": "21.0.13",
|
|
22
22
|
"bin": {
|
|
23
23
|
"spruce": "./build/index.js"
|
|
24
24
|
},
|
|
@@ -76,22 +76,22 @@
|
|
|
76
76
|
"@jest/reporters": "^29.7.0",
|
|
77
77
|
"@sprucelabs/error": "^6.0.23",
|
|
78
78
|
"@sprucelabs/globby": "^2.0.14",
|
|
79
|
-
"@sprucelabs/heartwood-view-controllers": "^110.2.
|
|
80
|
-
"@sprucelabs/jest-json-reporter": "^8.0.
|
|
81
|
-
"@sprucelabs/mercury-client": "^42.0.
|
|
82
|
-
"@sprucelabs/mercury-event-emitter": "^42.0.
|
|
83
|
-
"@sprucelabs/mercury-types": "^47.0.
|
|
84
|
-
"@sprucelabs/schema": "^30.0.
|
|
85
|
-
"@sprucelabs/spruce-core-schemas": "^40.0.
|
|
86
|
-
"@sprucelabs/spruce-event-utils": "^40.0.
|
|
87
|
-
"@sprucelabs/spruce-skill-utils": "^31.0.
|
|
88
|
-
"@sprucelabs/spruce-templates": "^21.0.
|
|
79
|
+
"@sprucelabs/heartwood-view-controllers": "^110.2.21",
|
|
80
|
+
"@sprucelabs/jest-json-reporter": "^8.0.26",
|
|
81
|
+
"@sprucelabs/mercury-client": "^42.0.57",
|
|
82
|
+
"@sprucelabs/mercury-event-emitter": "^42.0.57",
|
|
83
|
+
"@sprucelabs/mercury-types": "^47.0.41",
|
|
84
|
+
"@sprucelabs/schema": "^30.0.42",
|
|
85
|
+
"@sprucelabs/spruce-core-schemas": "^40.0.36",
|
|
86
|
+
"@sprucelabs/spruce-event-utils": "^40.0.43",
|
|
87
|
+
"@sprucelabs/spruce-skill-utils": "^31.0.45",
|
|
88
|
+
"@sprucelabs/spruce-templates": "^21.0.13",
|
|
89
89
|
"@typescript-eslint/eslint-plugin": "^7.7.1",
|
|
90
90
|
"@typescript-eslint/parser": "^7.7.1",
|
|
91
91
|
"cfonts": "^3.2.0",
|
|
92
92
|
"chalk": "4.1.2",
|
|
93
93
|
"chokidar": "^3.6.0",
|
|
94
|
-
"cli-table3": "^0.6.
|
|
94
|
+
"cli-table3": "^0.6.5",
|
|
95
95
|
"commander": "7.2.0",
|
|
96
96
|
"emphasize": "4.2.0",
|
|
97
97
|
"fs-extra": "^11.2.0",
|
|
@@ -112,16 +112,16 @@
|
|
|
112
112
|
"uuid": "^9.0.1"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
|
-
"@sprucelabs/data-stores": "^28.0.
|
|
115
|
+
"@sprucelabs/data-stores": "^28.0.12",
|
|
116
116
|
"@sprucelabs/jest-sheets-reporter": "^3.0.26",
|
|
117
|
-
"@sprucelabs/mercury-core-events": "^24.0.
|
|
118
|
-
"@sprucelabs/resolve-path-aliases": "^2.0.
|
|
119
|
-
"@sprucelabs/spruce-conversation-plugin": "^62.0.
|
|
120
|
-
"@sprucelabs/spruce-deploy-plugin": "^62.0.
|
|
121
|
-
"@sprucelabs/spruce-store-plugin": "^62.0.
|
|
122
|
-
"@sprucelabs/spruce-test-fixtures": "^62.0.
|
|
117
|
+
"@sprucelabs/mercury-core-events": "^24.0.51",
|
|
118
|
+
"@sprucelabs/resolve-path-aliases": "^2.0.22",
|
|
119
|
+
"@sprucelabs/spruce-conversation-plugin": "^62.0.47",
|
|
120
|
+
"@sprucelabs/spruce-deploy-plugin": "^62.0.47",
|
|
121
|
+
"@sprucelabs/spruce-store-plugin": "^62.0.47",
|
|
122
|
+
"@sprucelabs/spruce-test-fixtures": "^62.0.47",
|
|
123
123
|
"@sprucelabs/test": "^9.0.13",
|
|
124
|
-
"@sprucelabs/test-utils": "^5.0.
|
|
124
|
+
"@sprucelabs/test-utils": "^5.0.30",
|
|
125
125
|
"@types/blessed": "^0.1.25",
|
|
126
126
|
"@types/eslint": "^8.56.10",
|
|
127
127
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -591,5 +591,5 @@
|
|
|
591
591
|
"open"
|
|
592
592
|
]
|
|
593
593
|
},
|
|
594
|
-
"gitHead": "
|
|
594
|
+
"gitHead": "c3e3b01f0e4e2cc6f70de5035ef21dd89a87b43b"
|
|
595
595
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { diskUtil } from '@sprucelabs/spruce-skill-utils'
|
|
2
2
|
import { test, assert } from '@sprucelabs/test-utils'
|
|
3
|
-
import FeatureCommandAttacher
|
|
3
|
+
import FeatureCommandAttacher, {
|
|
4
|
+
ClearResultsAndRenderResultsOptions,
|
|
5
|
+
} from '../../features/FeatureCommandAttacher'
|
|
4
6
|
import AbstractCliTest from '../../tests/AbstractCliTest'
|
|
5
7
|
import MockProgramFactory, { MockProgram } from '../../tests/MockProgramFactory'
|
|
6
8
|
|
|
7
9
|
export default class FeatureCommandAttacherTest extends AbstractCliTest {
|
|
8
|
-
private static attacher:
|
|
10
|
+
private static attacher: SpyFeatureCommandAttacher
|
|
9
11
|
private static program: MockProgram
|
|
10
12
|
|
|
11
13
|
protected static async beforeEach() {
|
|
@@ -15,7 +17,7 @@ export default class FeatureCommandAttacherTest extends AbstractCliTest {
|
|
|
15
17
|
|
|
16
18
|
const actionExecuter = this.ActionExecuter()
|
|
17
19
|
|
|
18
|
-
this.attacher = new
|
|
20
|
+
this.attacher = new SpyFeatureCommandAttacher({
|
|
19
21
|
pkgService: this.Service('pkg'),
|
|
20
22
|
program: this.program,
|
|
21
23
|
ui: this.ui,
|
|
@@ -148,6 +150,17 @@ export default class FeatureCommandAttacherTest extends AbstractCliTest {
|
|
|
148
150
|
assert.isFalse(diskUtil.doesFileExist(personPath))
|
|
149
151
|
}
|
|
150
152
|
|
|
153
|
+
@test()
|
|
154
|
+
protected static async doesNotCrashWhenRenderingResultsWithoutPackageJson() {
|
|
155
|
+
this.attacher.clearAndRenderResults({
|
|
156
|
+
action: 'test' as any,
|
|
157
|
+
actionCode: 'test',
|
|
158
|
+
featureCode: 'test',
|
|
159
|
+
results: {},
|
|
160
|
+
totalTime: 0,
|
|
161
|
+
})
|
|
162
|
+
}
|
|
163
|
+
|
|
151
164
|
private static async attachSchemaFeature() {
|
|
152
165
|
const cli = await this.Cli()
|
|
153
166
|
const schemaFeature = cli.getFeature('schema')
|
|
@@ -159,3 +172,11 @@ export default class FeatureCommandAttacherTest extends AbstractCliTest {
|
|
|
159
172
|
return MockProgramFactory.Program()
|
|
160
173
|
}
|
|
161
174
|
}
|
|
175
|
+
|
|
176
|
+
class SpyFeatureCommandAttacher extends FeatureCommandAttacher {
|
|
177
|
+
public clearAndRenderResults(
|
|
178
|
+
options: ClearResultsAndRenderResultsOptions
|
|
179
|
+
): void {
|
|
180
|
+
return super.clearAndRenderResults(options)
|
|
181
|
+
}
|
|
182
|
+
}
|
|
@@ -95,21 +95,18 @@ export default class FeatureCommandAttacher {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
actionCode: string
|
|
102
|
-
totalTime: number
|
|
103
|
-
action: FeatureAction
|
|
104
|
-
results: FeatureActionResponse
|
|
105
|
-
}) {
|
|
98
|
+
protected clearAndRenderResults(
|
|
99
|
+
options: ClearResultsAndRenderResultsOptions
|
|
100
|
+
) {
|
|
106
101
|
const { featureCode, actionCode, results, totalTime, action } = options
|
|
107
102
|
|
|
108
103
|
this.ui.stopLoading()
|
|
109
104
|
this.ui.clear()
|
|
110
105
|
|
|
111
106
|
this.ui.renderActionSummary({
|
|
112
|
-
namespace: this.pkg.
|
|
107
|
+
namespace: this.pkg.doesExist()
|
|
108
|
+
? this.pkg.getSkillNamespace()
|
|
109
|
+
: undefined,
|
|
113
110
|
featureCode,
|
|
114
111
|
actionCode,
|
|
115
112
|
totalTime,
|
|
@@ -157,3 +154,12 @@ export default class FeatureCommandAttacher {
|
|
|
157
154
|
export type OptionOverrides = Record<string, Record<string, any>>
|
|
158
155
|
|
|
159
156
|
export type BlockedCommands = Record<string, string>
|
|
157
|
+
|
|
158
|
+
export interface ClearResultsAndRenderResultsOptions {
|
|
159
|
+
namespace?: string
|
|
160
|
+
featureCode: string
|
|
161
|
+
actionCode: string
|
|
162
|
+
totalTime: number
|
|
163
|
+
action: FeatureAction
|
|
164
|
+
results: FeatureActionResponse
|
|
165
|
+
}
|