UNPKG

webstorm-init

Version:

CLI tool to write initial WebStorm settings into a new project

56 lines 2.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.App = void 0; const react_1 = __importDefault(require("react")); const fs_extra_1 = __importDefault(require("fs-extra")); const pjson_1 = __importDefault(require("pjson")); const ink_1 = require("ink"); const Error_1 = require("../Error"); const Processing_1 = require("../Processing"); const Success_1 = require("../Success"); const version_1 = require("../../version"); const copyTemplate_1 = require("../../copyTemplate"); const Confirm_1 = require("../Confirm"); exports.App = ({ force, templatePath }) => { const [error, setError] = react_1.default.useState(""); const [state, setState] = react_1.default.useState("initializing"); const [template, setTemplate] = react_1.default.useState(""); react_1.default.useEffect(() => { fs_extra_1.default.pathExists(copyTemplate_1.IDEA).then((exists) => { setState(exists ? "confirm" : "copying"); }); }, []); react_1.default.useEffect(() => { if (state === "copying") { setState("processing"); copyTemplate_1.copyTemplate(templatePath) .then((template) => { setTemplate(template); setState("success"); }) .catch((err) => { setState("error"); setError(err.toString()); }); } }, [state]); const confirmProps = { confirm: force, idea: copyTemplate_1.IDEA, onConfirm: () => setState("copying"), scriptName: pjson_1.default.name, }; return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", height: 5 }, react_1.default.createElement(ink_1.Text, { color: "blue" }, "webstorm-init ", version_1.version), react_1.default.createElement(ink_1.Spacer, null), (state === "processing" || state === "initializing") && react_1.default.createElement(Processing_1.Processing, null), state === "success" && react_1.default.createElement(Success_1.Success, { template: template }), state === "confirm" && react_1.default.createElement(Confirm_1.Confirm, Object.assign({}, confirmProps)), state === "error" && react_1.default.createElement(Error_1.Error, null, error))); }; //# sourceMappingURL=index.js.map