@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 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 FeatureCommandAttacher_1.default({
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":"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"}
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
- private clearAndRenderResults;
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.getSkillNamespace(),
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":";;;;;AAAA,+CAAgE;AAEhE,wEAA+C;AAG/C,uFAA0D;AAC1D,yEAA4C;AAG5C,4EAA8C;AAG9C,MAAqB,sBAAsB;IAC/B,OAAO,CAA4B;IACnC,EAAE,CAAmB;IACrB,cAAc,CAAgB;IAC9B,GAAG,CAAY;IAEvB,YAAmB,OAKlB;QACG,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAEjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,UAAU,CAAA;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAwB;QAC/C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAA;QAE3D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,OAAwB;QACrD,IAAI,UAAU,GAAG,2BAAY,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAEvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,OAAO,CAAC,KAAK,EAAY,CAAA;QAC1C,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YAC9C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAEnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAEtC,MAAM,OAAO,GAAG,2BAAa,CAAC,oBAAoB,CAC9C,GAAG,IAAI,EACP,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAChD,CAAA;YAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBACjC,GAAG,OAAO;aACb,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YACpC,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;YAErC,IAAI,CAAC,qBAAqB,CAAC;gBACvB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,UAAU,EAAE,IAAI;gBAChB,SAAS;gBACT,OAAO;gBACP,MAAM;aACT,CAAC,CAAA;YAEF,OAAO,OAAc,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,WAAW,CAAA;QAErD,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAA;QAEnC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC;IACL,CAAC;IAES,qBAAqB,CAC3B,OAA4C;QAE5C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAEvE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAA;QACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QAEf,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC9B,CAAC,CAAC,SAAS;YACf,WAAW;YACX,UAAU;YACV,SAAS;YACT,MAAM;YACN,GAAG,OAAO;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,UAAU,YAAY;SAC1D,CAAC,CAAA;IACN,CAAC;IAEO,sBAAsB,CAAC,MAA6B;QACxD,oBAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IAEO,aAAa,CAAC,OAAmC,EAAE,MAAc;QACrE,MAAM,MAAM,GAAG,4BAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEjD,IAAI,UAAU,GAAG,OAAO,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,2BAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAE1D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,OAAO,CAAC,IAAI,CAAC,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,CAAC,YAAY;oBACzB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;oBACpC,CAAC,CAAC,SAAS,CAClB,CAAA;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,MAAM,IAAI,qBAAW,CAAC;oBAClB,YAAY;oBACZ,IAAI,EAAE,0BAA0B;oBAChC,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,MAAM,CAAC,QAAQ;oBACnB,aAAa,EAAE,GAAG;oBAClB,eAAe,EAAE,2BAA2B,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,IAAI,IAAI,iBAAiB;iBAC7G,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA3ID,yCA2IC"}
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "21.0.11",
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.8",
80
- "@sprucelabs/jest-json-reporter": "^8.0.24",
81
- "@sprucelabs/mercury-client": "^42.0.46",
82
- "@sprucelabs/mercury-event-emitter": "^42.0.46",
83
- "@sprucelabs/mercury-types": "^47.0.34",
84
- "@sprucelabs/schema": "^30.0.36",
85
- "@sprucelabs/spruce-core-schemas": "^40.0.30",
86
- "@sprucelabs/spruce-event-utils": "^40.0.36",
87
- "@sprucelabs/spruce-skill-utils": "^31.0.39",
88
- "@sprucelabs/spruce-templates": "^21.0.11",
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.4",
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.6",
115
+ "@sprucelabs/data-stores": "^28.0.12",
116
116
  "@sprucelabs/jest-sheets-reporter": "^3.0.26",
117
- "@sprucelabs/mercury-core-events": "^24.0.39",
118
- "@sprucelabs/resolve-path-aliases": "^2.0.20",
119
- "@sprucelabs/spruce-conversation-plugin": "^62.0.37",
120
- "@sprucelabs/spruce-deploy-plugin": "^62.0.37",
121
- "@sprucelabs/spruce-store-plugin": "^62.0.37",
122
- "@sprucelabs/spruce-test-fixtures": "^62.0.37",
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.27",
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": "50634ace3377f2f632d02d67595d44bdb55328bf"
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 from '../../features/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: FeatureCommandAttacher
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 FeatureCommandAttacher({
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
- private clearAndRenderResults(options: {
99
- namespace?: string
100
- featureCode: string
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.getSkillNamespace(),
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
+ }