a2r
Version:
A2R Framework
45 lines (44 loc) • 2.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const telemetry_1 = require("@a2r/telemetry");
const colors_1 = require("./colors");
const exec_1 = __importDefault(require("../tools/exec"));
const checkDependencies_1 = __importDefault(require("./checkDependencies"));
const ensureNpmInit_1 = __importDefault(require("./ensureNpmInit"));
const copyFilesFromTemplate_1 = __importDefault(require("./copyFilesFromTemplate"));
const getLatestVersion_1 = __importDefault(require("./getLatestVersion"));
const setup_1 = __importDefault(require("./setup"));
const settings_1 = require("../settings");
const init = async () => {
(0, colors_1.log)(`>>> Initializing project with ${colors_1.framework}`);
const check = await (0, checkDependencies_1.default)();
if (check) {
const workingDirectory = process.cwd();
await (0, ensureNpmInit_1.default)(workingDirectory);
await (0, copyFilesFromTemplate_1.default)(settings_1.mainTemplateFolder, workingDirectory);
const latestVersion = await (0, getLatestVersion_1.default)();
(0, colors_1.log)(`Installing ${colors_1.framework}...`);
await (0, exec_1.default)('npm', ['install', `a2r@${latestVersion}`, '--save-dev']);
(0, colors_1.log)(`Running ${(0, colors_1.terminalCommand)(`npm install`)}...`);
await (0, exec_1.default)('npm', ['install'], {
cwd: path_1.default.resolve(workingDirectory, 'server'),
});
await (0, setup_1.default)(workingDirectory, latestVersion);
(0, colors_1.log)(`<<< 👌 Project initialized successfully`);
}
else {
telemetry_1.out.error(`Some dependencies are missing`);
(0, colors_1.log)(`<<< 👎 Project can't be initialized`);
}
};
const command = {
name: 'init',
description: `Initializes the project for ${colors_1.framework}`,
run: init,
args: [],
};
exports.default = command;