@sprucelabs/spruce-cli 15.2.6 → 15.2.7
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.
- package/CHANGELOG.md +8 -0
- package/build/__tests__/behavioral/AddingADependency.test.js +2 -2
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +2 -2
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +10 -10
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +5 -5
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +2 -2
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -10
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +6 -12
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -2
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +3 -9
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +3 -3
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +2 -2
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +2 -2
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +8 -14
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +4 -4
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.d.ts +16 -0
- package/build/features/schema/stores/SchemaStore.js +21 -10
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/package.json +33 -33
- package/src/__tests__/behavioral/AddingADependency.test.ts +3 -3
- package/src/__tests__/behavioral/BlockingCommands.test.ts +3 -3
- package/src/__tests__/behavioral/DeployingASkill.test.ts +11 -11
- package/src/__tests__/behavioral/DeployingToSandbox.test.ts +2 -2
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +6 -6
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -3
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
- package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -2
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +2 -2
- package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +2 -2
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +3 -3
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -2
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +3 -3
- package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +4 -4
- package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +2 -2
- package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +2 -2
- package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -3
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
- package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +2 -2
- package/src/__tests__/behavioral/tests/RunningTests.test.ts +2 -2
- package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +2 -2
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter3.test.ts +2 -2
- package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
- package/src/__tests__/implementation/BulkImporting.test.ts +4 -4
- package/src/__tests__/implementation/DataStoreStore.test.ts +3 -3
- package/src/__tests__/implementation/EventStore.test.ts +3 -3
- package/src/__tests__/implementation/SchemaStore.test.ts +6 -6
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +2 -2
- package/src/__tests__/implementation/SkillStore.test.ts +5 -5
- package/src/__tests__/implementation/TestRunner.test.ts +2 -2
- 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
|
|
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 : '**
|
|
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 : '**
|
|
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.
|
|
21
|
+
"version": "15.2.7",
|
|
22
22
|
"bin": {
|
|
23
23
|
"spruce": "./build/index.js"
|
|
24
24
|
},
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build.ci": "yarn build.babel && yarn build.types && yarn build.resolve-paths && yarn lint",
|
|
44
44
|
"build.dev": "yarn build.babel ; yarn build.types.resolve-paths.lint",
|
|
45
|
-
"build.babel": "babel src --out-dir build --extensions \".ts,.tsx\" --root-mode upward --source-maps --copy-files",
|
|
45
|
+
"build.babel": "NODE_OPTIONS=--max_old_space_size=6144 babel src --out-dir build --extensions \".ts,.tsx\" --root-mode upward --source-maps --copy-files",
|
|
46
46
|
"build.babel.debug": "node --inspect-brk=5200 ../../node_modules/.bin/babel src --out-dir build --extensions \".ts,.tsx\" --root-mode upward --source-maps --copy-files",
|
|
47
|
-
"build.types": "tsc --emitDeclarationOnly && echo PASS TYPES || (echo FAIL TYPES && false)",
|
|
47
|
+
"build.types": "NODE_OPTIONS=--max_old_space_size=6144 tsc --emitDeclarationOnly && echo PASS TYPES || (echo FAIL TYPES && false)",
|
|
48
48
|
"build.resolve-paths": "resolve-path-aliases --target build --patterns '**/*.js,**/*.d.ts'",
|
|
49
49
|
"build.types.resolve-paths.lint": "yarn build.types && yarn resolve-paths.lint",
|
|
50
50
|
"resolve-paths.lint": "yarn build.resolve-paths ; yarn lint",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"clean.cache": "rm -rf src/.spruce/tmp && node build/tests/cleanTestCache ; echo '******** TEST CACHE CLEARED ********'",
|
|
57
57
|
"clean.cache.disabled": "echo 'CLEAN.CACHE DISABLED'",
|
|
58
58
|
"clean.dependencies": "rm -rf node_modules/ package-lock.json yarn.lock",
|
|
59
|
-
"fix.lint": "eslint --fix --cache '**/*.ts'",
|
|
60
|
-
"lint": "eslint --cache '**/*.ts'",
|
|
59
|
+
"fix.lint": "NODE_OPTIONS=--max_old_space_size=6144 eslint --fix --cache '**/*.ts'",
|
|
60
|
+
"lint": "NODE_OPTIONS=--max_old_space_size=6144 eslint --cache '**/*.ts'",
|
|
61
61
|
"lint.tsc": "tsc --noEmit && echo 'spruce-cli PASS'",
|
|
62
62
|
"local": "DEBUG=@sprucelabs/cli~debug node --inspect=5200 . $COMMANDS ; echo 'DONE'",
|
|
63
63
|
"rebuild": "cd ../ && yarn rebuild",
|
|
@@ -65,30 +65,30 @@
|
|
|
65
65
|
"start": "DEBUG=@sprucelabs/cli~debug node . $COMMANDS",
|
|
66
66
|
"test": "yarn cache.tests && jest",
|
|
67
67
|
"update.dependencies": "cd ../ && yarn update.dependencies",
|
|
68
|
-
"watch.build.dev": "concurrently 'tsc --emitDeclarationOnly -w' 'yarn build.babel --watch' \"chokidar 'src/**/*' --ignore '.*/tmp/.*' -c 'yarn build.resolve-paths'\"",
|
|
68
|
+
"watch.build.dev": "concurrently 'NODE_OPTIONS=--max_old_space_size=6144 tsc --emitDeclarationOnly -w' 'yarn build.babel --watch' \"chokidar 'src/**/*' --ignore '.*/tmp/.*' -c 'yarn build.resolve-paths'\"",
|
|
69
69
|
"watch.lint": "chokidar 'src/**/*' '../spruce-templates/src/**' -c 'yarn lint.tsc'",
|
|
70
70
|
"watch.rebuild": "cd ../ && yarn watch.rebuild",
|
|
71
71
|
"watch.tests": "yarn cache.tests && jest --watch",
|
|
72
|
-
"watch.tsc": "tsc -w --sourceMap"
|
|
72
|
+
"watch.tsc": "NODE_OPTIONS=--max_old_space_size=6144 tsc -w --sourceMap"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
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.
|
|
80
|
-
"@sprucelabs/heartwood-view-controllers": "^
|
|
81
|
-
"@sprucelabs/jest-json-reporter": "^6.0.
|
|
82
|
-
"@sprucelabs/mercury-client": "^21.0.
|
|
83
|
-
"@sprucelabs/mercury-event-emitter": "^21.0.
|
|
84
|
-
"@sprucelabs/mercury-types": "^27.0.
|
|
85
|
-
"@sprucelabs/schema": "^
|
|
86
|
-
"@sprucelabs/spruce-core-schemas": "^
|
|
87
|
-
"@sprucelabs/spruce-event-plugin": "^25.
|
|
88
|
-
"@sprucelabs/spruce-event-utils": "^18.0.
|
|
89
|
-
"@sprucelabs/spruce-skill-booter": "^25.
|
|
90
|
-
"@sprucelabs/spruce-skill-utils": "^
|
|
91
|
-
"@sprucelabs/spruce-templates": "^15.2.
|
|
79
|
+
"@sprucelabs/error": "^5.0.405",
|
|
80
|
+
"@sprucelabs/heartwood-view-controllers": "^65.0.2",
|
|
81
|
+
"@sprucelabs/jest-json-reporter": "^6.0.331",
|
|
82
|
+
"@sprucelabs/mercury-client": "^21.0.117",
|
|
83
|
+
"@sprucelabs/mercury-event-emitter": "^21.0.117",
|
|
84
|
+
"@sprucelabs/mercury-types": "^27.0.139",
|
|
85
|
+
"@sprucelabs/schema": "^27.0.1",
|
|
86
|
+
"@sprucelabs/spruce-core-schemas": "^25.0.4",
|
|
87
|
+
"@sprucelabs/spruce-event-plugin": "^25.1.9",
|
|
88
|
+
"@sprucelabs/spruce-event-utils": "^18.0.143",
|
|
89
|
+
"@sprucelabs/spruce-skill-booter": "^25.1.9",
|
|
90
|
+
"@sprucelabs/spruce-skill-utils": "^25.0.1",
|
|
91
|
+
"@sprucelabs/spruce-templates": "^15.2.7",
|
|
92
92
|
"@typescript-eslint/eslint-plugin": "^5.12.1",
|
|
93
93
|
"@typescript-eslint/parser": "^5.12.1",
|
|
94
94
|
"cfonts": "^2.10.0",
|
|
@@ -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.
|
|
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,16 +119,16 @@
|
|
|
119
119
|
"uuid": "^8.3.2"
|
|
120
120
|
},
|
|
121
121
|
"devDependencies": {
|
|
122
|
-
"@sprucelabs/data-stores": "^
|
|
123
|
-
"@sprucelabs/jest-sheets-reporter": "^1.3.
|
|
124
|
-
"@sprucelabs/mercury-core-events": "^2.
|
|
125
|
-
"@sprucelabs/resolve-path-aliases": "^1.
|
|
126
|
-
"@sprucelabs/spruce-conversation-plugin": "^25.
|
|
127
|
-
"@sprucelabs/spruce-deploy-plugin": "^25.
|
|
128
|
-
"@sprucelabs/spruce-store-plugin": "^25.
|
|
129
|
-
"@sprucelabs/spruce-test-fixtures": "^25.
|
|
130
|
-
"@sprucelabs/test": "^7.7.
|
|
131
|
-
"@sprucelabs/test-utils": "^3.0.
|
|
122
|
+
"@sprucelabs/data-stores": "^9.0.3",
|
|
123
|
+
"@sprucelabs/jest-sheets-reporter": "^1.3.15",
|
|
124
|
+
"@sprucelabs/mercury-core-events": "^2.1.7",
|
|
125
|
+
"@sprucelabs/resolve-path-aliases": "^1.1.1",
|
|
126
|
+
"@sprucelabs/spruce-conversation-plugin": "^25.1.9",
|
|
127
|
+
"@sprucelabs/spruce-deploy-plugin": "^25.1.9",
|
|
128
|
+
"@sprucelabs/spruce-store-plugin": "^25.1.9",
|
|
129
|
+
"@sprucelabs/spruce-test-fixtures": "^25.1.9",
|
|
130
|
+
"@sprucelabs/test": "^7.7.282",
|
|
131
|
+
"@sprucelabs/test-utils": "^3.0.479",
|
|
132
132
|
"@types/blessed": "^0.1.19",
|
|
133
133
|
"@types/eslint": "^8.4.1",
|
|
134
134
|
"@types/fs-extra": "^9.0.13",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"@types/lodash": "^4.14.178",
|
|
139
139
|
"@types/md5": "^2.3.2",
|
|
140
140
|
"@types/mkdirp": "^1.0.2",
|
|
141
|
-
"@types/node": "^17.0.
|
|
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",
|
|
@@ -597,5 +597,5 @@
|
|
|
597
597
|
"ora"
|
|
598
598
|
]
|
|
599
599
|
},
|
|
600
|
-
"gitHead": "
|
|
600
|
+
"gitHead": "07f646ce3148e8d2ef0484c1634eea2797c44e88"
|
|
601
601
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test, assert } from '@sprucelabs/test'
|
|
2
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
45
|
+
errorAssert.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {
|
|
46
46
|
name: 'Slack',
|
|
47
47
|
})
|
|
48
48
|
}
|