@sprucelabs/spruce-cli 14.29.2 → 14.29.6

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 (51) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +1 -0
  3. package/build/__tests__/behavioral/events/CreatingAListener.test.js +67 -24
  4. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  5. package/build/__tests__/behavioral/{ListeningToAnEventYouCreate.test.d.ts → events/ListeningToAnEventYouCreate.test.d.ts} +1 -1
  6. package/build/__tests__/behavioral/{ListeningToAnEventYouCreate.test.js → events/ListeningToAnEventYouCreate.test.js} +2 -2
  7. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -0
  8. package/build/__tests__/implementation/PkgService.test.js +3 -6
  9. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  10. package/build/cli.js +9 -7
  11. package/build/cli.js.map +1 -1
  12. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  13. package/build/features/skill/actions/RegisterAction.js +1 -0
  14. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  15. package/build/schemas/v2020_07_22/personWithToken.builder.js +1 -0
  16. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  17. package/build/services/PkgService.d.ts +4 -16
  18. package/build/services/PkgService.js +11 -127
  19. package/build/services/PkgService.js.map +1 -1
  20. package/build/services/ServiceFactory.d.ts +1 -2
  21. package/build/services/ServiceFactory.js +2 -4
  22. package/build/services/ServiceFactory.js.map +1 -1
  23. package/build/types/cli.types.d.ts +1 -6
  24. package/build/types/cli.types.js +8 -0
  25. package/build/types/cli.types.js.map +1 -1
  26. package/package.json +34 -34
  27. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +20 -0
  28. package/src/__tests__/behavioral/{ListeningToAnEventYouCreate.test.ts → events/ListeningToAnEventYouCreate.test.ts} +2 -2
  29. package/src/__tests__/implementation/PkgService.test.ts +1 -2
  30. package/src/cli.ts +4 -1
  31. package/src/features/deploy/actions/HerokuAction.ts +1 -2
  32. package/src/features/skill/actions/RegisterAction.ts +3 -0
  33. package/src/schemas/v2020_07_22/personWithToken.builder.ts +1 -0
  34. package/src/services/PkgService.ts +13 -93
  35. package/src/services/ServiceFactory.ts +10 -7
  36. package/src/types/cli.types.ts +1 -6
  37. package/build/__tests__/behavioral/ListeningToAnEventYouCreate.test.js.map +0 -1
  38. package/build/__tests__/behavioral/README.md +0 -8
  39. package/build/__tests__/implementation/AuthService.test.d.ts +0 -14
  40. package/build/__tests__/implementation/AuthService.test.js +0 -255
  41. package/build/__tests__/implementation/AuthService.test.js.map +0 -1
  42. package/build/__tests__/implementation/README.md +0 -5
  43. package/build/components/README.md +0 -5
  44. package/build/services/AuthService.d.ts +0 -23
  45. package/build/services/AuthService.js +0 -109
  46. package/build/services/AuthService.js.map +0 -1
  47. package/src/__tests__/behavioral/README.md +0 -8
  48. package/src/__tests__/implementation/AuthService.test.ts +0 -95
  49. package/src/__tests__/implementation/README.md +0 -5
  50. package/src/components/README.md +0 -5
  51. package/src/services/AuthService.ts +0 -91
@@ -1,255 +0,0 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
- var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
29
-
30
- var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
-
32
- var _test = require("@sprucelabs/test");
33
-
34
- var _testUtils = require("@sprucelabs/test-utils");
35
-
36
- var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
37
-
38
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _temp;
39
-
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
-
44
- 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); }; }
45
-
46
- 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; } }
47
-
48
- var AuthServiceTest = (_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)(), _dec8 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractCliTest) {
49
- (0, _inherits2["default"])(AuthServiceTest, _AbstractCliTest);
50
-
51
- var _super = _createSuper(AuthServiceTest);
52
-
53
- function AuthServiceTest() {
54
- (0, _classCallCheck2["default"])(this, AuthServiceTest);
55
- return _super.apply(this, arguments);
56
- }
57
-
58
- (0, _createClass2["default"])(AuthServiceTest, null, [{
59
- key: "beforeEach",
60
- value: function () {
61
- var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
62
- return _regenerator["default"].wrap(function _callee$(_context) {
63
- while (1) {
64
- switch (_context.prev = _context.next) {
65
- case 0:
66
- _context.next = 2;
67
- return (0, _get2["default"])((0, _getPrototypeOf2["default"])(AuthServiceTest), "beforeEach", this).call(this);
68
-
69
- case 2:
70
- _spruceSkillUtils.diskUtil.createDir(this.resolvePath(_spruceSkillUtils.HASH_SPRUCE_DIR));
71
-
72
- this.auth = this.Service('auth');
73
-
74
- case 4:
75
- case "end":
76
- return _context.stop();
77
- }
78
- }
79
- }, _callee, this);
80
- }));
81
-
82
- function beforeEach() {
83
- return _beforeEach.apply(this, arguments);
84
- }
85
-
86
- return beforeEach;
87
- }()
88
- }, {
89
- key: "canInstantiatePersonStore",
90
- value: function () {
91
- var _canInstantiatePersonStore = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
92
- return _regenerator["default"].wrap(function _callee2$(_context2) {
93
- while (1) {
94
- switch (_context2.prev = _context2.next) {
95
- case 0:
96
- _test.assert.isTruthy(this.auth);
97
-
98
- case 1:
99
- case "end":
100
- return _context2.stop();
101
- }
102
- }
103
- }, _callee2, this);
104
- }));
105
-
106
- function canInstantiatePersonStore() {
107
- return _canInstantiatePersonStore.apply(this, arguments);
108
- }
109
-
110
- return canInstantiatePersonStore;
111
- }()
112
- }, {
113
- key: "hasLoggedInPersonMethod",
114
- value: function () {
115
- var _hasLoggedInPersonMethod = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
116
- return _regenerator["default"].wrap(function _callee3$(_context3) {
117
- while (1) {
118
- switch (_context3.prev = _context3.next) {
119
- case 0:
120
- _test.assert.isFunction(this.auth.getLoggedInPerson);
121
-
122
- case 1:
123
- case "end":
124
- return _context3.stop();
125
- }
126
- }
127
- }, _callee3, this);
128
- }));
129
-
130
- function hasLoggedInPersonMethod() {
131
- return _hasLoggedInPersonMethod.apply(this, arguments);
132
- }
133
-
134
- return hasLoggedInPersonMethod;
135
- }()
136
- }, {
137
- key: "loggedInPersonIsNullWhenNotLoggedIn",
138
- value: function () {
139
- var _loggedInPersonIsNullWhenNotLoggedIn = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
140
- return _regenerator["default"].wrap(function _callee4$(_context4) {
141
- while (1) {
142
- switch (_context4.prev = _context4.next) {
143
- case 0:
144
- _test.assert.isNull(this.auth.getLoggedInPerson());
145
-
146
- case 1:
147
- case "end":
148
- return _context4.stop();
149
- }
150
- }
151
- }, _callee4, this);
152
- }));
153
-
154
- function loggedInPersonIsNullWhenNotLoggedIn() {
155
- return _loggedInPersonIsNullWhenNotLoggedIn.apply(this, arguments);
156
- }
157
-
158
- return loggedInPersonIsNullWhenNotLoggedIn;
159
- }()
160
- }, {
161
- key: "cantSaveBadLoggedInPerson",
162
- value: function () {
163
- var _cantSaveBadLoggedInPerson = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
164
- var _this = this;
165
-
166
- var err;
167
- return _regenerator["default"].wrap(function _callee5$(_context5) {
168
- while (1) {
169
- switch (_context5.prev = _context5.next) {
170
- case 0:
171
- err = _test.assert.doesThrow(function () {
172
- return (//@ts-ignore
173
- _this.auth.setLoggedInPerson({
174
- test: true
175
- })
176
- );
177
- });
178
-
179
- _testUtils.errorAssertUtil.assertError(err, 'MISSING_PARAMETERS');
180
-
181
- case 2:
182
- case "end":
183
- return _context5.stop();
184
- }
185
- }
186
- }, _callee5);
187
- }));
188
-
189
- function cantSaveBadLoggedInPerson() {
190
- return _cantSaveBadLoggedInPerson.apply(this, arguments);
191
- }
192
-
193
- return cantSaveBadLoggedInPerson;
194
- }()
195
- }, {
196
- key: "canSaveLoggedInPerson",
197
- value: function canSaveLoggedInPerson() {
198
- var auth = this.auth;
199
- var person = {
200
- id: 'test',
201
- casualName: 'friend',
202
- token: 'token'
203
- };
204
- auth.setLoggedInPerson(person);
205
- var loggedIn = auth.getLoggedInPerson();
206
-
207
- _test.assert.isEqualDeep(loggedIn, _objectSpread(_objectSpread({}, person), {}, {
208
- isLoggedIn: true
209
- }));
210
- }
211
- }, {
212
- key: "canLogOut",
213
- value: function canLogOut() {
214
- var auth = this.auth;
215
- var person = {
216
- id: 'test',
217
- casualName: 'friend',
218
- token: 'token'
219
- };
220
- auth.setLoggedInPerson(person);
221
- auth.logOutPerson();
222
-
223
- _test.assert.isNull(auth.getLoggedInPerson());
224
- }
225
- }, {
226
- key: "getCurrentSkillReturnsNull",
227
- value: function getCurrentSkillReturnsNull() {
228
- this.writePackageJson();
229
-
230
- _test.assert.isNull(this.auth.getCurrentSkill());
231
- }
232
- }, {
233
- key: "canSetCurrentSkill",
234
- value: function canSetCurrentSkill() {
235
- this.writePackageJson();
236
- var skill = {
237
- id: '123467aaoeuaoeu',
238
- apiKey: 'taco',
239
- name: 'go team',
240
- slug: 'taco-bravo'
241
- };
242
- this.auth.updateCurrentSkill(skill);
243
-
244
- _test.assert.isEqualDeep(this.auth.getCurrentSkill(), skill);
245
- }
246
- }, {
247
- key: "writePackageJson",
248
- value: function writePackageJson() {
249
- _spruceSkillUtils.diskUtil.writeFile(this.resolvePath('package.json'), '{}');
250
- }
251
- }]);
252
- return AuthServiceTest;
253
- }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_class2, "auth", void 0), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiatePersonStore", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiatePersonStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasLoggedInPersonMethod", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasLoggedInPersonMethod"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loggedInPersonIsNullWhenNotLoggedIn", [_dec3], Object.getOwnPropertyDescriptor(_class, "loggedInPersonIsNullWhenNotLoggedIn"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "cantSaveBadLoggedInPerson", [_dec4], Object.getOwnPropertyDescriptor(_class, "cantSaveBadLoggedInPerson"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSaveLoggedInPerson", [_dec5], Object.getOwnPropertyDescriptor(_class, "canSaveLoggedInPerson"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canLogOut", [_dec6], Object.getOwnPropertyDescriptor(_class, "canLogOut"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getCurrentSkillReturnsNull", [_dec7], Object.getOwnPropertyDescriptor(_class, "getCurrentSkillReturnsNull"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSetCurrentSkill", [_dec8], Object.getOwnPropertyDescriptor(_class, "canSetCurrentSkill"), _class)), _class));
254
- exports["default"] = AuthServiceTest;
255
- //# sourceMappingURL=AuthService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/AuthService.test.ts"],"names":["AuthServiceTest","diskUtil","createDir","resolvePath","HASH_SPRUCE_DIR","auth","Service","assert","isTruthy","isFunction","getLoggedInPerson","isNull","err","doesThrow","setLoggedInPerson","test","errorAssertUtil","assertError","person","id","casualName","token","loggedIn","isEqualDeep","isLoggedIn","logOutPerson","writePackageJson","getCurrentSkill","skill","apiKey","name","slug","updateCurrentSkill","writeFile","AbstractCliTest"],"mappings":"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","sourcesContent":["import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AuthService from '../../services/AuthService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class AuthServiceTest extends AbstractCliTest {\n\tprivate static auth: AuthService\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.createDir(this.resolvePath(HASH_SPRUCE_DIR))\n\t\tthis.auth = this.Service('auth')\n\t}\n\n\t@test()\n\tprotected static async canInstantiatePersonStore() {\n\t\tassert.isTruthy(this.auth)\n\t}\n\n\t@test()\n\tprotected static async hasLoggedInPersonMethod() {\n\t\tassert.isFunction(this.auth.getLoggedInPerson)\n\t}\n\n\t@test()\n\tprotected static async loggedInPersonIsNullWhenNotLoggedIn() {\n\t\tassert.isNull(this.auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static async cantSaveBadLoggedInPerson() {\n\t\tconst err = assert.doesThrow(() =>\n\t\t\t//@ts-ignore\n\t\t\tthis.auth.setLoggedInPerson({ test: true })\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'MISSING_PARAMETERS')\n\t}\n\n\t@test()\n\tprotected static canSaveLoggedInPerson() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\n\t\tconst loggedIn = auth.getLoggedInPerson()\n\n\t\tassert.isEqualDeep(loggedIn, { ...person, isLoggedIn: true })\n\t}\n\n\t@test()\n\tprotected static canLogOut() {\n\t\tconst auth = this.auth\n\t\tconst person = {\n\t\t\tid: 'test',\n\t\t\tcasualName: 'friend',\n\t\t\ttoken: 'token',\n\t\t}\n\n\t\tauth.setLoggedInPerson(person)\n\t\tauth.logOutPerson()\n\n\t\tassert.isNull(auth.getLoggedInPerson())\n\t}\n\n\t@test()\n\tprotected static getCurrentSkillReturnsNull() {\n\t\tthis.writePackageJson()\n\t\tassert.isNull(this.auth.getCurrentSkill())\n\t}\n\n\t@test()\n\tprotected static canSetCurrentSkill() {\n\t\tthis.writePackageJson()\n\t\tconst skill = {\n\t\t\tid: '123467aaoeuaoeu',\n\t\t\tapiKey: 'taco',\n\t\t\tname: 'go team',\n\t\t\tslug: 'taco-bravo',\n\t\t}\n\n\t\tthis.auth.updateCurrentSkill(skill)\n\n\t\tassert.isEqualDeep(this.auth.getCurrentSkill(), skill)\n\t}\n\n\tprivate static writePackageJson() {\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t}\n}\n"],"file":"AuthService.test.js"}
@@ -1,5 +0,0 @@
1
- # Implementation Tests
2
-
3
- These tests help you build whatever you're building to solve the behavioral tests.
4
-
5
- Implementation tests can safely be deleted when they break when you are changing the implementation. At that point, you can create new ones.
@@ -1,5 +0,0 @@
1
- # Components
2
-
3
- Components are ways to collect lots of input form a user that you can reuse in multiple Commands.
4
-
5
- Commands and components are the only places you should be asking for input.
@@ -1,23 +0,0 @@
1
- import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
- import { EnvService } from '@sprucelabs/spruce-skill-utils';
3
- import PkgService from './PkgService';
4
- declare type PersonWithToken = SpruceSchemas.SpruceCli.v2020_07_22.PersonWithToken;
5
- export interface SkillAuth {
6
- id: string;
7
- apiKey: string;
8
- name: string;
9
- slug: string;
10
- }
11
- export default class AuthService {
12
- private env;
13
- private pkg;
14
- constructor(envService: EnvService, pkgService: PkgService);
15
- getLoggedInPerson(): PersonWithToken | null;
16
- setLoggedInPerson(person: PersonWithToken): void;
17
- logOutPerson(): void;
18
- getCurrentSkill(): SkillAuth | null;
19
- logoutCurrentSkill(): void;
20
- updateCurrentSkill(skill: SkillAuth): void;
21
- updateCurrentSkillNamespace(namespace: string): void;
22
- }
23
- export {};
@@ -1,109 +0,0 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _schema = require("@sprucelabs/schema");
17
-
18
- var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
-
20
- var _personWithToken = _interopRequireDefault(require("../.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema"));
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
-
26
- var LOGGED_IN_PERSON_KEY = 'LOGGED_IN_PERSON';
27
-
28
- var AuthService = /*#__PURE__*/function () {
29
- function AuthService(envService, pkgService) {
30
- (0, _classCallCheck2["default"])(this, AuthService);
31
- (0, _defineProperty2["default"])(this, "env", void 0);
32
- (0, _defineProperty2["default"])(this, "pkg", void 0);
33
- this.env = envService;
34
- this.pkg = pkgService;
35
- }
36
-
37
- (0, _createClass2["default"])(AuthService, [{
38
- key: "getLoggedInPerson",
39
- value: function getLoggedInPerson() {
40
- var p = this.env.get(LOGGED_IN_PERSON_KEY);
41
-
42
- if (typeof p === 'string') {
43
- return JSON.parse(p);
44
- }
45
-
46
- return null;
47
- }
48
- }, {
49
- key: "setLoggedInPerson",
50
- value: function setLoggedInPerson(person) {
51
- var normalized = (0, _schema.normalizeSchemaValues)(_personWithToken["default"], person);
52
- (0, _schema.validateSchemaValues)(_personWithToken["default"], normalized);
53
- this.env.set(LOGGED_IN_PERSON_KEY, JSON.stringify(_objectSpread(_objectSpread({}, normalized), {}, {
54
- isLoggedIn: true
55
- })));
56
- }
57
- }, {
58
- key: "logOutPerson",
59
- value: function logOutPerson() {
60
- this.env.unset(LOGGED_IN_PERSON_KEY);
61
- }
62
- }, {
63
- key: "getCurrentSkill",
64
- value: function getCurrentSkill() {
65
- var id = this.env.get('SKILL_ID');
66
- var apiKey = this.env.get('SKILL_API_KEY');
67
- var name = this.env.get('SKILL_NAME');
68
- var slug = this.pkg.get('skill.namespace');
69
-
70
- if (id && apiKey) {
71
- return {
72
- id: id,
73
- apiKey: apiKey,
74
- name: name,
75
- slug: slug
76
- };
77
- }
78
-
79
- return null;
80
- }
81
- }, {
82
- key: "logoutCurrentSkill",
83
- value: function logoutCurrentSkill() {
84
- this.env.unset('SKILL_ID');
85
- this.env.unset('SKILL_API_KEY');
86
- this.env.unset('SKILL_NAME');
87
- }
88
- }, {
89
- key: "updateCurrentSkill",
90
- value: function updateCurrentSkill(skill) {
91
- this.env.set('SKILL_ID', skill.id);
92
- this.env.set('SKILL_API_KEY', skill.apiKey);
93
- this.env.set('SKILL_NAME', skill.name);
94
- this.updateCurrentSkillNamespace(skill.slug);
95
- }
96
- }, {
97
- key: "updateCurrentSkillNamespace",
98
- value: function updateCurrentSkillNamespace(namespace) {
99
- this.pkg.set({
100
- path: 'skill.namespace',
101
- value: _spruceSkillUtils.namesUtil.toKebab(namespace)
102
- });
103
- }
104
- }]);
105
- return AuthService;
106
- }();
107
-
108
- exports["default"] = AuthService;
109
- //# sourceMappingURL=AuthService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/AuthService.ts"],"names":["LOGGED_IN_PERSON_KEY","AuthService","envService","pkgService","env","pkg","p","get","JSON","parse","person","normalized","personWithTokenSchema","set","stringify","isLoggedIn","unset","id","apiKey","name","slug","skill","updateCurrentSkillNamespace","namespace","path","value","namesUtil","toKebab"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAYA,IAAMA,oBAAoB,GAAG,kBAA7B;;IAEqBC,W;AAIpB,uBAAmBC,UAAnB,EAA2CC,UAA3C,EAAmE;AAAA;AAAA;AAAA;AAClE,SAAKC,GAAL,GAAWF,UAAX;AACA,SAAKG,GAAL,GAAWF,UAAX;AACA;;;;WAED,6BAAmD;AAClD,UAAMG,CAAC,GAAG,KAAKF,GAAL,CAASG,GAAT,CAAaP,oBAAb,CAAV;;AACA,UAAI,OAAOM,CAAP,KAAa,QAAjB,EAA2B;AAC1B,eAAOE,IAAI,CAACC,KAAL,CAAWH,CAAX,CAAP;AACA;;AAED,aAAO,IAAP;AACA;;;WAED,2BAAyBI,MAAzB,EAAkD;AACjD,UAAMC,UAAU,GAAG,mCAAsBC,2BAAtB,EAA6CF,MAA7C,CAAnB;AACA,wCAAqBE,2BAArB,EAA4CD,UAA5C;AAEA,WAAKP,GAAL,CAASS,GAAT,CACCb,oBADD,EAECQ,IAAI,CAACM,SAAL,iCACIH,UADJ;AAECI,QAAAA,UAAU,EAAE;AAFb,SAFD;AAOA;;;WAED,wBAAsB;AACrB,WAAKX,GAAL,CAASY,KAAT,CAAehB,oBAAf;AACA;;;WAED,2BAA2C;AAC1C,UAAMiB,EAAE,GAAG,KAAKb,GAAL,CAASG,GAAT,CAAa,UAAb,CAAX;AACA,UAAMW,MAAM,GAAG,KAAKd,GAAL,CAASG,GAAT,CAAa,eAAb,CAAf;AACA,UAAMY,IAAI,GAAG,KAAKf,GAAL,CAASG,GAAT,CAAa,YAAb,CAAb;AACA,UAAMa,IAAI,GAAG,KAAKf,GAAL,CAASE,GAAT,CAAa,iBAAb,CAAb;;AAEA,UAAIU,EAAE,IAAIC,MAAV,EAAkB;AACjB,eAAO;AACND,UAAAA,EAAE,EAAFA,EADM;AAENC,UAAAA,MAAM,EAANA,MAFM;AAGNC,UAAAA,IAAI,EAAJA,IAHM;AAINC,UAAAA,IAAI,EAAJA;AAJM,SAAP;AAMA;;AAED,aAAO,IAAP;AACA;;;WAED,8BAA4B;AAC3B,WAAKhB,GAAL,CAASY,KAAT,CAAe,UAAf;AACA,WAAKZ,GAAL,CAASY,KAAT,CAAe,eAAf;AACA,WAAKZ,GAAL,CAASY,KAAT,CAAe,YAAf;AACA;;;WAED,4BAA0BK,KAA1B,EAA4C;AAC3C,WAAKjB,GAAL,CAASS,GAAT,CAAa,UAAb,EAAyBQ,KAAK,CAACJ,EAA/B;AACA,WAAKb,GAAL,CAASS,GAAT,CAAa,eAAb,EAA8BQ,KAAK,CAACH,MAApC;AACA,WAAKd,GAAL,CAASS,GAAT,CAAa,YAAb,EAA2BQ,KAAK,CAACF,IAAjC;AAEA,WAAKG,2BAAL,CAAiCD,KAAK,CAACD,IAAvC;AACA;;;WAED,qCAAmCG,SAAnC,EAAsD;AACrD,WAAKlB,GAAL,CAASQ,GAAT,CAAa;AACZW,QAAAA,IAAI,EAAE,iBADM;AAEZC,QAAAA,KAAK,EAAEC,4BAAUC,OAAV,CAAkBJ,SAAlB;AAFK,OAAb;AAIA","sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { normalizeSchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { EnvService, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport personWithTokenSchema from '#spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema'\nimport PkgService from './PkgService'\n\ntype PersonWithToken = SpruceSchemas.SpruceCli.v2020_07_22.PersonWithToken\n\nexport interface SkillAuth {\n\tid: string\n\tapiKey: string\n\tname: string\n\tslug: string\n}\n\nconst LOGGED_IN_PERSON_KEY = 'LOGGED_IN_PERSON'\n\nexport default class AuthService {\n\tprivate env: EnvService\n\tprivate pkg: PkgService\n\n\tpublic constructor(envService: EnvService, pkgService: PkgService) {\n\t\tthis.env = envService\n\t\tthis.pkg = pkgService\n\t}\n\n\tpublic getLoggedInPerson(): PersonWithToken | null {\n\t\tconst p = this.env.get(LOGGED_IN_PERSON_KEY)\n\t\tif (typeof p === 'string') {\n\t\t\treturn JSON.parse(p)\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic setLoggedInPerson(person: PersonWithToken) {\n\t\tconst normalized = normalizeSchemaValues(personWithTokenSchema, person)\n\t\tvalidateSchemaValues(personWithTokenSchema, normalized)\n\n\t\tthis.env.set(\n\t\t\tLOGGED_IN_PERSON_KEY,\n\t\t\tJSON.stringify({\n\t\t\t\t...normalized,\n\t\t\t\tisLoggedIn: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tpublic logOutPerson() {\n\t\tthis.env.unset(LOGGED_IN_PERSON_KEY)\n\t}\n\n\tpublic getCurrentSkill(): SkillAuth | null {\n\t\tconst id = this.env.get('SKILL_ID') as string\n\t\tconst apiKey = this.env.get('SKILL_API_KEY') as string\n\t\tconst name = this.env.get('SKILL_NAME') as string\n\t\tconst slug = this.pkg.get('skill.namespace') as string\n\n\t\tif (id && apiKey) {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tapiKey,\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic logoutCurrentSkill() {\n\t\tthis.env.unset('SKILL_ID')\n\t\tthis.env.unset('SKILL_API_KEY')\n\t\tthis.env.unset('SKILL_NAME')\n\t}\n\n\tpublic updateCurrentSkill(skill: SkillAuth) {\n\t\tthis.env.set('SKILL_ID', skill.id)\n\t\tthis.env.set('SKILL_API_KEY', skill.apiKey)\n\t\tthis.env.set('SKILL_NAME', skill.name)\n\n\t\tthis.updateCurrentSkillNamespace(skill.slug)\n\t}\n\n\tpublic updateCurrentSkillNamespace(namespace: string) {\n\t\tthis.pkg.set({\n\t\t\tpath: 'skill.namespace',\n\t\t\tvalue: namesUtil.toKebab(namespace),\n\t\t})\n\t}\n}\n"],"file":"AuthService.js"}
@@ -1,8 +0,0 @@
1
-
2
- # Behavioral tests
3
-
4
- These are the tests that matter. They should test everything just under the interface. Interface tests can go into implementation since they'll often change.
5
-
6
- If all these pass, we ship.
7
-
8
-
@@ -1,95 +0,0 @@
1
- import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'
2
- import { test, assert } from '@sprucelabs/test'
3
- import { errorAssertUtil } from '@sprucelabs/test-utils'
4
- import AuthService from '../../services/AuthService'
5
- import AbstractCliTest from '../../tests/AbstractCliTest'
6
-
7
- export default class AuthServiceTest extends AbstractCliTest {
8
- private static auth: AuthService
9
- protected static async beforeEach() {
10
- await super.beforeEach()
11
- diskUtil.createDir(this.resolvePath(HASH_SPRUCE_DIR))
12
- this.auth = this.Service('auth')
13
- }
14
-
15
- @test()
16
- protected static async canInstantiatePersonStore() {
17
- assert.isTruthy(this.auth)
18
- }
19
-
20
- @test()
21
- protected static async hasLoggedInPersonMethod() {
22
- assert.isFunction(this.auth.getLoggedInPerson)
23
- }
24
-
25
- @test()
26
- protected static async loggedInPersonIsNullWhenNotLoggedIn() {
27
- assert.isNull(this.auth.getLoggedInPerson())
28
- }
29
-
30
- @test()
31
- protected static async cantSaveBadLoggedInPerson() {
32
- const err = assert.doesThrow(() =>
33
- //@ts-ignore
34
- this.auth.setLoggedInPerson({ test: true })
35
- )
36
-
37
- errorAssertUtil.assertError(err, 'MISSING_PARAMETERS')
38
- }
39
-
40
- @test()
41
- protected static canSaveLoggedInPerson() {
42
- const auth = this.auth
43
- const person = {
44
- id: 'test',
45
- casualName: 'friend',
46
- token: 'token',
47
- }
48
-
49
- auth.setLoggedInPerson(person)
50
-
51
- const loggedIn = auth.getLoggedInPerson()
52
-
53
- assert.isEqualDeep(loggedIn, { ...person, isLoggedIn: true })
54
- }
55
-
56
- @test()
57
- protected static canLogOut() {
58
- const auth = this.auth
59
- const person = {
60
- id: 'test',
61
- casualName: 'friend',
62
- token: 'token',
63
- }
64
-
65
- auth.setLoggedInPerson(person)
66
- auth.logOutPerson()
67
-
68
- assert.isNull(auth.getLoggedInPerson())
69
- }
70
-
71
- @test()
72
- protected static getCurrentSkillReturnsNull() {
73
- this.writePackageJson()
74
- assert.isNull(this.auth.getCurrentSkill())
75
- }
76
-
77
- @test()
78
- protected static canSetCurrentSkill() {
79
- this.writePackageJson()
80
- const skill = {
81
- id: '123467aaoeuaoeu',
82
- apiKey: 'taco',
83
- name: 'go team',
84
- slug: 'taco-bravo',
85
- }
86
-
87
- this.auth.updateCurrentSkill(skill)
88
-
89
- assert.isEqualDeep(this.auth.getCurrentSkill(), skill)
90
- }
91
-
92
- private static writePackageJson() {
93
- diskUtil.writeFile(this.resolvePath('package.json'), '{}')
94
- }
95
- }
@@ -1,5 +0,0 @@
1
- # Implementation Tests
2
-
3
- These tests help you build whatever you're building to solve the behavioral tests.
4
-
5
- Implementation tests can safely be deleted when they break when you are changing the implementation. At that point, you can create new ones.
@@ -1,5 +0,0 @@
1
- # Components
2
-
3
- Components are ways to collect lots of input form a user that you can reuse in multiple Commands.
4
-
5
- Commands and components are the only places you should be asking for input.
@@ -1,91 +0,0 @@
1
- import { SpruceSchemas } from '@sprucelabs/mercury-types'
2
- import { normalizeSchemaValues, validateSchemaValues } from '@sprucelabs/schema'
3
- import { EnvService, namesUtil } from '@sprucelabs/spruce-skill-utils'
4
- import personWithTokenSchema from '#spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema'
5
- import PkgService from './PkgService'
6
-
7
- type PersonWithToken = SpruceSchemas.SpruceCli.v2020_07_22.PersonWithToken
8
-
9
- export interface SkillAuth {
10
- id: string
11
- apiKey: string
12
- name: string
13
- slug: string
14
- }
15
-
16
- const LOGGED_IN_PERSON_KEY = 'LOGGED_IN_PERSON'
17
-
18
- export default class AuthService {
19
- private env: EnvService
20
- private pkg: PkgService
21
-
22
- public constructor(envService: EnvService, pkgService: PkgService) {
23
- this.env = envService
24
- this.pkg = pkgService
25
- }
26
-
27
- public getLoggedInPerson(): PersonWithToken | null {
28
- const p = this.env.get(LOGGED_IN_PERSON_KEY)
29
- if (typeof p === 'string') {
30
- return JSON.parse(p)
31
- }
32
-
33
- return null
34
- }
35
-
36
- public setLoggedInPerson(person: PersonWithToken) {
37
- const normalized = normalizeSchemaValues(personWithTokenSchema, person)
38
- validateSchemaValues(personWithTokenSchema, normalized)
39
-
40
- this.env.set(
41
- LOGGED_IN_PERSON_KEY,
42
- JSON.stringify({
43
- ...normalized,
44
- isLoggedIn: true,
45
- })
46
- )
47
- }
48
-
49
- public logOutPerson() {
50
- this.env.unset(LOGGED_IN_PERSON_KEY)
51
- }
52
-
53
- public getCurrentSkill(): SkillAuth | null {
54
- const id = this.env.get('SKILL_ID') as string
55
- const apiKey = this.env.get('SKILL_API_KEY') as string
56
- const name = this.env.get('SKILL_NAME') as string
57
- const slug = this.pkg.get('skill.namespace') as string
58
-
59
- if (id && apiKey) {
60
- return {
61
- id,
62
- apiKey,
63
- name,
64
- slug,
65
- }
66
- }
67
-
68
- return null
69
- }
70
-
71
- public logoutCurrentSkill() {
72
- this.env.unset('SKILL_ID')
73
- this.env.unset('SKILL_API_KEY')
74
- this.env.unset('SKILL_NAME')
75
- }
76
-
77
- public updateCurrentSkill(skill: SkillAuth) {
78
- this.env.set('SKILL_ID', skill.id)
79
- this.env.set('SKILL_API_KEY', skill.apiKey)
80
- this.env.set('SKILL_NAME', skill.name)
81
-
82
- this.updateCurrentSkillNamespace(skill.slug)
83
- }
84
-
85
- public updateCurrentSkillNamespace(namespace: string) {
86
- this.pkg.set({
87
- path: 'skill.namespace',
88
- value: namesUtil.toKebab(namespace),
89
- })
90
- }
91
- }