@sprucelabs/spruce-cli 15.2.5 → 15.2.8

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 (120) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +2 -2
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/BlockingCommands.test.js +2 -2
  5. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  6. package/build/__tests__/behavioral/DeployingASkill.test.js +10 -10
  7. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  8. package/build/__tests__/behavioral/DeployingToSandbox.test.js +1 -1
  9. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  10. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +5 -5
  11. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  12. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
  13. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  14. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +2 -2
  15. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RebuildingASkill.test.js +1 -1
  17. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  18. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +1 -1
  19. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +1 -1
  21. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  22. package/build/__tests__/behavioral/TestingAConversation.test.js +1 -1
  23. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  24. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
  25. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
  27. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +1 -1
  29. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  30. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
  31. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  32. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +1 -1
  33. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  34. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
  35. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  36. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -10
  37. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  38. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +6 -12
  39. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  40. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +1 -1
  41. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  42. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +1 -1
  43. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  44. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -2
  45. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  46. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +1 -1
  47. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  48. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +1 -1
  49. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  50. package/build/__tests__/behavioral/tests/RunningTests.test.js +1 -1
  51. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  52. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +1 -1
  53. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  54. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  55. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  56. package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
  57. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  58. package/build/__tests__/implementation/ActionExecuter.test.js +3 -9
  59. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  60. package/build/__tests__/implementation/ActionExecuter3.test.js +1 -1
  61. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  62. package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
  63. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  64. package/build/__tests__/implementation/BulkImporting.test.js +3 -3
  65. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  66. package/build/__tests__/implementation/DataStoreStore.test.js +2 -2
  67. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  68. package/build/__tests__/implementation/EventStore.test.js +2 -2
  69. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  70. package/build/__tests__/implementation/SchemaStore.test.js +8 -14
  71. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  72. package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
  73. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  74. package/build/__tests__/implementation/SkillStore.test.js +4 -4
  75. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  76. package/build/__tests__/implementation/TestRunner.test.js +1 -1
  77. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  78. package/build/features/schema/stores/SchemaStore.d.ts +16 -0
  79. package/build/features/schema/stores/SchemaStore.js +21 -10
  80. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  81. package/package.json +33 -33
  82. package/src/__tests__/behavioral/AddingADependency.test.ts +3 -3
  83. package/src/__tests__/behavioral/BlockingCommands.test.ts +3 -3
  84. package/src/__tests__/behavioral/DeployingASkill.test.ts +11 -11
  85. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +2 -2
  86. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +6 -6
  87. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
  88. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -3
  89. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  90. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -2
  91. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +2 -2
  92. package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
  93. package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +2 -2
  94. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +3 -3
  95. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -2
  96. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +3 -3
  97. package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +2 -2
  98. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +2 -2
  99. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  100. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +4 -4
  101. package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +2 -2
  102. package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +2 -2
  103. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -3
  104. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  105. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +2 -2
  106. package/src/__tests__/behavioral/tests/RunningTests.test.ts +2 -2
  107. package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +2 -2
  108. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +2 -2
  109. package/src/__tests__/behavioral/views/CreatingATheme.test.ts +2 -2
  110. package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
  111. package/src/__tests__/implementation/ActionExecuter3.test.ts +2 -2
  112. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  113. package/src/__tests__/implementation/BulkImporting.test.ts +4 -4
  114. package/src/__tests__/implementation/DataStoreStore.test.ts +3 -3
  115. package/src/__tests__/implementation/EventStore.test.ts +3 -3
  116. package/src/__tests__/implementation/SchemaStore.test.ts +6 -6
  117. package/src/__tests__/implementation/SettingUpANodeModule.test.ts +2 -2
  118. package/src/__tests__/implementation/SkillStore.test.ts +5 -5
  119. package/src/__tests__/implementation/TestRunner.test.ts +2 -2
  120. package/src/features/schema/stores/SchemaStore.ts +35 -3
@@ -2,6 +2,22 @@ import { Schema, FieldRegistration } from '@sprucelabs/schema';
2
2
  import SpruceError from '../../../errors/SpruceError';
3
3
  import AbstractStore from '../../../stores/AbstractStore';
4
4
  import { InternalUpdateHandler } from '../../../types/cli.types';
5
+ export declare const coreSchemas: {
6
+ personSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonSchema;
7
+ profileImageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.ProfileImageSchema;
8
+ skillSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SkillSchema;
9
+ skillCreatorSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema;
10
+ locationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.LocationSchema;
11
+ organizationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema;
12
+ personOrganizationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonOrganizationSchema;
13
+ personLocationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonLocationSchema;
14
+ roleSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.RoleSchema;
15
+ messageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSchema;
16
+ messageSourceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSourceSchema;
17
+ messageTargetSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageTargetSchema;
18
+ sendMessageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SendMessageSchema;
19
+ fullMessageChoicesSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.FullMessageChoicesSchema;
20
+ };
5
21
  export interface SchemasByNamespace {
6
22
  [namespace: string]: Schema[];
7
23
  }
@@ -2,12 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = void 0;
8
+ exports["default"] = exports.coreSchemas = void 0;
11
9
 
12
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
11
 
@@ -33,7 +31,7 @@ var _path = _interopRequireDefault(require("path"));
33
31
 
34
32
  var _schema = require("@sprucelabs/schema");
35
33
 
36
- var coreSchemas = _interopRequireWildcard(require("@sprucelabs/spruce-core-schemas"));
34
+ var _spruceCoreSchemas = require("@sprucelabs/spruce-core-schemas");
37
35
 
38
36
  var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
39
37
 
@@ -47,10 +45,6 @@ var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError")
47
45
 
48
46
  var _AbstractStore2 = _interopRequireDefault(require("../../../stores/AbstractStore"));
49
47
 
50
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
-
52
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
53
-
54
48
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
55
49
 
56
50
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -59,6 +53,23 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
59
53
 
60
54
  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; } }
61
55
 
56
+ var coreSchemas = {
57
+ personSchema: _spruceCoreSchemas.personSchema,
58
+ profileImageSchema: _spruceCoreSchemas.profileImageSchema,
59
+ skillSchema: _spruceCoreSchemas.skillSchema,
60
+ skillCreatorSchema: _spruceCoreSchemas.skillCreatorSchema,
61
+ locationSchema: _spruceCoreSchemas.locationSchema,
62
+ organizationSchema: _spruceCoreSchemas.organizationSchema,
63
+ personOrganizationSchema: _spruceCoreSchemas.personOrganizationSchema,
64
+ personLocationSchema: _spruceCoreSchemas.personLocationSchema,
65
+ roleSchema: _spruceCoreSchemas.roleSchema,
66
+ messageSchema: _spruceCoreSchemas.messageSchema,
67
+ messageSourceSchema: _spruceCoreSchemas.messageSourceSchema,
68
+ messageTargetSchema: _spruceCoreSchemas.messageTargetSchema,
69
+ sendMessageSchema: _spruceCoreSchemas.sendMessageSchema,
70
+ fullMessageChoicesSchema: _spruceCoreSchemas.fullMessageChoicesSchema
71
+ };
72
+ exports.coreSchemas = coreSchemas;
62
73
  var DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas';
63
74
 
64
75
  var SchemaStore = /*#__PURE__*/function (_AbstractStore) {
@@ -293,7 +304,7 @@ var SchemaStore = /*#__PURE__*/function (_AbstractStore) {
293
304
  } catch (err) {
294
305
  errors.push(new _SpruceError["default"]({
295
306
  code: 'SCHEMA_FAILED_TO_IMPORT',
296
- file: (_err$options$file = err === null || err === void 0 ? void 0 : (_err$options = err.options) === null || _err$options === void 0 ? void 0 : _err$options.file) !== null && _err$options$file !== void 0 ? _err$options$file : '**UNKWOWN**',
307
+ file: (_err$options$file = err === null || err === void 0 ? void 0 : (_err$options = err.options) === null || _err$options === void 0 ? void 0 : _err$options.file) !== null && _err$options$file !== void 0 ? _err$options$file : '**UNKNOWN**',
297
308
  originalError: (_err$originalError = err === null || err === void 0 ? void 0 : err.originalError) !== null && _err$originalError !== void 0 ? _err$originalError : err
298
309
  }));
299
310
  }
@@ -307,7 +318,7 @@ var SchemaStore = /*#__PURE__*/function (_AbstractStore) {
307
318
  _context4.t0 = _context4["catch"](6);
308
319
  throw new _SpruceError["default"]({
309
320
  code: 'SCHEMA_FAILED_TO_IMPORT',
310
- file: (_err$options$file2 = _context4.t0 === null || _context4.t0 === void 0 ? void 0 : (_err$options2 = _context4.t0.options) === null || _err$options2 === void 0 ? void 0 : _err$options2.file) !== null && _err$options$file2 !== void 0 ? _err$options$file2 : '**UNKWOWN**',
321
+ file: (_err$options$file2 = _context4.t0 === null || _context4.t0 === void 0 ? void 0 : (_err$options2 = _context4.t0.options) === null || _err$options2 === void 0 ? void 0 : _err$options2.file) !== null && _err$options$file2 !== void 0 ? _err$options$file2 : '**UNKNOWN**',
311
322
  originalError: (_err$originalError2 = _context4.t0 === null || _context4.t0 === void 0 ? void 0 : _context4.t0.originalError) !== null && _err$originalError2 !== void 0 ? _err$originalError2 : _context4.t0
312
323
  });
313
324
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"names":["DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","coreSchemas","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport * as coreSchemas from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKWOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKWOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"file":"SchemaStore.js"}
1
+ {"version":3,"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"names":["coreSchemas","personSchema","profileImageSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","fullMessageChoicesSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"file":"SchemaStore.js"}
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "15.2.5",
21
+ "version": "15.2.8",
22
22
  "bin": {
23
23
  "spruce": "./build/index.js"
24
24
  },
@@ -72,25 +72,25 @@
72
72
  "watch.tsc": "tsc -w --sourceMap"
73
73
  },
74
74
  "dependencies": {
75
- "@babel/cli": "^7.17.3",
75
+ "@babel/cli": "^7.17.6",
76
76
  "@babel/plugin-proposal-decorators": "^7.17.2",
77
77
  "@babel/runtime": "^7.17.2",
78
78
  "@jest/reporters": "^27.5.1",
79
- "@sprucelabs/error": "^5.0.401",
80
- "@sprucelabs/heartwood-view-controllers": "^64.3.5",
81
- "@sprucelabs/jest-json-reporter": "^6.0.327",
82
- "@sprucelabs/mercury-client": "^21.0.82",
83
- "@sprucelabs/mercury-event-emitter": "^21.0.82",
84
- "@sprucelabs/mercury-types": "^27.0.108",
85
- "@sprucelabs/schema": "^26.0.104",
86
- "@sprucelabs/spruce-core-schemas": "^23.0.107",
87
- "@sprucelabs/spruce-event-plugin": "^25.0.12",
88
- "@sprucelabs/spruce-event-utils": "^18.0.113",
89
- "@sprucelabs/spruce-skill-booter": "^25.0.12",
90
- "@sprucelabs/spruce-skill-utils": "^24.1.55",
91
- "@sprucelabs/spruce-templates": "^15.2.5",
92
- "@typescript-eslint/eslint-plugin": "^5.12.0",
93
- "@typescript-eslint/parser": "^5.12.0",
79
+ "@sprucelabs/error": "^5.0.409",
80
+ "@sprucelabs/heartwood-view-controllers": "^65.3.12",
81
+ "@sprucelabs/jest-json-reporter": "^6.0.333",
82
+ "@sprucelabs/mercury-client": "^21.0.125",
83
+ "@sprucelabs/mercury-event-emitter": "^21.0.125",
84
+ "@sprucelabs/mercury-types": "^27.0.146",
85
+ "@sprucelabs/schema": "^27.0.7",
86
+ "@sprucelabs/spruce-core-schemas": "^25.0.11",
87
+ "@sprucelabs/spruce-event-plugin": "^25.1.14",
88
+ "@sprucelabs/spruce-event-utils": "^18.0.150",
89
+ "@sprucelabs/spruce-skill-booter": "^25.1.14",
90
+ "@sprucelabs/spruce-skill-utils": "^25.0.7",
91
+ "@sprucelabs/spruce-templates": "^15.2.8",
92
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
93
+ "@typescript-eslint/parser": "^5.13.0",
94
94
  "cfonts": "^2.10.0",
95
95
  "chalk": "^4.1.2",
96
96
  "chokidar": "^3.5.3",
@@ -98,7 +98,7 @@
98
98
  "commander": "^7.2.0",
99
99
  "core-js": "^3.21.1",
100
100
  "emphasize": "^4.2.0",
101
- "fs-extra": "^10.0.0",
101
+ "fs-extra": "^10.0.1",
102
102
  "gifwrap": "SimenB/gifwrap#patch-1",
103
103
  "globby": "^11.0.4",
104
104
  "inflection": "^1.13.2",
@@ -119,26 +119,26 @@
119
119
  "uuid": "^8.3.2"
120
120
  },
121
121
  "devDependencies": {
122
- "@sprucelabs/data-stores": "^8.0.113",
123
- "@sprucelabs/jest-sheets-reporter": "^1.3.11",
124
- "@sprucelabs/mercury-core-events": "^2.0.112",
125
- "@sprucelabs/resolve-path-aliases": "^1.0.260",
126
- "@sprucelabs/spruce-conversation-plugin": "^25.0.12",
127
- "@sprucelabs/spruce-deploy-plugin": "^25.0.12",
128
- "@sprucelabs/spruce-store-plugin": "^25.0.12",
129
- "@sprucelabs/spruce-test-fixtures": "^25.0.12",
130
- "@sprucelabs/test": "^7.7.281",
131
- "@sprucelabs/test-utils": "^3.0.443",
122
+ "@sprucelabs/data-stores": "^9.0.11",
123
+ "@sprucelabs/jest-sheets-reporter": "^1.3.17",
124
+ "@sprucelabs/mercury-core-events": "^2.1.14",
125
+ "@sprucelabs/resolve-path-aliases": "^1.1.3",
126
+ "@sprucelabs/spruce-conversation-plugin": "^25.1.14",
127
+ "@sprucelabs/spruce-deploy-plugin": "^25.1.14",
128
+ "@sprucelabs/spruce-store-plugin": "^25.1.14",
129
+ "@sprucelabs/spruce-test-fixtures": "^25.1.14",
130
+ "@sprucelabs/test": "^7.7.284",
131
+ "@sprucelabs/test-utils": "^3.0.483",
132
132
  "@types/blessed": "^0.1.19",
133
133
  "@types/eslint": "^8.4.1",
134
134
  "@types/fs-extra": "^9.0.13",
135
135
  "@types/inflection": "^1.13.0",
136
136
  "@types/inquirer": "^8.2.0",
137
137
  "@types/jsonwebtoken": "^8.5.8",
138
- "@types/lodash": "^4.14.178",
138
+ "@types/lodash": "^4.14.179",
139
139
  "@types/md5": "^2.3.2",
140
140
  "@types/mkdirp": "^1.0.2",
141
- "@types/node": "^17.0.18",
141
+ "@types/node": "^17.0.21",
142
142
  "@types/promise.allsettled": "^1.0.3",
143
143
  "@types/ps-node": "^0.1.1",
144
144
  "@types/rimraf": "^3.0.2",
@@ -152,7 +152,7 @@
152
152
  "concurrently": "^7.0.0",
153
153
  "conventional-changelog-sprucelabs": "^1.1.2",
154
154
  "dotenv": "^16.0.0",
155
- "eslint": "^8.9.0",
155
+ "eslint": "^8.10.0",
156
156
  "eslint-config-spruce": "^10.11.2",
157
157
  "find-process": "^1.4.7",
158
158
  "jest": "^27.5.1",
@@ -166,7 +166,7 @@
166
166
  "ts-node": "^10.5.0",
167
167
  "tsc-watch": "^4.6.0",
168
168
  "tsconfig-paths": "^3.12.0",
169
- "typescript": "^4.5.5"
169
+ "typescript": "^4.6.2"
170
170
  },
171
171
  "testSkillCache": {
172
172
  "everything": [
@@ -597,5 +597,5 @@
597
597
  "ora"
598
598
  ]
599
599
  },
600
- "gitHead": "e39836705c93466a814e7bd120fc00393f5f7a65"
600
+ "gitHead": "6b85a7493065455fed8fbf256f473baba5e424a5"
601
601
  }
@@ -1,5 +1,5 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
- import { errorAssertUtil } from '@sprucelabs/test-utils'
2
+ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
4
4
  import uiAssert from '../../tests/utilities/uiAssert.utility'
5
5
 
@@ -28,7 +28,7 @@ export default class ConfiguringDependenciesTest extends AbstractSkillTest {
28
28
 
29
29
  assert.isTruthy(results.errors)
30
30
 
31
- errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')
31
+ errorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')
32
32
  }
33
33
 
34
34
  @test()
@@ -65,7 +65,7 @@ export default class ConfiguringDependenciesTest extends AbstractSkillTest {
65
65
  })
66
66
  )
67
67
 
68
- errorAssertUtil.assertError(err, 'DEPENDENCY_EXISTS')
68
+ errorAssert.assertError(err, 'DEPENDENCY_EXISTS')
69
69
  }
70
70
 
71
71
  @test()
@@ -1,5 +1,5 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
- import { errorAssertUtil } from '@sprucelabs/test-utils'
2
+ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
4
4
  import MockProgramFactory from '../../tests/MockProgramFactory'
5
5
 
@@ -23,7 +23,7 @@ export default class OverridingCommandsInPackageJsonTest extends AbstractSkillTe
23
23
  const results = await executer.Action('schema', 'sync').execute()
24
24
 
25
25
  assert.isTruthy(results.errors)
26
- errorAssertUtil.assertError(results.errors[0], 'COMMAND_BLOCKED')
26
+ errorAssert.assertError(results.errors[0], 'COMMAND_BLOCKED')
27
27
  }
28
28
 
29
29
  @test()
@@ -50,6 +50,6 @@ export default class OverridingCommandsInPackageJsonTest extends AbstractSkillTe
50
50
  })
51
51
 
52
52
  assert.isTruthy(results.errors)
53
- errorAssertUtil.assertError(results.errors[0], 'COMMAND_BLOCKED')
53
+ errorAssert.assertError(results.errors[0], 'COMMAND_BLOCKED')
54
54
  }
55
55
  }
@@ -1,6 +1,6 @@
1
1
  import { diskUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { test, assert } from '@sprucelabs/test'
3
- import { errorAssertUtil } from '@sprucelabs/test-utils'
3
+ import { errorAssert } from '@sprucelabs/test-utils'
4
4
  import CommandService from '../../services/CommandService'
5
5
  import AbstractCliTest from '../../tests/AbstractCliTest'
6
6
  import testUtil from '../../tests/utilities/test.utility'
@@ -72,7 +72,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
72
72
 
73
73
  assert.isTruthy(results.errors)
74
74
  assert.isArray(results.errors)
75
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
75
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
76
76
  stage: 'skill',
77
77
  })
78
78
  }
@@ -93,7 +93,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
93
93
 
94
94
  assert.isTruthy(results.errors)
95
95
  assert.isArray(results.errors)
96
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
96
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
97
97
  stage: 'building',
98
98
  })
99
99
  }
@@ -134,7 +134,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
134
134
 
135
135
  assert.isTruthy(results.errors)
136
136
  assert.isArray(results.errors)
137
- errorAssertUtil.assertError(results.errors[0], 'TEST_FAILED')
137
+ errorAssert.assertError(results.errors[0], 'TEST_FAILED')
138
138
  }
139
139
 
140
140
  @test()
@@ -155,7 +155,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
155
155
 
156
156
  assert.isTruthy(results.errors)
157
157
 
158
- errorAssertUtil.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
158
+ errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
159
159
  'dependencies[0].name': 'heroku',
160
160
  })
161
161
  }
@@ -178,7 +178,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
178
178
 
179
179
  assert.isTruthy(results.errors)
180
180
 
181
- errorAssertUtil.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
181
+ errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
182
182
  'dependencies[0].name': 'git',
183
183
  })
184
184
  }
@@ -208,7 +208,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
208
208
  const results = await promise
209
209
  assert.isTruthy(results.errors)
210
210
 
211
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
211
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
212
212
  stage: 'git',
213
213
  })
214
214
  }
@@ -260,7 +260,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
260
260
 
261
261
  assert.isTruthy(results.errors)
262
262
 
263
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
263
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
264
264
  stage: 'heroku',
265
265
  })
266
266
  }
@@ -289,7 +289,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
289
289
 
290
290
  assert.isTruthy(results.errors)
291
291
 
292
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
292
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
293
293
  stage: 'procfile',
294
294
  })
295
295
  }
@@ -352,7 +352,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
352
352
 
353
353
  assert.isTruthy(results.errors)
354
354
 
355
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
355
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
356
356
  stage: 'remote',
357
357
  })
358
358
  }
@@ -454,7 +454,7 @@ export default class DeployingASkillTest extends AbstractCliTest {
454
454
 
455
455
  assert.isTruthy(results.errors)
456
456
 
457
- errorAssertUtil.assertError(results.errors[0], 'DEPLOY_FAILED', {
457
+ errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
458
458
  stage: 'git',
459
459
  })
460
460
  }
@@ -1,7 +1,7 @@
1
1
  import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'
2
2
  import { versionUtil } from '@sprucelabs/spruce-skill-utils'
3
3
  import { test, assert } from '@sprucelabs/test'
4
- import { errorAssertUtil } from '@sprucelabs/test-utils'
4
+ import { errorAssert } from '@sprucelabs/test-utils'
5
5
  import AbstractCliTest from '../../tests/AbstractCliTest'
6
6
  import testUtil from '../../tests/utilities/test.utility'
7
7
  import { ApiClient } from '../../types/apiClient.types'
@@ -68,7 +68,7 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
68
68
 
69
69
  assert.isTruthy(results.errors)
70
70
 
71
- errorAssertUtil.assertError(results.errors[0], 'MISSING_PARAMETERS', {
71
+ errorAssert.assertError(results.errors[0], 'MISSING_PARAMETERS', {
72
72
  parameters: ['env.SKILL_NAME', 'env.SKILL_SLUG'],
73
73
  })
74
74
  }
@@ -1,5 +1,5 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
- import { errorAssertUtil } from '@sprucelabs/test-utils'
2
+ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import {
4
4
  DISABLE_NPM_CACHE_COMMAND,
5
5
  ENABLE_NPM_CACHE_COMMAND,
@@ -28,7 +28,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
28
28
  const results = await this.Action('cache', 'enable').execute({})
29
29
  assert.isTruthy(results.errors)
30
30
 
31
- errorAssertUtil.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
31
+ errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
32
32
  dependencies: [
33
33
  {
34
34
  name: 'Docker',
@@ -46,7 +46,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
46
46
  const results = await this.Action('cache', 'enable').execute({})
47
47
  assert.isTruthy(results.errors)
48
48
 
49
- errorAssertUtil.assertError(results.errors[0], 'DOCKER_NOT_STARTED')
49
+ errorAssert.assertError(results.errors[0], 'DOCKER_NOT_STARTED')
50
50
  }
51
51
 
52
52
  @test()
@@ -79,7 +79,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
79
79
  const results = await this.Action('cache', 'disable').execute({})
80
80
  assert.isTruthy(results.errors)
81
81
 
82
- errorAssertUtil.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
82
+ errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
83
83
  dependencies: [
84
84
  {
85
85
  name: 'Docker',
@@ -100,7 +100,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
100
100
  const results = await this.Action('cache', 'disable').execute({})
101
101
  assert.isTruthy(results.errors)
102
102
 
103
- errorAssertUtil.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
103
+ errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
104
104
  dependencies: [
105
105
  {
106
106
  name: 'Docker',
@@ -119,7 +119,7 @@ export default class EnablingAndDisablingCacheTest extends AbstractCliTest {
119
119
  const results = await this.Action('cache', 'disable').execute({})
120
120
  assert.isTruthy(results.errors)
121
121
 
122
- errorAssertUtil.assertError(results.errors[0], 'CACHE_NOT_ENABLED')
122
+ errorAssert.assertError(results.errors[0], 'CACHE_NOT_ENABLED')
123
123
  }
124
124
 
125
125
  @test()
@@ -1,6 +1,6 @@
1
1
  import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'
2
2
  import { test, assert, assertUtil } from '@sprucelabs/test'
3
- import { errorAssertUtil } from '@sprucelabs/test-utils'
3
+ import { errorAssert } from '@sprucelabs/test-utils'
4
4
  import AbstractCliTest from '../../tests/AbstractCliTest'
5
5
 
6
6
  export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
@@ -51,7 +51,7 @@ export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
51
51
  const anonResults = await this.Action('organization', 'install').execute({})
52
52
 
53
53
  assert.isTruthy(anonResults.errors)
54
- errorAssertUtil.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')
54
+ errorAssert.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')
55
55
  }
56
56
 
57
57
  @test()
@@ -65,7 +65,7 @@ export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
65
65
  const anonResults = await this.Action('organization', 'install').execute({})
66
66
 
67
67
  assert.isTruthy(anonResults.errors)
68
- errorAssertUtil.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')
68
+ errorAssert.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')
69
69
  }
70
70
 
71
71
  @test()
@@ -1,5 +1,5 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
- import { errorAssertUtil } from '@sprucelabs/test-utils'
2
+ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
4
4
  import { RegisteredSkill } from '../../types/cli.types'
5
5
 
@@ -44,7 +44,7 @@ export default class LoggingInAsASkillTest extends AbstractSkillTest {
44
44
 
45
45
  assert.isTruthy(results.errors)
46
46
  assert.isLength(results.errors, 1)
47
- errorAssertUtil.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')
47
+ errorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')
48
48
  }
49
49
 
50
50
  private static async login() {
@@ -110,7 +110,7 @@ export default class LoggingInAsASkillTest extends AbstractSkillTest {
110
110
 
111
111
  assert.isTruthy(results.errors)
112
112
 
113
- errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND')
113
+ errorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')
114
114
  }
115
115
 
116
116
  @test()
@@ -1,5 +1,5 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
- import { errorAssertUtil } from '@sprucelabs/test-utils'
2
+ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import CommandService from '../../services/CommandService'
4
4
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
5
5
 
@@ -32,6 +32,6 @@ export default class RebuildingASkillTest extends AbstractSkillTest {
32
32
 
33
33
  assert.isArray(results.errors)
34
34
 
35
- errorAssertUtil.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')
35
+ errorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')
36
36
  }
37
37
  }
@@ -1,6 +1,6 @@
1
1
  import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { test, assert } from '@sprucelabs/test'
3
- import { errorAssertUtil } from '@sprucelabs/test-utils'
3
+ import { errorAssert } from '@sprucelabs/test-utils'
4
4
  import LintService from '../../services/LintService'
5
5
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
6
6
  import testUtil from '../../tests/utilities/test.utility'
@@ -42,7 +42,7 @@ export default class SettingLogTransportsInASkillTest extends AbstractSkillTest
42
42
  protected static async cantCreateTransportThatAlreadyExists() {
43
43
  const results = await this.createTransport('Slack')
44
44
  assert.isTruthy(results.errors)
45
- errorAssertUtil.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {
45
+ errorAssert.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {
46
46
  name: 'Slack',
47
47
  })
48
48
  }