@sprucelabs/spruce-cli 15.2.16 → 15.2.19

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 (50) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/.spruce/events/events.contract.d.ts +102 -4
  3. package/build/.spruce/events/events.contract.js +3 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +15 -0
  6. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +18 -3
  7. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  8. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +21 -4
  9. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +24 -7
  10. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  11. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +18 -1
  12. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +21 -4
  13. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  14. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.d.ts +39 -0
  15. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js +53 -0
  16. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -0
  17. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.d.ts +11 -0
  18. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js +13 -2
  19. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  20. package/build/__tests__/behavioral/skill/UpgradingASkill.test.d.ts +0 -7
  21. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js +38 -403
  22. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +1 -1
  23. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +7 -15
  24. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +218 -341
  25. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
  26. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.d.ts +16 -5
  27. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js +416 -141
  28. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +1 -1
  29. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.d.ts +5 -8
  30. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js +147 -205
  31. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +1 -1
  32. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.d.ts +11 -0
  33. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js +357 -0
  34. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +1 -0
  35. package/build/__tests__/behavioral/tests/CreatingATest.test.d.ts +3 -0
  36. package/build/__tests__/behavioral/tests/CreatingATest.test.js +142 -45
  37. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  38. package/package.json +74 -36
  39. package/src/.spruce/events/events.contract.ts +6 -0
  40. package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +15 -0
  41. package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +21 -4
  42. package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +18 -1
  43. package/src/.spruce/events/heartwood/listViews.v2021_02_11.contract.ts +47 -0
  44. package/src/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.ts +11 -0
  45. package/src/__tests__/behavioral/skill/UpgradingASkill.test.ts +0 -184
  46. package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +120 -157
  47. package/src/__tests__/behavioral/skill/UpgradingASkill3.test.ts +184 -78
  48. package/src/__tests__/behavioral/skill/UpgradingASkill4.test.ts +90 -91
  49. package/src/__tests__/behavioral/skill/UpgradingASkill5.test.ts +128 -0
  50. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +29 -12
@@ -23,33 +23,27 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
23
23
 
24
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
25
 
26
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
26
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
29
27
 
30
- var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
28
+ var _fs = _interopRequireDefault(require("fs"));
31
29
 
32
30
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
33
31
 
34
32
  var _test = require("@sprucelabs/test");
35
33
 
36
- var _SyncAction = _interopRequireDefault(require("../../../features/error/actions/SyncAction"));
37
-
38
- var _UpdateDependenciesAction = _interopRequireDefault(require("../../../features/node/actions/UpdateDependenciesAction"));
39
-
40
34
  var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
41
35
 
42
36
  var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
43
37
 
44
38
  var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
45
39
 
46
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2;
40
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _class;
47
41
 
48
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
49
43
 
50
44
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
51
45
 
52
- var UpgradingASkill2Test = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)('sync with errors installed'), _dec8 = (0, _test.test)('sync with errors not installed', false), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
46
+ var UpgradingASkill2Test = (_dec = (0, _test.test)('Upgrades error.plugin (even if skill is broken)', 'error.plugin.ts', 'errors'), _dec2 = (0, _test.test)('Upgrades schema.plugin (even if skill is broken)', 'schema.plugin.ts', 'schemas'), _dec3 = (0, _test.test)('Upgrades conversation.plugin (even if skill is broken)', 'conversation.plugin.ts', 'conversation', false), _dec4 = (0, _test.test)('Upgrades view.plugin (even if skill is broken)', 'view.plugin.ts', 'views', false), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
53
47
  (0, _inherits2["default"])(UpgradingASkill2Test, _AbstractCliTest);
54
48
 
55
49
  var _super = _createSuper(UpgradingASkill2Test);
@@ -67,21 +61,15 @@ var UpgradingASkill2Test = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
67
61
  while (1) {
68
62
  switch (_context.prev = _context.next) {
69
63
  case 0:
70
- if (!this.originalErrorSyncExecute) {
71
- this.originalErrorSyncExecute = _SyncAction["default"].prototype.execute;
72
- } else {
73
- _SyncAction["default"].prototype.execute = this.originalErrorSyncExecute;
74
- }
75
-
76
- _context.next = 3;
64
+ _context.next = 2;
77
65
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(UpgradingASkill2Test), "beforeEach", this).call(this);
78
66
 
79
- case 3:
67
+ case 2:
80
68
  _CommandService["default"].setMockResponse(new RegExp(/yarn rebuild/gi), {
81
69
  code: 0
82
70
  });
83
71
 
84
- case 4:
72
+ case 3:
85
73
  case "end":
86
74
  return _context.stop();
87
75
  }
@@ -96,29 +84,51 @@ var UpgradingASkill2Test = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
96
84
  return beforeEach;
97
85
  }()
98
86
  }, {
99
- key: "doesNotAddResolvePathAliasesToDependenciesAfterUpgrade",
87
+ key: "upgradesPlugins",
100
88
  value: function () {
101
- var _doesNotAddResolvePathAliasesToDependenciesAfterUpgrade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
102
- var dependencies;
89
+ var _upgradesPlugins = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pluginName, cacheKey) {
90
+ var _results$summaryLines;
91
+
92
+ var shouldMockYarn,
93
+ pluginPath,
94
+ originalContents,
95
+ results,
96
+ updatedContents,
97
+ _args2 = arguments;
103
98
  return _regenerator["default"].wrap(function _callee2$(_context2) {
104
99
  while (1) {
105
100
  switch (_context2.prev = _context2.next) {
106
101
  case 0:
107
- _CommandService["default"].clearMockResponses();
108
-
102
+ shouldMockYarn = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : true;
109
103
  _context2.next = 3;
110
- return this.FeatureFixture().installCachedFeatures('views');
104
+ return this.FeatureFixture().installCachedFeatures(cacheKey);
111
105
 
112
106
  case 3:
113
- _context2.next = 5;
107
+ shouldMockYarn && _CommandService["default"].setMockResponse(/yarn/, {
108
+ code: 0
109
+ });
110
+ pluginPath = this.resolveHashSprucePath("features/".concat(pluginName));
111
+ originalContents = _spruceSkillUtils.diskUtil.readFile(pluginPath);
112
+
113
+ _spruceSkillUtils.diskUtil.writeFile(pluginPath, 'aoeuaoeuaoeuaoeu');
114
+
115
+ _context2.next = 9;
114
116
  return this.Action('node', 'upgrade').execute({});
115
117
 
116
- case 5:
117
- dependencies = this.Service('pkg').get('dependencies');
118
+ case 9:
119
+ results = _context2.sent;
118
120
 
119
- _test.assert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases']);
121
+ _test.assert.isFalsy(results.errors);
120
122
 
121
- case 7:
123
+ _test2["default"].assertFileByNameInGeneratedFiles(pluginName, results.files);
124
+
125
+ updatedContents = _spruceSkillUtils.diskUtil.readFile(pluginPath);
126
+
127
+ _test.assert.isEqual(updatedContents, originalContents);
128
+
129
+ _test.assert.doesInclude((_results$summaryLines = results.summaryLines) !== null && _results$summaryLines !== void 0 ? _results$summaryLines : [], 'successfully');
130
+
131
+ case 15:
122
132
  case "end":
123
133
  return _context2.stop();
124
134
  }
@@ -126,43 +136,62 @@ var UpgradingASkill2Test = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
126
136
  }, _callee2, this);
127
137
  }));
128
138
 
129
- function doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {
130
- return _doesNotAddResolvePathAliasesToDependenciesAfterUpgrade.apply(this, arguments);
139
+ function upgradesPlugins(_x, _x2) {
140
+ return _upgradesPlugins.apply(this, arguments);
131
141
  }
132
142
 
133
- return doesNotAddResolvePathAliasesToDependenciesAfterUpgrade;
143
+ return upgradesPlugins;
134
144
  }()
135
145
  }, {
136
- key: "featuresNotEnabledDontInstall",
146
+ key: "canSkipPackageScriptChanges",
137
147
  value: function () {
138
- var _featuresNotEnabledDontInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
139
- var results, dependencies;
148
+ var _canSkipPackageScriptChanges = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
149
+ var pkg, promise, last;
140
150
  return _regenerator["default"].wrap(function _callee3$(_context3) {
141
151
  while (1) {
142
152
  switch (_context3.prev = _context3.next) {
143
153
  case 0:
144
- _CommandService["default"].clearMockResponses();
154
+ _context3.next = 2;
155
+ return this.FeatureFixture().installCachedFeatures('skills');
145
156
 
146
- _context3.next = 3;
147
- return this.FeatureFixture().installCachedFeatures('schemas');
157
+ case 2:
158
+ pkg = this.Service('pkg');
159
+ pkg.set({
160
+ path: ['scripts', 'build.dev'],
161
+ value: 'taco'
162
+ });
163
+ promise = this.Action('node', 'upgrade').execute({});
164
+ _context3.next = 7;
165
+ return this.waitForInput();
148
166
 
149
- case 3:
150
- _context3.next = 5;
151
- return this.Action('node', 'upgrade').execute({});
167
+ case 7:
168
+ last = this.ui.getLastInvocation();
152
169
 
153
- case 5:
154
- results = _context3.sent;
155
- dependencies = this.Service('pkg').get('dependencies');
170
+ _test.assert.isEqual(last.command, 'prompt');
156
171
 
157
- _test.assert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases']);
172
+ _test.assert.doesInclude(last.options.options.choices, {
173
+ value: 'skip'
174
+ });
175
+
176
+ _test.assert.doesInclude(last.options.options.choices, {
177
+ value: 'skipAll'
178
+ });
158
179
 
159
- _test.assert.doesThrow(function () {
160
- return _test2["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
180
+ _test.assert.doesInclude(last.options.options.choices, {
181
+ value: 'overwrite'
161
182
  });
162
183
 
163
- this.assertViewPluginNotWritten();
184
+ _context3.next = 14;
185
+ return this.ui.sendInput('skip');
164
186
 
165
- case 10:
187
+ case 14:
188
+ _context3.next = 16;
189
+ return promise;
190
+
191
+ case 16:
192
+ _test.assert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco');
193
+
194
+ case 17:
166
195
  case "end":
167
196
  return _context3.stop();
168
197
  }
@@ -170,405 +199,253 @@ var UpgradingASkill2Test = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
170
199
  }, _callee3, this);
171
200
  }));
172
201
 
173
- function featuresNotEnabledDontInstall() {
174
- return _featuresNotEnabledDontInstall.apply(this, arguments);
202
+ function canSkipPackageScriptChanges() {
203
+ return _canSkipPackageScriptChanges.apply(this, arguments);
175
204
  }
176
205
 
177
- return featuresNotEnabledDontInstall;
206
+ return canSkipPackageScriptChanges;
178
207
  }()
179
208
  }, {
180
- key: "upgradingSkillSyncsEvents",
209
+ key: "asksForEachScriptChange",
181
210
  value: function () {
182
- var _upgradingSkillSyncsEvents = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
183
- var results, events;
211
+ var _asksForEachScriptChange = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
212
+ var pkg, promise, last;
184
213
  return _regenerator["default"].wrap(function _callee4$(_context4) {
185
214
  while (1) {
186
215
  switch (_context4.prev = _context4.next) {
187
216
  case 0:
188
217
  _context4.next = 2;
189
- return this.FeatureFixture().installCachedFeatures('events');
218
+ return this.FeatureFixture().installCachedFeatures('skills');
190
219
 
191
220
  case 2:
192
- _context4.next = 4;
193
- return this.Action('node', 'upgrade').execute({});
194
-
195
- case 4:
196
- results = _context4.sent;
197
- events = _spruceEventUtils.eventDiskUtil.resolveCombinedEventsContractFile(this.cwd);
221
+ pkg = this.Service('pkg');
222
+ pkg.set({
223
+ path: ['scripts', 'build.dev'],
224
+ value: 'taco'
225
+ });
226
+ pkg.set({
227
+ path: ['scripts', 'watch.build.dev'],
228
+ value: 'taco'
229
+ });
230
+ promise = this.Action('node', 'upgrade').execute({});
231
+ _context4.next = 8;
232
+ return this.waitForInput();
198
233
 
199
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(events));
234
+ case 8:
235
+ last = this.ui.getLastInvocation();
200
236
 
201
- _test2["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
237
+ _test.assert.isEqual(last.command, 'prompt');
202
238
 
203
- case 8:
204
- case "end":
205
- return _context4.stop();
206
- }
207
- }
208
- }, _callee4, this);
209
- }));
239
+ _context4.next = 12;
240
+ return this.ui.sendInput('skip');
210
241
 
211
- function upgradingSkillSyncsEvents() {
212
- return _upgradingSkillSyncsEvents.apply(this, arguments);
213
- }
242
+ case 12:
243
+ _context4.next = 14;
244
+ return this.waitForInput();
214
245
 
215
- return upgradingSkillSyncsEvents;
216
- }()
217
- }, {
218
- key: "upgradeCallsUpdateDependencies",
219
- value: function () {
220
- var _upgradeCallsUpdateDependencies = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
221
- var results;
222
- return _regenerator["default"].wrap(function _callee5$(_context5) {
223
- while (1) {
224
- switch (_context5.prev = _context5.next) {
225
- case 0:
226
- _context5.next = 2;
227
- return this.FeatureFixture().installCachedFeatures('skills');
246
+ case 14:
247
+ last = this.ui.getLastInvocation();
228
248
 
229
- case 2:
230
- _UpdateDependenciesAction["default"].prototype.execute = function () {
231
- throw new Error('baaaaad');
232
- };
249
+ _test.assert.isEqual(last.command, 'prompt');
233
250
 
234
- _context5.next = 5;
235
- return this.Action('node', 'upgrade').execute({});
251
+ _context4.next = 18;
252
+ return this.ui.sendInput('skip');
236
253
 
237
- case 5:
238
- results = _context5.sent;
254
+ case 18:
255
+ _context4.next = 20;
256
+ return promise;
239
257
 
240
- _test.assert.isTruthy(results.errors);
258
+ case 20:
259
+ _test.assert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco');
241
260
 
242
- _test.assert.doesInclude(results.errors[0].message, 'baaaaad');
261
+ _test.assert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco');
243
262
 
244
- case 8:
263
+ case 22:
245
264
  case "end":
246
- return _context5.stop();
265
+ return _context4.stop();
247
266
  }
248
267
  }
249
- }, _callee5, this);
268
+ }, _callee4, this);
250
269
  }));
251
270
 
252
- function upgradeCallsUpdateDependencies() {
253
- return _upgradeCallsUpdateDependencies.apply(this, arguments);
271
+ function asksForEachScriptChange() {
272
+ return _asksForEachScriptChange.apply(this, arguments);
254
273
  }
255
274
 
256
- return upgradeCallsUpdateDependencies;
275
+ return asksForEachScriptChange;
257
276
  }()
258
277
  }, {
259
- key: "callsCleanFixAndBuildDev",
278
+ key: "canSkipAllScriptChanges",
260
279
  value: function () {
261
- var _callsCleanFixAndBuildDev = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
262
- var wasCleanBuildCalled, wasBuildDevCalled, results;
263
- return _regenerator["default"].wrap(function _callee7$(_context7) {
280
+ var _canSkipAllScriptChanges = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
281
+ var pkg, promise, last;
282
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
264
283
  while (1) {
265
- switch (_context7.prev = _context7.next) {
284
+ switch (_context5.prev = _context5.next) {
266
285
  case 0:
267
- _context7.next = 2;
286
+ _context5.next = 2;
268
287
  return this.FeatureFixture().installCachedFeatures('skills');
269
288
 
270
289
  case 2:
271
- wasCleanBuildCalled = false;
272
- _UpdateDependenciesAction["default"].prototype.execute = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
273
- return _regenerator["default"].wrap(function _callee6$(_context6) {
274
- while (1) {
275
- switch (_context6.prev = _context6.next) {
276
- case 0:
277
- return _context6.abrupt("return", {});
278
-
279
- case 1:
280
- case "end":
281
- return _context6.stop();
282
- }
283
- }
284
- }, _callee6);
285
- }));
286
-
287
- _CommandService["default"].setMockResponse('yarn clean.build', {
288
- code: 0,
289
- callback: function callback() {
290
- wasCleanBuildCalled = true;
291
- }
290
+ pkg = this.Service('pkg');
291
+ pkg.set({
292
+ path: ['scripts', 'build.dev'],
293
+ value: 'taco'
292
294
  });
293
-
294
- wasBuildDevCalled = false;
295
-
296
- _CommandService["default"].setMockResponse('yarn build.dev', {
297
- code: 0,
298
- callback: function callback() {
299
- wasBuildDevCalled = true;
300
- }
295
+ pkg.set({
296
+ path: ['scripts', 'watch.build.dev'],
297
+ value: 'taco'
301
298
  });
302
-
303
- _context7.next = 9;
304
- return this.Action('node', 'upgrade').execute({});
305
-
306
- case 9:
307
- results = _context7.sent;
308
-
309
- _test.assert.isFalsy(results.errors);
310
-
311
- _test.assert.isTrue(wasCleanBuildCalled);
312
-
313
- _test.assert.isTrue(wasBuildDevCalled);
314
-
315
- case 13:
316
- case "end":
317
- return _context7.stop();
318
- }
319
- }
320
- }, _callee7, this);
321
- }));
322
-
323
- function callsCleanFixAndBuildDev() {
324
- return _callsCleanFixAndBuildDev.apply(this, arguments);
325
- }
326
-
327
- return callsCleanFixAndBuildDev;
328
- }()
329
- }, {
330
- key: "writesViewPlugin",
331
- value: function () {
332
- var _writesViewPlugin = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
333
- var plugin;
334
- return _regenerator["default"].wrap(function _callee8$(_context8) {
335
- while (1) {
336
- switch (_context8.prev = _context8.next) {
337
- case 0:
338
- _context8.next = 2;
339
- return this.FeatureFixture().installCachedFeatures('views');
340
-
341
- case 2:
342
- plugin = this.getViewsPluginPath();
343
-
344
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(plugin));
345
-
346
- _spruceSkillUtils.diskUtil.deleteFile(plugin);
347
-
348
- _test.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(plugin));
349
-
350
- _context8.next = 8;
351
- return this.Action('node', 'upgrade').execute({});
299
+ promise = this.Action('node', 'upgrade').execute({});
300
+ _context5.next = 8;
301
+ return this.waitForInput();
352
302
 
353
303
  case 8:
354
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(plugin));
304
+ last = this.ui.getLastInvocation();
355
305
 
356
- case 9:
357
- case "end":
358
- return _context8.stop();
359
- }
360
- }
361
- }, _callee8, this);
362
- }));
306
+ _test.assert.isEqual(last.command, 'prompt');
363
307
 
364
- function writesViewPlugin() {
365
- return _writesViewPlugin.apply(this, arguments);
366
- }
308
+ _context5.next = 12;
309
+ return this.ui.sendInput('skipAll');
367
310
 
368
- return writesViewPlugin;
369
- }()
370
- }, {
371
- key: "upgradeSyncsErrors",
372
- value: function () {
373
- var _upgradeSyncsErrors = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
374
- var isInstalled,
375
- wasHit,
376
- _args10 = arguments;
377
- return _regenerator["default"].wrap(function _callee10$(_context10) {
378
- while (1) {
379
- switch (_context10.prev = _context10.next) {
380
- case 0:
381
- isInstalled = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : true;
382
- _context10.next = 3;
383
- return this.FeatureFixture().installCachedFeatures(isInstalled ? 'errors' : 'schemas');
311
+ case 12:
312
+ _context5.next = 14;
313
+ return promise;
384
314
 
385
- case 3:
386
- wasHit = false;
387
- _SyncAction["default"].prototype.execute = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
388
- return _regenerator["default"].wrap(function _callee9$(_context9) {
389
- while (1) {
390
- switch (_context9.prev = _context9.next) {
391
- case 0:
392
- wasHit = true;
393
- return _context9.abrupt("return", {});
394
-
395
- case 2:
396
- case "end":
397
- return _context9.stop();
398
- }
399
- }
400
- }, _callee9);
401
- }));
402
- this.disableCleanBuildAndYarnAdd();
403
- _context10.next = 8;
404
- return this.Action('node', 'upgrade').execute({});
315
+ case 14:
316
+ _test.assert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco');
405
317
 
406
- case 8:
407
- _test.assert.isEqual(wasHit, isInstalled);
318
+ _test.assert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco');
408
319
 
409
- case 9:
320
+ case 16:
410
321
  case "end":
411
- return _context10.stop();
322
+ return _context5.stop();
412
323
  }
413
324
  }
414
- }, _callee10, this);
325
+ }, _callee5, this);
415
326
  }));
416
327
 
417
- function upgradeSyncsErrors() {
418
- return _upgradeSyncsErrors.apply(this, arguments);
328
+ function canSkipAllScriptChanges() {
329
+ return _canSkipAllScriptChanges.apply(this, arguments);
419
330
  }
420
331
 
421
- return upgradeSyncsErrors;
332
+ return canSkipAllScriptChanges;
422
333
  }()
423
334
  }, {
424
- key: "resetsErrorPluginInSkill",
335
+ key: "canOverwriteChangedScript",
425
336
  value: function () {
426
- var _resetsErrorPluginInSkill = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
427
- var _this$destroyErrorPlu, plugin, expectedContents, promise, actualContents;
428
-
429
- return _regenerator["default"].wrap(function _callee11$(_context11) {
337
+ var _canOverwriteChangedScript = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
338
+ var pkg, promise, last;
339
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
430
340
  while (1) {
431
- switch (_context11.prev = _context11.next) {
341
+ switch (_context6.prev = _context6.next) {
432
342
  case 0:
433
- _context11.next = 2;
343
+ _context6.next = 2;
434
344
  return this.FeatureFixture().installCachedFeatures('skills');
435
345
 
436
346
  case 2:
437
- _this$destroyErrorPlu = this.destroyErrorPlugin(), plugin = _this$destroyErrorPlu.plugin, expectedContents = _this$destroyErrorPlu.expectedContents;
438
- _context11.next = 5;
439
- return this.disableCleanBuildAndYarnAdd();
440
-
441
- case 5:
442
- promise = this.Action('node', 'upgrade').execute({
443
- upgradeMode: 'askForChanged'
347
+ pkg = this.Service('pkg');
348
+ pkg.set({
349
+ path: ['scripts', 'build.dev'],
350
+ value: 'taco'
444
351
  });
445
- _context11.next = 8;
352
+ promise = this.Action('node', 'upgrade').execute({});
353
+ _context6.next = 7;
446
354
  return this.waitForInput();
447
355
 
448
- case 8:
449
- _context11.next = 10;
356
+ case 7:
357
+ last = this.ui.getLastInvocation();
358
+
359
+ _test.assert.isEqual(last.command, 'prompt');
360
+
361
+ _context6.next = 11;
450
362
  return this.ui.sendInput('overwrite');
451
363
 
452
- case 10:
453
- _context11.next = 12;
364
+ case 11:
365
+ _context6.next = 13;
454
366
  return promise;
455
367
 
456
- case 12:
457
- actualContents = _spruceSkillUtils.diskUtil.readFile(plugin);
458
-
459
- _test.assert.isEqual(actualContents, expectedContents);
368
+ case 13:
369
+ _test.assert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco');
460
370
 
461
371
  case 14:
462
372
  case "end":
463
- return _context11.stop();
373
+ return _context6.stop();
464
374
  }
465
375
  }
466
- }, _callee11, this);
376
+ }, _callee6, this);
467
377
  }));
468
378
 
469
- function resetsErrorPluginInSkill() {
470
- return _resetsErrorPluginInSkill.apply(this, arguments);
379
+ function canOverwriteChangedScript() {
380
+ return _canOverwriteChangedScript.apply(this, arguments);
471
381
  }
472
382
 
473
- return resetsErrorPluginInSkill;
383
+ return canOverwriteChangedScript;
474
384
  }()
475
385
  }, {
476
- key: "resetsErrorPluginWhenErrorInstalled",
386
+ key: "upgradingSkillWithSandboxUpgradesTheListener",
477
387
  value: function () {
478
- var _resetsErrorPluginWhenErrorInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
479
- var _this$destroyErrorPlu2, plugin, expectedContents, results, actualContents;
480
-
481
- return _regenerator["default"].wrap(function _callee12$(_context12) {
388
+ var _upgradingSkillWithSandboxUpgradesTheListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
389
+ var results, match, originalContents, newContents;
390
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
482
391
  while (1) {
483
- switch (_context12.prev = _context12.next) {
392
+ switch (_context7.prev = _context7.next) {
484
393
  case 0:
485
- _context12.next = 2;
486
- return this.FeatureFixture().installCachedFeatures('errors');
394
+ _context7.next = 2;
395
+ return this.FeatureFixture().installCachedFeatures('sandbox');
487
396
 
488
397
  case 2:
489
- _context12.next = 4;
490
- return this.Action('error', 'create').execute({
491
- nameReadable: 'Test pass',
492
- nameCamel: 'testPass'
493
- });
398
+ _context7.next = 4;
399
+ return this.Action('sandbox', 'setup').execute({});
494
400
 
495
401
  case 4:
496
- _this$destroyErrorPlu2 = this.destroyErrorPlugin(), plugin = _this$destroyErrorPlu2.plugin, expectedContents = _this$destroyErrorPlu2.expectedContents;
497
- this.disableCleanAndBuild();
498
- _context12.next = 8;
499
- return this.Action('node', 'upgrade').execute({
500
- upgradeMode: 'askForChanged'
501
- });
402
+ results = _context7.sent;
403
+ match = _test2["default"].assertFileByNameInGeneratedFiles(/will-boot/, results.files);
404
+ originalContents = _spruceSkillUtils.diskUtil.readFile(match);
502
405
 
503
- case 8:
504
- results = _context12.sent;
406
+ _spruceSkillUtils.diskUtil.writeFile(match, 'broken');
505
407
 
506
- _test.assert.isFalsy(results.errors);
408
+ _CommandService["default"].setMockResponse(/yarn/, {
409
+ code: 0
410
+ });
411
+
412
+ _context7.next = 11;
413
+ return this.Action('node', 'upgrade').execute({});
507
414
 
508
- actualContents = _spruceSkillUtils.diskUtil.readFile(plugin);
415
+ case 11:
416
+ newContents = _spruceSkillUtils.diskUtil.readFile(match);
509
417
 
510
- _test.assert.isEqual(actualContents, expectedContents);
418
+ _test.assert.isEqual(originalContents, newContents);
511
419
 
512
- case 12:
420
+ case 13:
513
421
  case "end":
514
- return _context12.stop();
422
+ return _context7.stop();
515
423
  }
516
424
  }
517
- }, _callee12, this);
425
+ }, _callee7, this);
518
426
  }));
519
427
 
520
- function resetsErrorPluginWhenErrorInstalled() {
521
- return _resetsErrorPluginWhenErrorInstalled.apply(this, arguments);
428
+ function upgradingSkillWithSandboxUpgradesTheListener() {
429
+ return _upgradingSkillWithSandboxUpgradesTheListener.apply(this, arguments);
522
430
  }
523
431
 
524
- return resetsErrorPluginWhenErrorInstalled;
432
+ return upgradingSkillWithSandboxUpgradesTheListener;
525
433
  }()
526
434
  }, {
527
- key: "destroyErrorPlugin",
528
- value: function destroyErrorPlugin() {
529
- var plugin = this.resolveHashSprucePath('errors', 'options.types.ts');
435
+ key: "assertSandboxListenerNotWritten",
436
+ value: function assertSandboxListenerNotWritten() {
437
+ var listeners = this.resolvePath('src', 'listeners');
530
438
 
531
- var expectedContents = _spruceSkillUtils.diskUtil.readFile(plugin);
532
-
533
- _spruceSkillUtils.diskUtil.writeFile(plugin, 'waka');
439
+ if (!_spruceSkillUtils.diskUtil.doesDirExist(listeners)) {
440
+ return;
441
+ }
534
442
 
535
- return {
536
- plugin: plugin,
537
- expectedContents: expectedContents
538
- };
539
- }
540
- }, {
541
- key: "getViewsPluginPath",
542
- value: function getViewsPluginPath() {
543
- return this.resolveHashSprucePath('features', 'view.plugin.ts');
544
- }
545
- }, {
546
- key: "assertViewPluginNotWritten",
547
- value: function assertViewPluginNotWritten() {
548
- _test.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(this.getViewsPluginPath()));
549
- }
550
- }, {
551
- key: "disableCleanBuildAndYarnAdd",
552
- value: function disableCleanBuildAndYarnAdd() {
553
- this.disableCleanAndBuild();
443
+ var matches = _fs["default"].readdirSync(listeners);
554
444
 
555
- _CommandService["default"].setMockResponse(/yarn[\s\S]*?add/gi, {
556
- code: 0
557
- });
558
- }
559
- }, {
560
- key: "disableCleanAndBuild",
561
- value: function disableCleanAndBuild() {
562
- _CommandService["default"].setMockResponse('yarn clean.build', {
563
- code: 0
564
- });
565
-
566
- _CommandService["default"].setMockResponse('yarn build.dev', {
567
- code: 0
568
- });
445
+ _test.assert.isLength(matches, 0, 'A sandbox listeners was written and it should not have been.');
569
446
  }
570
447
  }]);
571
448
  return UpgradingASkill2Test;
572
- }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_class2, "originalErrorSyncExecute", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "doesNotAddResolvePathAliasesToDependenciesAfterUpgrade", [_dec], Object.getOwnPropertyDescriptor(_class, "doesNotAddResolvePathAliasesToDependenciesAfterUpgrade"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "featuresNotEnabledDontInstall", [_dec2], Object.getOwnPropertyDescriptor(_class, "featuresNotEnabledDontInstall"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSkillSyncsEvents", [_dec3], Object.getOwnPropertyDescriptor(_class, "upgradingSkillSyncsEvents"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradeCallsUpdateDependencies", [_dec4], Object.getOwnPropertyDescriptor(_class, "upgradeCallsUpdateDependencies"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "callsCleanFixAndBuildDev", [_dec5], Object.getOwnPropertyDescriptor(_class, "callsCleanFixAndBuildDev"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "writesViewPlugin", [_dec6], Object.getOwnPropertyDescriptor(_class, "writesViewPlugin"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradeSyncsErrors", [_dec7, _dec8], Object.getOwnPropertyDescriptor(_class, "upgradeSyncsErrors"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "resetsErrorPluginInSkill", [_dec9], Object.getOwnPropertyDescriptor(_class, "resetsErrorPluginInSkill"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "resetsErrorPluginWhenErrorInstalled", [_dec10], Object.getOwnPropertyDescriptor(_class, "resetsErrorPluginWhenErrorInstalled"), _class)), _class));
449
+ }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "upgradesPlugins", [_dec, _dec2, _dec3, _dec4], Object.getOwnPropertyDescriptor(_class, "upgradesPlugins"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSkipPackageScriptChanges", [_dec5], Object.getOwnPropertyDescriptor(_class, "canSkipPackageScriptChanges"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "asksForEachScriptChange", [_dec6], Object.getOwnPropertyDescriptor(_class, "asksForEachScriptChange"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSkipAllScriptChanges", [_dec7], Object.getOwnPropertyDescriptor(_class, "canSkipAllScriptChanges"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canOverwriteChangedScript", [_dec8], Object.getOwnPropertyDescriptor(_class, "canOverwriteChangedScript"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSkillWithSandboxUpgradesTheListener", [_dec9], Object.getOwnPropertyDescriptor(_class, "upgradingSkillWithSandboxUpgradesTheListener"), _class)), _class));
573
450
  exports["default"] = UpgradingASkill2Test;
574
451
  //# sourceMappingURL=UpgradingASkill2.test.js.map