intreface.cli
Version:
Intreface Dev Tools
99 lines (98 loc) • 3.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.linkTypeSelect = exports.gitRepositorySelect = exports.confirmRemove = exports.projectIp = exports.projectNameSelect = exports.projectName = exports.gitPassword = exports.gitLogin = exports.mysqlPassword = exports.mysqlLogin = exports.directoryBitrix = exports.directoryRepository = exports.directoryServer = void 0;
const validator_1 = require("./validator");
const objectPath = require("object-path");
const path = require("path");
const system_1 = require("./system");
const io_1 = require("./io");
exports.directoryServer = {
name: 'directoryServer',
message: 'Location server environment',
type: 'input',
validate: validator_1.validateDirectoryExist
};
exports.directoryRepository = {
name: 'directoryRepository',
message: 'Location of git repositories',
type: 'input',
validate: validator_1.validateDirectoryExist
};
exports.directoryBitrix = {
name: 'directoryBitrix',
message: 'Location of bitrix projects',
type: 'input',
validate: validator_1.validateDirectoryExist
};
exports.mysqlLogin = {
name: 'mysqlLogin',
message: 'MySQL login',
type: 'input',
validate: validator_1.validateStringNotEmpty
};
exports.mysqlPassword = {
name: 'mysqlPassword',
message: 'MySQL password',
type: 'password'
};
exports.gitLogin = {
name: 'gitLogin',
message: 'Git/BitBucket login',
type: 'input',
validate: validator_1.validateStringNotEmpty
};
exports.gitPassword = {
name: 'gitPassword',
message: 'Git/BitBucket password',
type: 'password',
validate: validator_1.validateStringNotEmpty
};
exports.projectName = {
name: 'projectName',
message: 'Project name [ex. intreface.com]',
type: 'input',
validate: validator_1.validateStringNotEmpty
};
exports.projectNameSelect = {
name: 'projectName',
message: 'Project name',
type: 'list',
choices() {
const config = objectPath(system_1.readConfig());
let list = system_1.getDirectoryList(config.get('directory.bitrix'));
return list.filter(item => {
return !io_1.isFileExist(path.join(config.get('directory.bitrix'), item, '.cli.ignore'));
});
}
};
exports.projectIp = {
name: 'projectIp',
message: 'Project IP [ex. 127.0.0.100]',
type: 'input',
validate: validator_1.validateIsIpV4
};
exports.confirmRemove = {
name: 'confirmRemove',
message: 'Are you sure you want to remove project?',
type: 'confirm'
};
exports.gitRepositorySelect = {
name: 'gitRepository',
message: 'Git repository',
type: 'list',
choices() {
const config = objectPath(system_1.readConfig());
let list = system_1.getDirectoryList(config.get('directory.repository'));
return list.filter(item => {
return !io_1.isFileExist(path.join(config.get('directory.repository'), item, '.cli.ignore'));
});
}
};
exports.linkTypeSelect = {
name: 'linkType',
message: 'Link type',
type: 'list',
choices() {
return ['Project', 'Module', 'Composer'];
}
};