@sprucelabs/spruce-cli 14.29.28 → 14.30.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/__tests__/behavioral/ListeningToCoreEvents.test.d.ts +6 -0
  3. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +128 -0
  4. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -0
  5. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +3 -3
  6. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  7. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.d.ts +10 -0
  8. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js +298 -0
  9. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  10. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
  11. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  12. package/build/__tests__/implementation/PkgService.test.js +2 -2
  13. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  14. package/build/features/event/actions/ListenAction.d.ts +4 -0
  15. package/build/features/event/actions/ListenAction.js +228 -127
  16. package/build/features/event/actions/ListenAction.js.map +1 -1
  17. package/build/features/event/writers/EventWriter.d.ts +1 -3
  18. package/build/features/event/writers/EventWriter.js +20 -14
  19. package/build/features/event/writers/EventWriter.js.map +1 -1
  20. package/build/features/sandbox/SandboxFeature.js +1 -1
  21. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  22. package/build/features/sandbox/actions/SetupAction.js +24 -12
  23. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  24. package/build/features/view/actions/CreateAction.js +1 -1
  25. package/build/features/view/actions/CreateAction.js.map +1 -1
  26. package/build/interfaces/SpyInterface.js +1 -1
  27. package/build/interfaces/SpyInterface.js.map +1 -1
  28. package/build/templateItemBuilders/EventTemplateItemBuilder.js +2 -1
  29. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  30. package/package.json +25 -25
  31. package/src/__tests__/behavioral/ListeningToCoreEvents.test.ts +26 -0
  32. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +3 -3
  33. package/src/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.ts +74 -0
  34. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +1 -1
  35. package/src/__tests__/implementation/PkgService.test.ts +2 -2
  36. package/src/features/event/actions/ListenAction.ts +111 -58
  37. package/src/features/event/writers/EventWriter.ts +21 -35
  38. package/src/features/sandbox/SandboxFeature.ts +1 -1
  39. package/src/features/sandbox/actions/SetupAction.ts +6 -0
  40. package/src/features/view/actions/CreateAction.ts +1 -0
  41. package/src/interfaces/SpyInterface.ts +3 -1
  42. package/src/templateItemBuilders/EventTemplateItemBuilder.ts +3 -0
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
27
+
28
+ var _path = _interopRequireDefault(require("path"));
29
+
30
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
+
32
+ var _test = require("@sprucelabs/test");
33
+
34
+ var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
35
+
36
+ var _test2 = _interopRequireDefault(require("../../tests/utilities/test.utility"));
37
+
38
+ var _dec, _dec2, _dec3, _class;
39
+
40
+ 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); }; }
41
+
42
+ 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; } }
43
+
44
+ var UpgradingWithSandboxFeatureInstalledTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
45
+ (0, _inherits2["default"])(UpgradingWithSandboxFeatureInstalledTest, _AbstractCliTest);
46
+
47
+ var _super = _createSuper(UpgradingWithSandboxFeatureInstalledTest);
48
+
49
+ function UpgradingWithSandboxFeatureInstalledTest() {
50
+ (0, _classCallCheck2["default"])(this, UpgradingWithSandboxFeatureInstalledTest);
51
+ return _super.apply(this, arguments);
52
+ }
53
+
54
+ (0, _createClass2["default"])(UpgradingWithSandboxFeatureInstalledTest, null, [{
55
+ key: "beforeEach",
56
+ value: function () {
57
+ var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
58
+ return _regenerator["default"].wrap(function _callee$(_context) {
59
+ while (1) {
60
+ switch (_context.prev = _context.next) {
61
+ case 0:
62
+ _context.next = 2;
63
+ return (0, _get2["default"])((0, _getPrototypeOf2["default"])(UpgradingWithSandboxFeatureInstalledTest), "beforeEach", this).call(this);
64
+
65
+ case 2:
66
+ _context.next = 4;
67
+ return this.FeatureFixture().installCachedFeatures('sandbox');
68
+
69
+ case 4:
70
+ _context.next = 6;
71
+ return this.listenToDidInstallInthePast();
72
+
73
+ case 6:
74
+ case "end":
75
+ return _context.stop();
76
+ }
77
+ }
78
+ }, _callee, this);
79
+ }));
80
+
81
+ function beforeEach() {
82
+ return _beforeEach.apply(this, arguments);
83
+ }
84
+
85
+ return beforeEach;
86
+ }()
87
+ }, {
88
+ key: "doesNotAskForVersionWhenSettingUpSandboxWithCoreListener",
89
+ value: function () {
90
+ var _doesNotAskForVersionWhenSettingUpSandboxWithCoreListener = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
91
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
92
+ while (1) {
93
+ switch (_context2.prev = _context2.next) {
94
+ case 0:
95
+ _context2.next = 2;
96
+ return this.setup();
97
+
98
+ case 2:
99
+ case "end":
100
+ return _context2.stop();
101
+ }
102
+ }
103
+ }, _callee2, this);
104
+ }));
105
+
106
+ function doesNotAskForVersionWhenSettingUpSandboxWithCoreListener() {
107
+ return _doesNotAskForVersionWhenSettingUpSandboxWithCoreListener.apply(this, arguments);
108
+ }
109
+
110
+ return doesNotAskForVersionWhenSettingUpSandboxWithCoreListener;
111
+ }()
112
+ }, {
113
+ key: "usesTodaysVersionEvenWithCoreListene",
114
+ value: function () {
115
+ var _usesTodaysVersionEvenWithCoreListene = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
116
+ var match, fileName, expected;
117
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
118
+ while (1) {
119
+ switch (_context3.prev = _context3.next) {
120
+ case 0:
121
+ _context3.next = 2;
122
+ return this.setupAndGetListenerPath();
123
+
124
+ case 2:
125
+ match = _context3.sent;
126
+ fileName = _path["default"].basename(match);
127
+ expected = "will-boot.".concat(_spruceSkillUtils.versionUtil.generateVersion().dirValue, ".listener.ts");
128
+
129
+ _test.assert.isEqual(fileName, expected);
130
+
131
+ case 6:
132
+ case "end":
133
+ return _context3.stop();
134
+ }
135
+ }
136
+ }, _callee3, this);
137
+ }));
138
+
139
+ function usesTodaysVersionEvenWithCoreListene() {
140
+ return _usesTodaysVersionEvenWithCoreListene.apply(this, arguments);
141
+ }
142
+
143
+ return usesTodaysVersionEvenWithCoreListene;
144
+ }()
145
+ }, {
146
+ key: "overwritesExistingWillBoot",
147
+ value: function () {
148
+ var _overwritesExistingWillBoot = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
149
+ var expected, match, syncResults, secondMatch, name;
150
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
151
+ while (1) {
152
+ switch (_context4.prev = _context4.next) {
153
+ case 0:
154
+ expected = "will-boot.v2010_01_10.listener.ts";
155
+ _context4.next = 3;
156
+ return this.setupAndGetListenerPath();
157
+
158
+ case 3:
159
+ match = _context4.sent;
160
+
161
+ _spruceSkillUtils.diskUtil.deleteFile(match);
162
+
163
+ _spruceSkillUtils.diskUtil.writeFile(this.resolvePath(_path["default"].dirname(match), expected), 'export default async () => {}');
164
+
165
+ _context4.next = 8;
166
+ return this.Action('event', 'syncListeners').execute({});
167
+
168
+ case 8:
169
+ syncResults = _context4.sent;
170
+
171
+ _test.assert.isFalsy(syncResults.errors);
172
+
173
+ _context4.next = 12;
174
+ return this.setupAndGetListenerPath();
175
+
176
+ case 12:
177
+ secondMatch = _context4.sent;
178
+ name = _path["default"].basename(secondMatch);
179
+
180
+ _test.assert.isEqual(name, expected);
181
+
182
+ case 15:
183
+ case "end":
184
+ return _context4.stop();
185
+ }
186
+ }
187
+ }, _callee4, this);
188
+ }));
189
+
190
+ function overwritesExistingWillBoot() {
191
+ return _overwritesExistingWillBoot.apply(this, arguments);
192
+ }
193
+
194
+ return overwritesExistingWillBoot;
195
+ }()
196
+ }, {
197
+ key: "setupAndGetListenerPath",
198
+ value: function () {
199
+ var _setupAndGetListenerPath = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
200
+ var results, match;
201
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
202
+ while (1) {
203
+ switch (_context5.prev = _context5.next) {
204
+ case 0:
205
+ _context5.next = 2;
206
+ return this.setup();
207
+
208
+ case 2:
209
+ results = _context5.sent;
210
+ match = _test2["default"].assertFileByNameInGeneratedFiles(/will-boot/gi, results.files);
211
+ return _context5.abrupt("return", match);
212
+
213
+ case 5:
214
+ case "end":
215
+ return _context5.stop();
216
+ }
217
+ }
218
+ }, _callee5, this);
219
+ }));
220
+
221
+ function setupAndGetListenerPath() {
222
+ return _setupAndGetListenerPath.apply(this, arguments);
223
+ }
224
+
225
+ return setupAndGetListenerPath;
226
+ }()
227
+ }, {
228
+ key: "setup",
229
+ value: function () {
230
+ var _setup = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
231
+ var results;
232
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
233
+ while (1) {
234
+ switch (_context6.prev = _context6.next) {
235
+ case 0:
236
+ _context6.next = 2;
237
+ return this.Action('sandbox', 'setup').execute({});
238
+
239
+ case 2:
240
+ results = _context6.sent;
241
+
242
+ _test.assert.isFalsy(results.errors);
243
+
244
+ return _context6.abrupt("return", results);
245
+
246
+ case 5:
247
+ case "end":
248
+ return _context6.stop();
249
+ }
250
+ }
251
+ }, _callee6, this);
252
+ }));
253
+
254
+ function setup() {
255
+ return _setup.apply(this, arguments);
256
+ }
257
+
258
+ return setup;
259
+ }()
260
+ }, {
261
+ key: "listenToDidInstallInthePast",
262
+ value: function () {
263
+ var _listenToDidInstallInthePast = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
264
+ var results;
265
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
266
+ while (1) {
267
+ switch (_context7.prev = _context7.next) {
268
+ case 0:
269
+ _context7.next = 2;
270
+ return this.Action('event', 'listen').execute({
271
+ namespace: 'mercury',
272
+ eventName: 'did-install::v2020_12_25'
273
+ });
274
+
275
+ case 2:
276
+ results = _context7.sent;
277
+
278
+ _test.assert.isFalsy(results.errors);
279
+
280
+ case 4:
281
+ case "end":
282
+ return _context7.stop();
283
+ }
284
+ }
285
+ }, _callee7, this);
286
+ }));
287
+
288
+ function listenToDidInstallInthePast() {
289
+ return _listenToDidInstallInthePast.apply(this, arguments);
290
+ }
291
+
292
+ return listenToDidInstallInthePast;
293
+ }()
294
+ }]);
295
+ return UpgradingWithSandboxFeatureInstalledTest;
296
+ }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "doesNotAskForVersionWhenSettingUpSandboxWithCoreListener", [_dec], Object.getOwnPropertyDescriptor(_class, "doesNotAskForVersionWhenSettingUpSandboxWithCoreListener"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "usesTodaysVersionEvenWithCoreListene", [_dec2], Object.getOwnPropertyDescriptor(_class, "usesTodaysVersionEvenWithCoreListene"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "overwritesExistingWillBoot", [_dec3], Object.getOwnPropertyDescriptor(_class, "overwritesExistingWillBoot"), _class)), _class));
297
+ exports["default"] = UpgradingWithSandboxFeatureInstalledTest;
298
+ //# sourceMappingURL=UpgradingWithSandboxFeatureInstalled.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.ts"],"names":["UpgradingWithSandboxFeatureInstalledTest","FeatureFixture","installCachedFeatures","listenToDidInstallInthePast","setup","setupAndGetListenerPath","match","fileName","pathUtil","basename","expected","versionUtil","generateVersion","dirValue","assert","isEqual","diskUtil","deleteFile","writeFile","resolvePath","dirname","Action","execute","syncResults","isFalsy","errors","secondMatch","name","results","testUtil","assertFileByNameInGeneratedFiles","files","namespace","eventName","AbstractCliTest"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class UpgradingWithSandboxFeatureInstalledTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tawait this.listenToDidInstallInthePast()\n\t}\n\n\t@test()\n\tprotected static async doesNotAskForVersionWhenSettingUpSandboxWithCoreListener() {\n\t\tawait this.setup()\n\t}\n\n\t@test()\n\tprotected static async usesTodaysVersionEvenWithCoreListene() {\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tconst fileName = pathUtil.basename(match)\n\t\tconst expected = `will-boot.${\n\t\t\tversionUtil.generateVersion().dirValue\n\t\t}.listener.ts`\n\t\tassert.isEqual(fileName, expected)\n\t}\n\n\t@test()\n\tprotected static async overwritesExistingWillBoot() {\n\t\tconst expected = `will-boot.v2010_01_10.listener.ts`\n\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tdiskUtil.deleteFile(match)\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(pathUtil.dirname(match), expected),\n\t\t\t'export default async () => {}'\n\t\t)\n\n\t\tconst syncResults = await this.Action('event', 'syncListeners').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst secondMatch = await this.setupAndGetListenerPath()\n\t\tconst name = pathUtil.basename(secondMatch)\n\n\t\tassert.isEqual(name, expected)\n\t}\n\n\tprivate static async setupAndGetListenerPath() {\n\t\tconst results = await this.setup()\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/will-boot/gi,\n\t\t\tresults.files\n\t\t)\n\t\treturn match\n\t}\n\n\tprivate static async setup() {\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\t\tassert.isFalsy(results.errors)\n\t\treturn results\n\t}\n\n\tprivate static async listenToDidInstallInthePast() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'mercury',\n\t\t\teventName: 'did-install::v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"file":"UpgradingWithSandboxFeatureInstalled.test.js"}
@@ -419,7 +419,7 @@ var CreatingANewSchemaBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
419
419
  }
420
420
 
421
421
  return assertAnswersFirstTime;
422
- }() // should only have 2 options, none of which one "new version" since that was created in secondAnswers
422
+ }() // should only have 2 options, none of which are "new version" since that was created in secondAnswers
423
423
 
424
424
  }, {
425
425
  key: "assertAnswersSecondTime",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts"],"names":["CreatingANewSchemaBuilderTest","Cli","assert","doesThrowAsync","Action","execute","nameReadable","namePascal","nameCamel","description","err","errorAssertUtil","assertError","syncSchemasAndGetCreateAction","createSchema","response","isFalsy","errors","expectedDestination","versionUtil","resolveNewLatestPath","cwd","isEqual","files","path","cacheKey","syncSchemas","buildTestSchema","checker","Service","check","schemaTypesFile","builderMatch","testUtil","assertFileByNameInGeneratedFiles","schemaMatch","schemaContents","diskUtil","readFile","doesInclude","action","version","results","isTruthy","message","firstResponse","validateSchemaFiles","secondResponse","newVersion","generateVersion","assertAnswersFirstTime","assertAnswersSecondTime","createPromise","wait","last","ui","invocations","length","command","isLength","options","choices","isEqualDeep","value","dirValue","label","sendInput","term","createResults","expectedFileName","expectedVersion","expectedSchemaInterfaceName","isUndefined","schemaFile","fail","friendlyMessage","RegExp","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport {\n\tFeatureActionResponse,\n\tFeatureAction,\n} from '../../../features/features.types'\nimport SpyInterface from '../../../interfaces/SpyInterface'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingANewSchemaBuilderTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsWhenASkillIsNotInstalled() {\n\t\tawait this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async canBuildFileWithoutCrashing() {\n\t\tconst createSchema = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isFalsy(response.errors)\n\n\t\tconst expectedDestination = versionUtil.resolveNewLatestPath(\n\t\t\tthis.cwd,\n\t\t\t'src',\n\t\t\t'schemas',\n\t\t\t'{{@latest}}',\n\t\t\t'test.builder.ts'\n\t\t)\n\n\t\tassert.isEqual(response.files?.[0].path, expectedDestination)\n\t}\n\n\tprivate static async syncSchemasAndGetCreateAction(cacheKey?: string) {\n\t\tawait this.syncSchemas(cacheKey)\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\treturn createSchema\n\t}\n\n\t@test()\n\tprotected static async builderAndSchemaFilesValidate() {\n\t\tconst response = await this.buildTestSchema()\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tawait checker.check(response.files?.[0].path ?? '')\n\t\tawait checker.check(this.schemaTypesFile)\n\n\t\tconst builderMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.builder.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(builderMatch)\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.schema.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(schemaMatch)\n\n\t\tconst schemaContents = diskUtil.readFile(schemaMatch)\n\t\tassert.doesInclude(schemaContents, `namespace: 'TestingSchemas'`)\n\t}\n\n\t@test()\n\tprotected static async errorsWithBadVersion() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst results = await action.execute({\n\t\t\tnameReadable: 'Bad schema version!',\n\t\t\tnamePascal: 'BadSchemaVersion',\n\t\t\tnameCamel: 'badSchemaVersion',\n\t\t\tversion: 'v1',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, /must be in the form/i)\n\t}\n\n\t@test()\n\tprotected static async canBuild2SpecificVersions() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst firstResponse = await action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_10',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tfirstResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\n\t\tconst secondResponse = await action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'secondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t\tversion: 'v2020_01_11',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'secondSchema.schema.ts',\n\t\t\t'v2020_01_11',\n\t\t\t'SecondSchema'\n\t\t)\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionOnSecondSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst newVersion = versionUtil.generateVersion()\n\n\t\t// create old version first\n\t\tawait action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tawait this.assertAnswersFirstTime(action, newVersion)\n\t\tawait this.assertAnswersSecondTime(action, newVersion)\n\t}\n\n\t// should ask if we want to use the old version we created above or a New Version\n\tprivate static async assertAnswersFirstTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'SecondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst last = this.ui.invocations[this.ui.invocations.length - 1]\n\n\t\tassert.isEqual(last?.command, 'prompt')\n\t\tassert.isLength(last?.options?.options?.choices, 2)\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: 'New Version',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\tawait this.ui.sendInput(newVersion.dirValue)\n\t\tawait createPromise\n\t}\n\n\t// should only have 2 options, none of which one \"new version\" since that was created in secondAnswers\n\tprivate static async assertAnswersSecondTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Third schema',\n\t\t\tnamePascal: 'ThirdSchema',\n\t\t\tnameCamel: 'thirdSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst term = this.ui as SpyInterface\n\t\tconst last = term.invocations[term.invocations.length - 1]\n\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: newVersion.dirValue,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-floating-promises\n\t\tthis.ui.sendInput(newVersion.dirValue)\n\n\t\tconst createResults = await createPromise\n\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'secondSchema.schema.ts',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tassert.doesInclude(schemaMatch, newVersion.dirValue)\n\t}\n\n\tprivate static validateSchemaFiles(\n\t\tresponse: FeatureActionResponse,\n\t\texpectedFileName: string,\n\t\texpectedVersion: string,\n\t\texpectedSchemaInterfaceName: string\n\t) {\n\t\tassert.isUndefined(response.errors)\n\n\t\tlet schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\texpectedFileName,\n\t\t\tresponse.files\n\t\t)\n\n\t\tconst errors = response.errors ?? []\n\t\tif (errors.length > 0) {\n\t\t\tassert.fail(errors[0].friendlyMessage())\n\t\t}\n\n\t\tassert.doesInclude(schemaFile, expectedVersion)\n\t\tconst schemaContents = diskUtil.readFile(schemaFile)\n\n\t\tassert.doesInclude(schemaContents, `version: '${expectedVersion}'`)\n\n\t\tassert.doesInclude(\n\t\t\tschemaContents,\n\t\t\tnew RegExp(\n\t\t\t\t'SpruceSchemas.TestingSchemas.' +\n\t\t\t\t\texpectedVersion +\n\t\t\t\t\t'.*?' +\n\t\t\t\t\texpectedSchemaInterfaceName,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\tprivate static async buildTestSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await action.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'AnotherTest',\n\t\t\tnameCamel: 'anotherTest',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isUndefined(response.errors)\n\n\t\treturn response\n\t}\n}\n"],"file":"CreatingANewSchemaBuilder.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts"],"names":["CreatingANewSchemaBuilderTest","Cli","assert","doesThrowAsync","Action","execute","nameReadable","namePascal","nameCamel","description","err","errorAssertUtil","assertError","syncSchemasAndGetCreateAction","createSchema","response","isFalsy","errors","expectedDestination","versionUtil","resolveNewLatestPath","cwd","isEqual","files","path","cacheKey","syncSchemas","buildTestSchema","checker","Service","check","schemaTypesFile","builderMatch","testUtil","assertFileByNameInGeneratedFiles","schemaMatch","schemaContents","diskUtil","readFile","doesInclude","action","version","results","isTruthy","message","firstResponse","validateSchemaFiles","secondResponse","newVersion","generateVersion","assertAnswersFirstTime","assertAnswersSecondTime","createPromise","wait","last","ui","invocations","length","command","isLength","options","choices","isEqualDeep","value","dirValue","label","sendInput","term","createResults","expectedFileName","expectedVersion","expectedSchemaInterfaceName","isUndefined","schemaFile","fail","friendlyMessage","RegExp","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport {\n\tFeatureActionResponse,\n\tFeatureAction,\n} from '../../../features/features.types'\nimport SpyInterface from '../../../interfaces/SpyInterface'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingANewSchemaBuilderTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsWhenASkillIsNotInstalled() {\n\t\tawait this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async canBuildFileWithoutCrashing() {\n\t\tconst createSchema = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isFalsy(response.errors)\n\n\t\tconst expectedDestination = versionUtil.resolveNewLatestPath(\n\t\t\tthis.cwd,\n\t\t\t'src',\n\t\t\t'schemas',\n\t\t\t'{{@latest}}',\n\t\t\t'test.builder.ts'\n\t\t)\n\n\t\tassert.isEqual(response.files?.[0].path, expectedDestination)\n\t}\n\n\tprivate static async syncSchemasAndGetCreateAction(cacheKey?: string) {\n\t\tawait this.syncSchemas(cacheKey)\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\treturn createSchema\n\t}\n\n\t@test()\n\tprotected static async builderAndSchemaFilesValidate() {\n\t\tconst response = await this.buildTestSchema()\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tawait checker.check(response.files?.[0].path ?? '')\n\t\tawait checker.check(this.schemaTypesFile)\n\n\t\tconst builderMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.builder.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(builderMatch)\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.schema.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(schemaMatch)\n\n\t\tconst schemaContents = diskUtil.readFile(schemaMatch)\n\t\tassert.doesInclude(schemaContents, `namespace: 'TestingSchemas'`)\n\t}\n\n\t@test()\n\tprotected static async errorsWithBadVersion() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst results = await action.execute({\n\t\t\tnameReadable: 'Bad schema version!',\n\t\t\tnamePascal: 'BadSchemaVersion',\n\t\t\tnameCamel: 'badSchemaVersion',\n\t\t\tversion: 'v1',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, /must be in the form/i)\n\t}\n\n\t@test()\n\tprotected static async canBuild2SpecificVersions() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst firstResponse = await action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_10',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tfirstResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\n\t\tconst secondResponse = await action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'secondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t\tversion: 'v2020_01_11',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'secondSchema.schema.ts',\n\t\t\t'v2020_01_11',\n\t\t\t'SecondSchema'\n\t\t)\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionOnSecondSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst newVersion = versionUtil.generateVersion()\n\n\t\t// create old version first\n\t\tawait action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tawait this.assertAnswersFirstTime(action, newVersion)\n\t\tawait this.assertAnswersSecondTime(action, newVersion)\n\t}\n\n\t// should ask if we want to use the old version we created above or a New Version\n\tprivate static async assertAnswersFirstTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'SecondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst last = this.ui.invocations[this.ui.invocations.length - 1]\n\n\t\tassert.isEqual(last?.command, 'prompt')\n\t\tassert.isLength(last?.options?.options?.choices, 2)\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: 'New Version',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\tawait this.ui.sendInput(newVersion.dirValue)\n\t\tawait createPromise\n\t}\n\n\t// should only have 2 options, none of which are \"new version\" since that was created in secondAnswers\n\tprivate static async assertAnswersSecondTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Third schema',\n\t\t\tnamePascal: 'ThirdSchema',\n\t\t\tnameCamel: 'thirdSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst term = this.ui as SpyInterface\n\t\tconst last = term.invocations[term.invocations.length - 1]\n\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: newVersion.dirValue,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-floating-promises\n\t\tthis.ui.sendInput(newVersion.dirValue)\n\n\t\tconst createResults = await createPromise\n\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'secondSchema.schema.ts',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tassert.doesInclude(schemaMatch, newVersion.dirValue)\n\t}\n\n\tprivate static validateSchemaFiles(\n\t\tresponse: FeatureActionResponse,\n\t\texpectedFileName: string,\n\t\texpectedVersion: string,\n\t\texpectedSchemaInterfaceName: string\n\t) {\n\t\tassert.isUndefined(response.errors)\n\n\t\tlet schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\texpectedFileName,\n\t\t\tresponse.files\n\t\t)\n\n\t\tconst errors = response.errors ?? []\n\t\tif (errors.length > 0) {\n\t\t\tassert.fail(errors[0].friendlyMessage())\n\t\t}\n\n\t\tassert.doesInclude(schemaFile, expectedVersion)\n\t\tconst schemaContents = diskUtil.readFile(schemaFile)\n\n\t\tassert.doesInclude(schemaContents, `version: '${expectedVersion}'`)\n\n\t\tassert.doesInclude(\n\t\t\tschemaContents,\n\t\t\tnew RegExp(\n\t\t\t\t'SpruceSchemas.TestingSchemas.' +\n\t\t\t\t\texpectedVersion +\n\t\t\t\t\t'.*?' +\n\t\t\t\t\texpectedSchemaInterfaceName,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\tprivate static async buildTestSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await action.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'AnotherTest',\n\t\t\tnameCamel: 'anotherTest',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isUndefined(response.errors)\n\n\t\treturn response\n\t}\n}\n"],"file":"CreatingANewSchemaBuilder.test.js"}
@@ -214,7 +214,7 @@ var PkgServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3
214
214
  switch (_context6.prev = _context6.next) {
215
215
  case 0:
216
216
  _context6.next = 2;
217
- return this.pkg.install(['moment', '@sprucelabs/spruce-calendar-utils']);
217
+ return this.pkg.install(['moment', '@sprucelabs/calendar-utils']);
218
218
 
219
219
  case 2:
220
220
  _yield$this$pkg$insta2 = _context6.sent;
@@ -222,7 +222,7 @@ var PkgServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3
222
222
 
223
223
  _test.assert.isEqual(totalInstalled, 2);
224
224
 
225
- expectedPath = this.resolvePath('node_modules', '@sprucelabs', 'spruce-calendar-utils');
225
+ expectedPath = this.resolvePath('node_modules', '@sprucelabs', 'calendar-utils');
226
226
 
227
227
  _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(expectedPath), "No module installed at ".concat(expectedPath, "."));
228
228
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/PkgService.test.ts"],"names":["PkgServiceTest","pkg","Service","assert","isTruthy","version","get","isNotEqual","CommandService","setMockResponse","RegExp","code","install","isInstalled","totalInstalled","isEqual","expectedPath","resolvePath","isTrue","diskUtil","doesFileExist","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;IAEqBA,c,WASnB,iB,UAKA,iB,UAMA,iB,UAWA,iB,UA2BA,iB;;;;;;;;;;;;;sGAtDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKC,GAAL,GAAW,KAAKC,OAAL,CAAa,KAAb,CAAX;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgB,KAAKH,GAArB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qJAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOI,gBAAAA,OAFP,GAEiB,KAAKJ,GAAL,CAASK,GAAT,CAAa,qBAAb,CAFjB;;AAGCH,6BAAOI,UAAP,CAAkBF,OAAlB,EAA2B,QAA3B;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAMA;AAAA;AAAA;AAAA;AAAA;AAECG,2CAAeC,eAAf,CAA+B,IAAIC,MAAJ,CAAW,QAAX,CAA/B,EAAsD;AACrDC,kBAAAA,IAAI,EAAE;AAD+C,iBAAtD;;AAFD;AAAA,uBAMO,KAAKV,GAAL,CAASW,OAAT,CAAiB,+CAAjB,CANP;;AAAA;AAQC,qBAAKX,GAAL,CAASY,WAAT,CAAqB,wCAArB;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2IAWA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAECL,2CAAeC,eAAf,CACC,IAAIC,MAAJ,CAAW,oDAAX,CADD,EAEC;AACCC,kBAAAA,IAAI,EAAE;AADP,iBAFD;;AAFD;AAAA,uBASkC,KAAKV,GAAL,CAASW,OAAT,CAChC,gCADgC,CATlC;;AAAA;AAAA;AASSE,gBAAAA,cATT,yBASSA,cATT;;AAaCX,6BAAOY,OAAP,CAAeD,cAAf,EAA+B,CAA/B;;AAEME,gBAAAA,YAfP,GAesB,KAAKC,WAAL,CACpB,cADoB,EAEpB,aAFoB,EAGpB,oBAHoB,CAftB;;AAqBCd,6BAAOe,MAAP,CACCC,2BAASC,aAAT,CAAuBJ,YAAvB,CADD,mCAE2BA,YAF3B;;AArBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mJA2BA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEkC,KAAKf,GAAL,CAASW,OAAT,CAAiB,CACjD,QADiD,EAEjD,mCAFiD,CAAjB,CAFlC;;AAAA;AAAA;AAESE,gBAAAA,cAFT,0BAESA,cAFT;;AAOCX,6BAAOY,OAAP,CAAeD,cAAf,EAA+B,CAA/B;;AAEME,gBAAAA,YATP,GASsB,KAAKC,WAAL,CACpB,cADoB,EAEpB,aAFoB,EAGpB,uBAHoB,CATtB;;AAeCd,6BAAOe,MAAP,CACCC,2BAASC,aAAT,CAAuBJ,YAAvB,CADD,mCAE2BA,YAF3B;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1D2CK,8B,8DACV,Q","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../services/CommandService'\nimport PkgService from '../../services/PkgService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class PkgServiceTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static pkg: PkgService\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.pkg = this.Service('pkg')\n\t}\n\n\t@test()\n\tprotected static async canCreatePkgService() {\n\t\tassert.isTruthy(this.pkg)\n\t}\n\n\t@test()\n\tprotected static async installANonSpruceLabsModuleMakesItsVersionAnActualVersion() {\n\t\tconst version = this.pkg.get('dependencies.dotenv')\n\t\tassert.isNotEqual(version, 'latest')\n\t}\n\n\t@test()\n\tprotected static async handlesAtLatestInName() {\n\t\tCommandService.setMockResponse(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.pkg.install('@sprucelabs/heartwood-view-controllers@latest')\n\n\t\tthis.pkg.isInstalled('@sprucelabs/heartwood-view-controllers')\n\t}\n\n\t@test()\n\tprotected static async ifInstallingOnlySpruceModulesShouldNotRunNPMAdd() {\n\t\tCommandService.setMockResponse(\n\t\t\tnew RegExp(/npm.*?install.*?--no-progress/gis),\n\t\t\t{\n\t\t\t\tcode: 1,\n\t\t\t}\n\t\t)\n\n\t\tconst { totalInstalled } = await this.pkg.install(\n\t\t\t'@sprucelabs/jest-json-reporter'\n\t\t)\n\n\t\tassert.isEqual(totalInstalled, 1)\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'node_modules',\n\t\t\t'@sprucelabs',\n\t\t\t'jest-json-reporter'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(expectedPath),\n\t\t\t`No module installed at ${expectedPath}.`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async installingSpruceAndOtherModulesDoesntRemoveSpruceModule() {\n\t\tconst { totalInstalled } = await this.pkg.install([\n\t\t\t'moment',\n\t\t\t'@sprucelabs/spruce-calendar-utils',\n\t\t])\n\n\t\tassert.isEqual(totalInstalled, 2)\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'node_modules',\n\t\t\t'@sprucelabs',\n\t\t\t'spruce-calendar-utils'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(expectedPath),\n\t\t\t`No module installed at ${expectedPath}.`\n\t\t)\n\t}\n}\n"],"file":"PkgService.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/implementation/PkgService.test.ts"],"names":["PkgServiceTest","pkg","Service","assert","isTruthy","version","get","isNotEqual","CommandService","setMockResponse","RegExp","code","install","isInstalled","totalInstalled","isEqual","expectedPath","resolvePath","isTrue","diskUtil","doesFileExist","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;IAEqBA,c,WASnB,iB,UAKA,iB,UAMA,iB,UAWA,iB,UA2BA,iB;;;;;;;;;;;;;sGAtDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKC,GAAL,GAAW,KAAKC,OAAL,CAAa,KAAb,CAAX;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgB,KAAKH,GAArB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qJAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOI,gBAAAA,OAFP,GAEiB,KAAKJ,GAAL,CAASK,GAAT,CAAa,qBAAb,CAFjB;;AAGCH,6BAAOI,UAAP,CAAkBF,OAAlB,EAA2B,QAA3B;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAMA;AAAA;AAAA;AAAA;AAAA;AAECG,2CAAeC,eAAf,CAA+B,IAAIC,MAAJ,CAAW,QAAX,CAA/B,EAAsD;AACrDC,kBAAAA,IAAI,EAAE;AAD+C,iBAAtD;;AAFD;AAAA,uBAMO,KAAKV,GAAL,CAASW,OAAT,CAAiB,+CAAjB,CANP;;AAAA;AAQC,qBAAKX,GAAL,CAASY,WAAT,CAAqB,wCAArB;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2IAWA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAECL,2CAAeC,eAAf,CACC,IAAIC,MAAJ,CAAW,oDAAX,CADD,EAEC;AACCC,kBAAAA,IAAI,EAAE;AADP,iBAFD;;AAFD;AAAA,uBASkC,KAAKV,GAAL,CAASW,OAAT,CAChC,gCADgC,CATlC;;AAAA;AAAA;AASSE,gBAAAA,cATT,yBASSA,cATT;;AAaCX,6BAAOY,OAAP,CAAeD,cAAf,EAA+B,CAA/B;;AAEME,gBAAAA,YAfP,GAesB,KAAKC,WAAL,CACpB,cADoB,EAEpB,aAFoB,EAGpB,oBAHoB,CAftB;;AAqBCd,6BAAOe,MAAP,CACCC,2BAASC,aAAT,CAAuBJ,YAAvB,CADD,mCAE2BA,YAF3B;;AArBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mJA2BA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEkC,KAAKf,GAAL,CAASW,OAAT,CAAiB,CACjD,QADiD,EAEjD,4BAFiD,CAAjB,CAFlC;;AAAA;AAAA;AAESE,gBAAAA,cAFT,0BAESA,cAFT;;AAOCX,6BAAOY,OAAP,CAAeD,cAAf,EAA+B,CAA/B;;AAEME,gBAAAA,YATP,GASsB,KAAKC,WAAL,CACpB,cADoB,EAEpB,aAFoB,EAGpB,gBAHoB,CATtB;;AAeCd,6BAAOe,MAAP,CACCC,2BAASC,aAAT,CAAuBJ,YAAvB,CADD,mCAE2BA,YAF3B;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1D2CK,8B,8DACV,Q","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../services/CommandService'\nimport PkgService from '../../services/PkgService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class PkgServiceTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static pkg: PkgService\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.pkg = this.Service('pkg')\n\t}\n\n\t@test()\n\tprotected static async canCreatePkgService() {\n\t\tassert.isTruthy(this.pkg)\n\t}\n\n\t@test()\n\tprotected static async installANonSpruceLabsModuleMakesItsVersionAnActualVersion() {\n\t\tconst version = this.pkg.get('dependencies.dotenv')\n\t\tassert.isNotEqual(version, 'latest')\n\t}\n\n\t@test()\n\tprotected static async handlesAtLatestInName() {\n\t\tCommandService.setMockResponse(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.pkg.install('@sprucelabs/heartwood-view-controllers@latest')\n\n\t\tthis.pkg.isInstalled('@sprucelabs/heartwood-view-controllers')\n\t}\n\n\t@test()\n\tprotected static async ifInstallingOnlySpruceModulesShouldNotRunNPMAdd() {\n\t\tCommandService.setMockResponse(\n\t\t\tnew RegExp(/npm.*?install.*?--no-progress/gis),\n\t\t\t{\n\t\t\t\tcode: 1,\n\t\t\t}\n\t\t)\n\n\t\tconst { totalInstalled } = await this.pkg.install(\n\t\t\t'@sprucelabs/jest-json-reporter'\n\t\t)\n\n\t\tassert.isEqual(totalInstalled, 1)\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'node_modules',\n\t\t\t'@sprucelabs',\n\t\t\t'jest-json-reporter'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(expectedPath),\n\t\t\t`No module installed at ${expectedPath}.`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async installingSpruceAndOtherModulesDoesntRemoveSpruceModule() {\n\t\tconst { totalInstalled } = await this.pkg.install([\n\t\t\t'moment',\n\t\t\t'@sprucelabs/calendar-utils',\n\t\t])\n\n\t\tassert.isEqual(totalInstalled, 2)\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'node_modules',\n\t\t\t'@sprucelabs',\n\t\t\t'calendar-utils'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(expectedPath),\n\t\t\t`No module installed at ${expectedPath}.`\n\t\t)\n\t}\n}\n"],"file":"PkgService.test.js"}
@@ -7,6 +7,10 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
7
7
  invocationMessage: string;
8
8
  commandAliases: string[];
9
9
  execute(options: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions): Promise<FeatureActionResponse>;
10
+ private fetchEventContracts;
11
+ private syncEvents;
12
+ private writeListener;
13
+ private assertIsValidChoice;
10
14
  private syncListeners;
11
15
  private collectEvent;
12
16
  private collectNamespace;