@sprucelabs/spruce-cli 14.21.9 → 14.21.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/.spruce/schemas/fields/fields.types.js +8 -8
  3. package/build/GlobalEmitter.js +4 -2
  4. package/build/GlobalEmitter.js.map +1 -1
  5. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  6. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  7. package/build/__tests__/behavioral/events/CreatingAListener.test.js +28 -17
  8. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  9. package/build/__tests__/implementation/GlobalEmitter.d.ts +4 -0
  10. package/build/__tests__/implementation/GlobalEmitter.js +77 -0
  11. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -0
  12. package/build/__tests__/testDirsAndFiles/mercury-types-package.json +2 -2
  13. package/build/cli.js +1 -1
  14. package/build/constants.js +1 -1
  15. package/build/errors/SpruceError.js +10 -3
  16. package/build/errors/SpruceError.js.map +1 -1
  17. package/build/features/cache/constants.js +1 -1
  18. package/build/features/event/writers/EventWriter.js +1 -1
  19. package/build/features/onboard/scripts/onboarding.first.script.js +1 -1
  20. package/build/features/onboard/scripts/onboarding.short.script.js +2 -2
  21. package/build/features/skill/actions/DashboardAction.js +1 -1
  22. package/build/features/skill/actions/RegisterAction.js +1 -1
  23. package/build/features/test/TestReporter.js +1 -1
  24. package/build/features/test/TestReporter.js.map +1 -1
  25. package/build/features/test/actions/TestAction.js +1 -1
  26. package/build/features/vscode/actions/SetupAction.js +1 -0
  27. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  28. package/build/services/LintService.js +23 -23
  29. package/build/services/LintService.js.map +1 -1
  30. package/build/types/graphicsInterface.types.js +6 -6
  31. package/build/widgets/types/factory.types.js +1 -1
  32. package/package.json +39 -38
  33. package/src/GlobalEmitter.ts +3 -1
  34. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +1 -1
  35. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +1 -0
  36. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +6 -0
  37. package/src/__tests__/implementation/GlobalEmitter.ts +12 -0
  38. package/src/__tests__/testDirsAndFiles/mercury-types-package.json +2 -2
  39. package/src/errors/SpruceError.ts +7 -0
  40. package/src/features/test/TestReporter.ts +1 -1
  41. package/src/features/vscode/actions/SetupAction.ts +1 -0
  42. package/src/services/LintService.ts +6 -8
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "GraphicsInterface", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _spruceSkillUtils.GraphicsInterface;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "GraphicsTextEffect", {
7
13
  enumerable: true,
8
14
  get: function get() {
@@ -27,12 +33,6 @@ Object.defineProperty(exports, "ProgressBarUpdateOptions", {
27
33
  return _spruceSkillUtils.ProgressBarUpdateOptions;
28
34
  }
29
35
  });
30
- Object.defineProperty(exports, "GraphicsInterface", {
31
- enumerable: true,
32
- get: function get() {
33
- return _spruceSkillUtils.GraphicsInterface;
34
- }
35
- });
36
36
 
37
37
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
38
38
  //# sourceMappingURL=graphicsInterface.types.js.map
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.contractRegistry = exports.widgetRegistry = void 0;
8
+ exports.widgetRegistry = exports.contractRegistry = void 0;
9
9
 
10
10
  var _TKButtonWidget = _interopRequireDefault(require("../terminalKit/TKButtonWidget"));
11
11
 
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  ]
18
18
  },
19
19
  "license": "MIT",
20
- "version": "14.21.9",
20
+ "version": "14.21.13",
21
21
  "bin": {
22
22
  "spruce": "./build/index.js"
23
23
  },
@@ -72,40 +72,40 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@babel/cli": "^7.15.7",
75
- "@babel/plugin-proposal-decorators": "^7.15.4",
75
+ "@babel/plugin-proposal-decorators": "^7.15.8",
76
76
  "@babel/runtime": "^7.15.4",
77
- "@jest/reporters": "^27.2.4",
78
- "@sprucelabs/error": "^5.0.194",
79
- "@sprucelabs/heartwood-view-controllers": "^33.0.463",
80
- "@sprucelabs/jest-json-reporter": "^6.0.174",
81
- "@sprucelabs/mercury-client": "^16.10.162",
82
- "@sprucelabs/mercury-event-emitter": "^16.10.162",
83
- "@sprucelabs/mercury-types": "^26.1.299",
84
- "@sprucelabs/schema": "^25.3.241",
85
- "@sprucelabs/spruce-core-schemas": "^22.5.307",
86
- "@sprucelabs/spruce-event-plugin": "^5.4.124",
87
- "@sprucelabs/spruce-event-utils": "^16.0.333",
88
- "@sprucelabs/spruce-skill-booter": "^5.4.124",
89
- "@sprucelabs/spruce-skill-utils": "^20.6.176",
90
- "@sprucelabs/spruce-templates": "^14.21.9",
77
+ "@jest/reporters": "^27.2.5",
78
+ "@sprucelabs/error": "^5.0.215",
79
+ "@sprucelabs/heartwood-view-controllers": "^33.0.540",
80
+ "@sprucelabs/jest-json-reporter": "^6.0.192",
81
+ "@sprucelabs/mercury-client": "^16.11.7",
82
+ "@sprucelabs/mercury-event-emitter": "^16.11.7",
83
+ "@sprucelabs/mercury-types": "^26.1.336",
84
+ "@sprucelabs/schema": "^25.3.269",
85
+ "@sprucelabs/spruce-core-schemas": "^22.5.337",
86
+ "@sprucelabs/spruce-event-plugin": "^5.4.133",
87
+ "@sprucelabs/spruce-event-utils": "^16.0.373",
88
+ "@sprucelabs/spruce-skill-booter": "^5.4.133",
89
+ "@sprucelabs/spruce-skill-utils": "^20.6.207",
90
+ "@sprucelabs/spruce-templates": "^14.21.13",
91
91
  "cfonts": "^2.10.0",
92
92
  "chalk": "^4.1.2",
93
93
  "chokidar": "^3.5.2",
94
94
  "cli-table3": "^0.6.0",
95
95
  "commander": "^7.2.0",
96
- "core-js": "^3.18.1",
96
+ "core-js": "^3.18.2",
97
97
  "emphasize": "^4.2.0",
98
98
  "fs-extra": "^10.0.0",
99
99
  "gifwrap": "SimenB/gifwrap#patch-1",
100
100
  "globby": "^11.0.4",
101
101
  "inflection": "^1.13.1",
102
- "inquirer": "^8.1.5",
102
+ "inquirer": "^8.2.0",
103
103
  "inquirer-file-tree-selection-prompt": "^1.0.12",
104
104
  "js-tetris-cli": "^0.0.3",
105
105
  "jsonwebtoken": "^8.5.1",
106
106
  "lodash-es": "^4.17.21",
107
107
  "md5": "^2.3.0",
108
- "open": "^8.2.1",
108
+ "open": "^8.3.0",
109
109
  "ora": "^5.4.1",
110
110
  "semver": "^7.3.5",
111
111
  "string-argv": "^0.3.1",
@@ -116,18 +116,18 @@
116
116
  "uuid": "^8.3.2"
117
117
  },
118
118
  "devDependencies": {
119
- "@sprucelabs/data-stores": "^6.1.215",
120
- "@sprucelabs/jest-sheets-reporter": "^1.2.184",
121
- "@sprucelabs/mercury-core-events": "^1.2.340",
122
- "@sprucelabs/resolve-path-aliases": "^1.0.196",
123
- "@sprucelabs/spruce-conversation-plugin": "^5.4.124",
124
- "@sprucelabs/spruce-deploy-plugin": "^5.4.124",
125
- "@sprucelabs/spruce-store-plugin": "^5.4.124",
126
- "@sprucelabs/spruce-test-fixtures": "^5.4.124",
127
- "@sprucelabs/test": "^7.7.175",
128
- "@sprucelabs/test-utils": "^3.0.160",
119
+ "@sprucelabs/data-stores": "^6.1.251",
120
+ "@sprucelabs/jest-sheets-reporter": "^1.2.201",
121
+ "@sprucelabs/mercury-core-events": "^1.2.406",
122
+ "@sprucelabs/resolve-path-aliases": "^1.0.209",
123
+ "@sprucelabs/spruce-conversation-plugin": "^5.4.133",
124
+ "@sprucelabs/spruce-deploy-plugin": "^5.4.133",
125
+ "@sprucelabs/spruce-store-plugin": "^5.4.133",
126
+ "@sprucelabs/spruce-test-fixtures": "^5.4.133",
127
+ "@sprucelabs/test": "^7.7.192",
128
+ "@sprucelabs/test-utils": "^3.0.181",
129
129
  "@types/blessed": "^0.1.19",
130
- "@types/eslint": "^7.28.0",
130
+ "@types/eslint": "^7.28.1",
131
131
  "@types/fs-extra": "^9.0.13",
132
132
  "@types/inflection": "^1.13.0",
133
133
  "@types/inquirer": "^8.1.3",
@@ -135,7 +135,7 @@
135
135
  "@types/lodash": "^4.14.175",
136
136
  "@types/md5": "^2.3.1",
137
137
  "@types/mkdirp": "^1.0.2",
138
- "@types/node": "^16.10.2",
138
+ "@types/node": "^16.10.3",
139
139
  "@types/promise.allsettled": "^1.0.3",
140
140
  "@types/ps-node": "^0.1.1",
141
141
  "@types/rimraf": "^3.0.2",
@@ -149,12 +149,12 @@
149
149
  "concurrently": "^6.3.0",
150
150
  "conventional-changelog-sprucelabs": "^1.1.2",
151
151
  "dotenv": "^10.0.0",
152
- "eslint": "^7.32.0",
153
- "eslint-config-spruce": "^10.10.13",
152
+ "eslint": "^8.0.0",
153
+ "eslint-config-spruce": "^10.10.14",
154
154
  "find-process": "^1.4.5",
155
- "jest": "^27.2.4",
156
- "jest-circus": "^27.2.4",
157
- "jest-junit": "^12.3.0",
155
+ "jest": "^27.2.5",
156
+ "jest-circus": "^27.2.5",
157
+ "jest-junit": "^13.0.0",
158
158
  "jest-reporters": "^0.0.2",
159
159
  "prettier": "^2.4.1",
160
160
  "ps-node": "^0.1.6",
@@ -569,7 +569,8 @@
569
569
  "upgradingSkillSyncsEvents": "I251",
570
570
  "upgradeCallsUpdateDependencies": "I252",
571
571
  "canAlwaysSkipFiles": "I264",
572
- "upgradingWritesExpectedFiles": "I289"
572
+ "upgradingWritesExpectedFiles": "I289",
573
+ "globalEmitterEmitsSEquentally": "I328"
573
574
  }
574
575
  }
575
576
  ],
@@ -590,5 +591,5 @@
590
591
  "ora"
591
592
  ]
592
593
  },
593
- "gitHead": "a6141ff3e87fed55939251a7d21fa97af4f729dc"
594
+ "gitHead": "e3bf627c9f60f4731dff4dbb10bff6766fffdc3f"
594
595
  }
@@ -168,6 +168,8 @@ export type GlobalEmitter = MercuryEventEmitter<GlobalEventContract>
168
168
 
169
169
  export default class CliGlobalEmitter extends AbstractEventEmitter<GlobalEventContract> {
170
170
  public static Emitter() {
171
- return new CliGlobalEmitter(globalContract) as GlobalEmitter
171
+ return new CliGlobalEmitter(globalContract, {
172
+ shouldEmitSequentally: true,
173
+ }) as GlobalEmitter
172
174
  }
173
175
  }
@@ -69,8 +69,8 @@ export default class SettingLogTransportsInASkillTest extends AbstractSkillTest
69
69
  `
70
70
 
71
71
  await this.createTransportWithContents(transportContents, 'File')
72
-
73
72
  await this.Service('build').build()
73
+
74
74
  const boot = await this.Action('skill', 'boot').execute({})
75
75
 
76
76
  await boot.meta?.kill()
@@ -195,6 +195,7 @@ export default class WatchingSkillViewsTest extends AbstractSkillTest {
195
195
  })
196
196
 
197
197
  await this.Action('view', 'sync').execute({})
198
+
198
199
  await this.Service('build').build()
199
200
 
200
201
  const watchAction = this.Action('view', 'watch') as WatchAction
@@ -194,6 +194,12 @@ export default class CreatingAListenerTest extends AbstractEventTest {
194
194
  }
195
195
  )
196
196
 
197
+ const currentClient = await this.connectToApi({
198
+ shouldAuthAsCurrentSkill: true,
199
+ })
200
+
201
+ await currentClient.disconnect()
202
+
197
203
  const boot = await this.Action('skill', 'boot').execute({ local: true })
198
204
 
199
205
  assert.isFalsy(boot.errors)
@@ -0,0 +1,12 @@
1
+ import { test, assert } from '@sprucelabs/test'
2
+ import AbstractCliTest from '../../tests/AbstractCliTest'
3
+
4
+ export default class GlobalEmitterTest extends AbstractCliTest {
5
+ @test()
6
+ protected static async globalEmitterEmitsSEquentally() {
7
+ const emitter = this.getEmitter()
8
+
9
+ //@ts-ignore
10
+ assert.isTrue(emitter.shouldEmitSequentally)
11
+ }
12
+ }
@@ -58,8 +58,8 @@
58
58
  "chokidar-cli": "^2.1.0",
59
59
  "concurrently": "^5.3.0",
60
60
  "conventional-changelog-sprucelabs": "^1.1.2",
61
- "eslint": "^7.14.0",
62
- "eslint-config-spruce": "10.9.135",
61
+ "eslint": "^8.0.0",
62
+ "eslint-config-spruce": "^10.10.14",
63
63
  "jest": "^26.6.3",
64
64
  "jest-circus": "^26.6.3",
65
65
  "prettier": "^2.2.0",
@@ -69,6 +69,13 @@ export default class SpruceError extends AbstractSpruceError<ErrorOptions> {
69
69
 
70
70
  case 'LINT_FAILED':
71
71
  message = `Lint failed on pattern ${options.pattern}.`
72
+
73
+ if (options.originalError) {
74
+ message += `\n\nOriginal error:${
75
+ options.originalError.stack ?? options.originalError.message
76
+ }`
77
+ }
78
+
72
79
  break
73
80
 
74
81
  case 'EXECUTING_COMMAND_FAILED':
@@ -219,7 +219,7 @@ export default class TestReporter {
219
219
  private updateOrientation() {
220
220
  const frame = this.window.getFrame()
221
221
 
222
- if (frame.width * 0.6 > frame.height) {
222
+ if (frame.width * 0.5 > frame.height) {
223
223
  this.orientation = 'landscape'
224
224
  } else {
225
225
  this.orientation = 'portrait'
@@ -131,6 +131,7 @@ export default class SetupAction extends AbstractAction<OptionsSchema> {
131
131
 
132
132
  for (const module of this.dependencies) {
133
133
  if (!pkg.isInstalled(module.name)) {
134
+ // eslint-disable-next-line @typescript-eslint/no-extra-semi
134
135
  ;(response.packagesInstalled ?? []).push(module)
135
136
  }
136
137
  }
@@ -1,4 +1,3 @@
1
- // import { CLIEngine } from 'eslint'
2
1
  import { SchemaError } from '@sprucelabs/schema'
3
2
  import fs from 'fs-extra'
4
3
  import SpruceError from '../errors/SpruceError'
@@ -24,11 +23,10 @@ export default class LintService {
24
23
  let fixedFiles: any = {}
25
24
  const fixedPaths: string[] = []
26
25
  try {
26
+ const script = `"(async function lint() { try { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}', }); const result = await cli.lintFiles(['${pattern}']); console.log(JSON.stringify(result)); } catch (err) { console.log(err.toString()); }})()"`
27
+
27
28
  const { stdout } = await this.command.execute('node', {
28
- args: [
29
- '-e',
30
- `"try { const ESLint = require('eslint');const cli = new ESLint.CLIEngine({fix: true,cwd: '${this.cwd}'});const result=cli.executeOnFiles(['${pattern}']);console.log(JSON.stringify(result)); } catch(err) { console.log(err.toString()); }"`,
31
- ],
29
+ args: ['-e', script],
32
30
  })
33
31
 
34
32
  fixedFiles = JSON.parse(stdout)
@@ -40,9 +38,9 @@ export default class LintService {
40
38
  })
41
39
  }
42
40
 
43
- if (fixedFiles.results) {
44
- for (let i = 0; i < fixedFiles.results.length; i += 1) {
45
- const fixedFile = fixedFiles.results[i]
41
+ if (fixedFiles) {
42
+ for (let i = 0; i < fixedFiles.length; i += 1) {
43
+ const fixedFile = fixedFiles[i]
46
44
  if (fixedFile && fixedFile.output) {
47
45
  await fs.writeFile(fixedFile.filePath, fixedFile.output)
48
46
  fixedPaths.push(fixedFile.filePath)