@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
102 lines • 4.21 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const spruce_templates_1 = require("@sprucelabs/spruce-templates");
const CacheFeature_1 = __importDefault(require("./cache/CacheFeature"));
const ConversationFeature_1 = __importDefault(require("./conversation/ConversationFeature"));
const DependencyFeature_1 = __importDefault(require("./dependencies/DependencyFeature"));
const DeployFeature_1 = __importDefault(require("./deploy/DeployFeature"));
const ErrorFeature_1 = __importDefault(require("./error/ErrorFeature"));
const EventFeature_1 = __importDefault(require("./event/EventFeature"));
const EventContractFeature_1 = __importDefault(require("./eventContract/EventContractFeature"));
const FeatureInstaller_1 = require("./FeatureInstaller");
const LogFeature_1 = __importDefault(require("./log/LogFeature"));
const NodeFeature_1 = __importDefault(require("./node/NodeFeature"));
const OnboardFeature_1 = __importDefault(require("./onboard/OnboardFeature"));
const OrganizationFeature_1 = __importDefault(require("./organization/OrganizationFeature"));
const PermissionFeature_1 = __importDefault(require("./permission/PermissionFeature"));
const PersonFeature_1 = __importDefault(require("./person/PersonFeature"));
const PolishFeature_1 = __importDefault(require("./polish/PolishFeature"));
const SandboxFeature_1 = __importDefault(require("./sandbox/SandboxFeature"));
const SchemaFeature_1 = __importDefault(require("./schema/SchemaFeature"));
const SkillFeature_1 = __importDefault(require("./skill/SkillFeature"));
const StoreFeature_1 = __importDefault(require("./store/StoreFeature"));
const TestFeature_1 = __importDefault(require("./test/TestFeature"));
const ViewFeature_1 = __importDefault(require("./view/ViewFeature"));
const VsCodeFeature_1 = __importDefault(require("./vscode/VsCodeFeature"));
const WatchFeature_1 = __importDefault(require("./watch/WatchFeature"));
class FeatureInstallerFactory {
static features = [
ErrorFeature_1.default,
SchemaFeature_1.default,
SkillFeature_1.default,
TestFeature_1.default,
VsCodeFeature_1.default,
EventFeature_1.default,
WatchFeature_1.default,
NodeFeature_1.default,
OnboardFeature_1.default,
PersonFeature_1.default,
OrganizationFeature_1.default,
ConversationFeature_1.default,
EventContractFeature_1.default,
DeployFeature_1.default,
SandboxFeature_1.default,
StoreFeature_1.default,
ViewFeature_1.default,
CacheFeature_1.default,
LogFeature_1.default,
DependencyFeature_1.default,
PolishFeature_1.default,
PermissionFeature_1.default,
];
static featureCodes = [
'error',
'schema',
'skill',
'test',
'vscode',
'event',
'watch',
'node',
'onboard',
'person',
'organization',
'conversation',
'eventContract',
'deploy',
'sandbox',
'store',
'view',
'cache',
'log',
'dependency',
'polish',
'permission',
];
static WithAllFeatures(options) {
const { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter, } = options;
const featureInstaller = options.featureInstaller ??
new FeatureInstaller_1.FeatureInstallerImpl(cwd, serviceFactory);
const featureOptions = {
cwd,
serviceFactory,
templates: spruce_templates_1.templates,
storeFactory,
featureInstaller,
ui,
emitter,
actionExecuter,
apiClientFactory: options.apiClientFactory,
};
this.features.forEach((Feature) => {
const feature = new Feature(featureOptions);
featureInstaller.mapFeature(feature.code, feature);
});
return featureInstaller;
}
}
exports.default = FeatureInstallerFactory;
//# sourceMappingURL=FeatureInstallerFactory.js.map